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