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));