diff --git a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs index c76808ce..f83c2d7e 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs @@ -1,21 +1,30 @@ +using Dlhis.Basic.Organization.Services; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Enums; +using Dlhis.Entity.Sys.Entities; namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze; [Service(PermissionAnalyzeConstants.Tenant)] public class TenantPermissionAnalyzeService : BasePermissionAnalyzeService { + private readonly IServiceProvider _serviceProvider; + /// public TenantPermissionAnalyzeService(IServiceProvider serviceProvider) : base(serviceProvider) { + _serviceProvider = serviceProvider; } /// protected override async Task> GetGainfoNosAsync(string assignValue) { + var setting = await _serviceProvider.GetService().GetFactorySettingAsync(assignValue, false); + return await DbContext.Queryable() - .Where(x => x.Factory == assignValue && x.Type != GainfoUserTypeEnumType.External && x.Type != GainfoUserTypeEnumType.Outsource) + .Where(x => x.Factory == assignValue) + .Where(x => x.Type != GainfoUserTypeEnumType.External) + .WhereIF(setting.EnableOutsourceDown == false, x => x.Type != GainfoUserTypeEnumType.Outsource) .Select(x => x.No).ToListAsync(); } } \ No newline at end of file