From 092beb5632310e30f59f10a01326245137ff9b55 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 16 Jan 2024 15:11:40 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=94=9F=E6=88=90userNos=E4=B8=BA=E7=A9=BA=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/DevicePermissionService.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 9029e8f5..9bdfa3d0 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -24,10 +24,14 @@ public class DevicePermissionService : IDevicePermissionService { await GenerateDeviceTasksAsync(async () => { - await _dbContext.Client.Deleteable() - .Where(x => x.AssignType == reuqest.AssignType) - .Where(x => x.AssignValue == reuqest.AssignValue) - .ExecuteCommandAsync(); + + var p = await _dbContext.Queryable() + .Where(x => x.AssignType == reuqest.AssignType) + .Where(x => x.AssignValue == reuqest.AssignValue) + .Where(x => x.UniqueType == reuqest.UniqueType) + .ToListAsync(); + + await _dbContext.DeleteReallyAsync(p); var devicePermissions = reuqest.Codes.Select(x => new DevicePermissionEntity { @@ -35,6 +39,7 @@ public class DevicePermissionService : IDevicePermissionService AssignValue = reuqest.AssignValue, UniqueType = reuqest.UniqueType, UniqueValue = x, + }).ToList(); await _dbContext.InsertAsync(devicePermissions); @@ -93,7 +98,12 @@ public class DevicePermissionService : IDevicePermissionService //获取当前的权限code var currentDic = new Dictionary>(userNos.Count); - userNos = await GetPermissionUserNosAsync(); + var nextUserNos = await GetPermissionUserNosAsync(); + if (nextUserNos.Any()) + { + userNos = nextUserNos; + } + foreach (var userNo in userNos) { currentDic.TryAdd(userNo, await GetAssignDeviceCodesAsync(userNo));