From 6684f0792526d6e20f92df0d008dddcb180a2ede Mon Sep 17 00:00:00 2001 From: liguoyang Date: Wed, 11 Dec 2024 18:11:37 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=94=A8=E6=88=B7=E7=BB=84=E5=88=86?= =?UTF-8?q?=E9=85=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implements/GainfoGroupService.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs index 99df36c5..49609e4b 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs @@ -158,7 +158,7 @@ public class GainfoGroupService : IGainfoGroupService var devices = await _dbContext.Queryable().Where(x => deviceCodes.Contains(x.Code)).ToListAsync(); var userTenantDeviceCodes = usersToDelete.IsPresent() && dps.Exists(x => x.AssignType != AssignTypeEnumType.Tenant) - ? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(beforeUserNos.Union(presentUserNos).ToList(), null, groupCode.ToString(), AssignTypeEnumType.Group) + ? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(beforeUserNos.Union(presentUserNos).ToList()) : new Dictionary>(); var addTasks = new List(); @@ -167,7 +167,13 @@ public class GainfoGroupService : IGainfoGroupService { foreach (var item in usersToDelete) { - var myDeviceCodes = userTenantDeviceCodes[item].SelectMany(x => x.AssignTypes).SelectMany(x => x.Codes); + var permissions = userTenantDeviceCodes[item].ToList(); + foreach (var permission in permissions) + { + permission.AssignTypes = permission.AssignTypes.Where(p => !gainfoGroupCodes.Contains(p.AssignValue)).ToList(); + } + + var myDeviceCodes = permissions.SelectMany(x => x.AssignTypes).SelectMany(x => x.Codes); if (myDeviceCodes.Any(x => x == device.Code)) { continue;