From ef18e20adfe56bc5def8d63ecd6c81c85386fe6d Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 24 Jun 2024 17:52:19 +0800 Subject: [PATCH] =?UTF-8?q?fix=20code/no=E5=8C=85=E5=90=AB=E6=9F=A5?= =?UTF-8?q?=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/DevicePermissionService.cs | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 40fd48cc..1c870be0 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -109,7 +109,11 @@ public class DevicePermissionService : IDevicePermissionService //保存配置的权限 if (request.Values.IsPresent()) { - var gainfoNos = await _dbContext.Queryable().Where(x => request.Values.Contains(x.Code)).Select(x => x.No).ToListAsync(); + var gainfoNos = await _dbContext.Queryable() + .Where(x => request.Values.Contains(x.Code) || request.Values.Contains(x.No)) + .Select(x => x.No) + .ToListAsync(); + (gainfoNos.Count != request.Values.Count).ThrowIfTrue("存在非当前权限访问的人员,操作禁止!"); var devicePermissions = gainfoNos.Select(v => new DevicePermissionEntity @@ -409,23 +413,23 @@ public class DevicePermissionService : IDevicePermissionService ids.Add(await _dbContext.Queryable().Where(x => x.No == permission.AssignValue).Select(x => x.Id).SingleAsync()); break; case AssignTypeEnumType.Group: - { - var code = Guid.Parse(permission.AssignValue); - ids.AddRange(await _dbContext.Queryable().Where(x => x.Code == code) - .LeftJoin((a, b) => a.Code == b.GroupCode) - .LeftJoin((a, b, c) => b.UserNo == c.No) - .Select((a, b, c) => c.Id).ToListAsync()); - } + { + var code = Guid.Parse(permission.AssignValue); + ids.AddRange(await _dbContext.Queryable().Where(x => x.Code == code) + .LeftJoin((a, b) => a.Code == b.GroupCode) + .LeftJoin((a, b, c) => b.UserNo == c.No) + .Select((a, b, c) => c.Id).ToListAsync()); + } break; case AssignTypeEnumType.Department: - { - ids.AddRange(await _dbContext.Queryable().Where(x => x.DepartmentNo == permission.AssignValue).Select(x => x.Id).ToListAsync()); - } + { + ids.AddRange(await _dbContext.Queryable().Where(x => x.DepartmentNo == permission.AssignValue).Select(x => x.Id).ToListAsync()); + } break; case AssignTypeEnumType.Tenant: - { - ids.AddRange(await _dbContext.Queryable().Where(x => x.Factory == permission.AssignValue).Select(x => x.Id).ToListAsync()); - } + { + ids.AddRange(await _dbContext.Queryable().Where(x => x.Factory == permission.AssignValue).Select(x => x.Id).ToListAsync()); + } break; default: throw new ArgumentOutOfRangeException();