diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index a9378d4f..29a4656c 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -95,7 +95,7 @@ public class DevicePermissionService : IDevicePermissionService await GenerateDeviceTasksAsync(async () => { var tenantId = _currentUser.GetStringTenantId(); - + //删除当前匹配的基地权限 var p = await _dbContext.Queryable() .Where(x => x.UniqueType == request.UniqueType) @@ -109,7 +109,10 @@ public class DevicePermissionService : IDevicePermissionService //保存配置的权限 if (request.Values.IsPresent()) { - var devicePermissions = request.Values.Select(v => new DevicePermissionEntity + var gainfoNos = await _dbContext.Queryable().Where(x => request.Values.Contains(x.Code)).Select(x => x.No).ToListAsync(); + (gainfoNos.Count != request.Values.Count).ThrowIfTrue("存在非当前权限访问的人员,操作禁止!"); + + var devicePermissions = gainfoNos.Select(v => new DevicePermissionEntity { UniqueType = request.UniqueType, UniqueValue = request.UniqueValue, @@ -120,7 +123,6 @@ public class DevicePermissionService : IDevicePermissionService await _dbContext.InsertAsync(devicePermissions); } - }, null); }