From fe807d609b40453c45da359ce06dc51fb835671d Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 25 Mar 2025 16:34:37 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/BasePermissionAnalyzeService.cs | 5 +++-- .../DepartmentPermissionAnalyzeService.cs | 3 ++- .../GroupPermissionAnalyzeService.cs | 12 ++++++++---- .../TenantPermissionAnalyzeService.cs | 4 +++- .../UserPermissionAnalyzeService.cs | 4 +++- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/BasePermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/BasePermissionAnalyzeService.cs index 3ec41f3b..3e7dae5b 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/BasePermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/BasePermissionAnalyzeService.cs @@ -57,7 +57,7 @@ public abstract class BasePermissionAnalyzeService : IPermissionAnalyzeService var devicesToAdd = await DbContext.Queryable().Where(x => codesToAdd.Contains(x.Code)).Distinct().ToListAsync(); var devicesToDelete = await DbContext.Queryable().Where(x => codesToDelete.Contains(x.Code)).Distinct().ToListAsync(); - var gainfoNos = await GetGainfoNosAsync(request.GetActualAssignValue()); + var gainfoNos = await GetGainfoNosAsync(request.GetActualAssignValue(), request.Type); var userTenantDeviceCodes = devicesToDelete.IsPresent() && request.AssignType != AssignTypeEnumType.Tenant ? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(gainfoNos, request.UniqueType, request.GetActualAssignValue(), request.AssignType) @@ -120,8 +120,9 @@ public abstract class BasePermissionAnalyzeService : IPermissionAnalyzeService /// 获取分配当前类型关联的用户 /// /// + /// /// - protected abstract Task> GetGainfoNosAsync(string assignValue); + protected abstract Task> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType); //************************************************************************************************************************ diff --git a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/DepartmentPermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/DepartmentPermissionAnalyzeService.cs index 6a96a821..67eb7d5f 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/DepartmentPermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/DepartmentPermissionAnalyzeService.cs @@ -1,4 +1,5 @@ using Dlhis.Entity.Basic.Entity; +using Dlhis.Entity.Device.Enums; namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze; @@ -11,7 +12,7 @@ public class DepartmentPermissionAnalyzeService : BasePermissionAnalyzeService } /// - protected override async Task> GetGainfoNosAsync(string assignValue) + protected override async Task> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType) { var data = assignValue.Split(":"); var factory = data[0]; diff --git a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/GroupPermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/GroupPermissionAnalyzeService.cs index 4cb72cf9..f510cbf5 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/GroupPermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/GroupPermissionAnalyzeService.cs @@ -1,17 +1,19 @@ using Dlhis.Entity.Basic.Entity; +using Dlhis.Entity.Device.Enums; namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze; [Service(PermissionAnalyzeConstants.Group)] public class GroupPermissionAnalyzeService : BasePermissionAnalyzeService { + /// public GroupPermissionAnalyzeService(IServiceProvider serviceProvider) : base(serviceProvider) { } /// - protected override async Task> GetGainfoNosAsync(string assignValue) + protected override async Task> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType) { var code = Guid.Parse(assignValue); @@ -23,8 +25,10 @@ public class GroupPermissionAnalyzeService : BasePermissionAnalyzeService .Select(x => x.UserNo) .Distinct() .ToListAsync(); - - - return await DbContext.Queryable().Where(x => gainfoUserNos.Contains(x.No)).Select(x => x.No).ToListAsync(); + + return await DbContext.Queryable() + .Where(x => gainfoUserNos.Contains(x.No)) + .Select(x => x.No) + .ToListAsync(); } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs index f83c2d7e..2e9b3d14 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/TenantPermissionAnalyzeService.cs @@ -1,6 +1,7 @@ using Dlhis.Basic.Organization.Services; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Enums; +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Entities; namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze; @@ -17,13 +18,14 @@ public class TenantPermissionAnalyzeService : BasePermissionAnalyzeService } /// - protected override async Task> GetGainfoNosAsync(string assignValue) + protected override async Task> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType) { var setting = await _serviceProvider.GetService().GetFactorySettingAsync(assignValue, false); return await DbContext.Queryable() .Where(x => x.Factory == assignValue) .Where(x => x.Type != GainfoUserTypeEnumType.External) + .WhereIF(deviceType != DeviceTypeEnumType.Door, x => x.Type != GainfoUserTypeEnumType.Outsource) .WhereIF(setting.EnableOutsourceDown == false, x => x.Type != GainfoUserTypeEnumType.Outsource) .Select(x => x.No).ToListAsync(); } diff --git a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/UserPermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/UserPermissionAnalyzeService.cs index 3e819ae4..6afed37f 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/UserPermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/UserPermissionAnalyzeService.cs @@ -1,3 +1,5 @@ +using Dlhis.Entity.Device.Enums; + namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze; [Service(PermissionAnalyzeConstants.User)] @@ -9,7 +11,7 @@ public class UserPermissionAnalyzeService : BasePermissionAnalyzeService } /// - protected override async Task> GetGainfoNosAsync(string assignValue) + protected override async Task> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType) { return await Task.FromResult(new List { assignValue }); }