From 8ae685cafb18fa2532ce214fcc5285a44db826d5 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 16 Aug 2024 14:48:26 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=A4=84=E7=90=86=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=88=86=E7=BB=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataPermissions/GetDataPermissionService.cs | 17 +++++++++++------ .../Services/Implements/DeviceGroupService.cs | 6 +++--- .../DeviceCodeAttribute.cs | 2 +- .../DeviceGroupCodeAttribute.cs | 2 +- Src/Dlhis.Entity/Basic/Entity/DeviceEntity.cs | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Src/Dlhis.Basic/DataPermissions/GetDataPermissionService.cs b/Src/Dlhis.Basic/DataPermissions/GetDataPermissionService.cs index a7895af3..10ee320c 100644 --- a/Src/Dlhis.Basic/DataPermissions/GetDataPermissionService.cs +++ b/Src/Dlhis.Basic/DataPermissions/GetDataPermissionService.cs @@ -1,3 +1,4 @@ +using Dlhis.DataPermission.Model; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Device.Entities; using Dlhis.Entity.Sys.Entities; @@ -52,19 +53,23 @@ public class GetDataPermissionService : IGetDataPermissions, ISingletonDependenc //先计算分组权限下的设备 var deviceGroupCodes = userDataPermissions.Where(x => x.UniqueType == DeviceAssignmentTypeEnumType.Group).Select(x => x.UniqueValue).ToList(); - if (deviceGroupCodes.Any() && deviceCodeProperty != null) + if (deviceGroupCodes.Any()) { var data = db.Queryable().ToList(); //开始递归处理 var tops = data.Where(x => !x.PCode.HasValue).ToList(); tops.ForEach(x => { DeviceGroupRecursionGetNext(x, data, deviceGroupCodes, deviceGroupCodes.Contains(x.Code)); }); deviceGroupCodes = deviceGroupCodes.Distinct().ToList(); - deviceCodes = db.Queryable().Where(x => deviceGroupCodes.Contains(x.GroupCode)).Select(x => x.DeviceCode).ToList(); - } - if (deviceGroupCodeProperty != null && deviceGroupCodes.Any()) - { - dict.Add(deviceGroupCodeProperty.Name, deviceGroupCodes); + if (deviceCodeProperty != null) + { + deviceCodes = db.Queryable().Where(x => deviceGroupCodes.Contains(x.GroupCode)).Select(x => x.DeviceCode).ToList(); + } + + if (deviceGroupCodeProperty != null) + { + dict.Add(deviceGroupCodeProperty.Name, deviceGroupCodes); + } } if (deviceCodeProperty != null) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs index 813c5839..a18aa97e 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs @@ -43,11 +43,12 @@ public class DeviceGroupService : IDeviceGroupService .Select() .ToListAsync(); - var others = await _dbContext.Queryable() + var others = await _dbContext.Client.Queryable() .Where(x => x.Type == type) .Where(x => x.Name == "*共用区域" || x.Name == "*非共用区域" || x.Name == "*通用考勤设备组" || x.Name == "*专用考勤设备组") .Select() .ToListAsync(); + deviceGroups.AddRange(others); var tops = deviceGroups.Where(x => !x.PCode.HasValue).ToList(); @@ -167,7 +168,7 @@ public class DeviceGroupService : IDeviceGroupService /// /// /// - private async Task CheckPCodeAsync(DeviceGroupSaveRequest request) + private async Task CheckPCodeAsync(DeviceGroupSaveRequest request) { var pGrp = await _dbContext.Queryable().Where(x => x.Code == request.PCode).FirstAsync(); if (pGrp != null) @@ -178,7 +179,6 @@ public class DeviceGroupService : IDeviceGroupService } (pGrp != null && pGrp.Type != request.Type).ThrowIfTrue("分组类型必须与上级类型保持一致"); - return pGrp; } /// diff --git a/Src/Dlhis.DataPermission.Model/DeviceCodeAttribute.cs b/Src/Dlhis.DataPermission.Model/DeviceCodeAttribute.cs index 764d995b..a243b0b2 100644 --- a/Src/Dlhis.DataPermission.Model/DeviceCodeAttribute.cs +++ b/Src/Dlhis.DataPermission.Model/DeviceCodeAttribute.cs @@ -1,6 +1,6 @@ using Kurisu.AspNetCore.DataAccess.SqlSugar.Attributes; -namespace Dlhis.Basic.DataPermissions; +namespace Dlhis.DataPermission.Model; [AttributeUsage(AttributeTargets.Property)] public class DeviceCodeAttribute : BaseDataPermissionAttribute diff --git a/Src/Dlhis.DataPermission.Model/DeviceGroupCodeAttribute.cs b/Src/Dlhis.DataPermission.Model/DeviceGroupCodeAttribute.cs index 3f232bc4..90705a34 100644 --- a/Src/Dlhis.DataPermission.Model/DeviceGroupCodeAttribute.cs +++ b/Src/Dlhis.DataPermission.Model/DeviceGroupCodeAttribute.cs @@ -1,6 +1,6 @@ using Kurisu.AspNetCore.DataAccess.SqlSugar.Attributes; -namespace Dlhis.Basic.DataPermissions; +namespace Dlhis.DataPermission.Model; [AttributeUsage(AttributeTargets.Property)] public class DeviceGroupCodeAttribute : BaseDataPermissionAttribute diff --git a/Src/Dlhis.Entity/Basic/Entity/DeviceEntity.cs b/Src/Dlhis.Entity/Basic/Entity/DeviceEntity.cs index a1d431a3..44bde49a 100644 --- a/Src/Dlhis.Entity/Basic/Entity/DeviceEntity.cs +++ b/Src/Dlhis.Entity/Basic/Entity/DeviceEntity.cs @@ -1,4 +1,4 @@ -using Dlhis.Basic.DataPermissions; +using Dlhis.DataPermission.Model; using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.DataAccess.Entity; using Kurisu.AspNetCore.DataAccess.SqlSugar;