From 61562a813765af48e53acee32ebce45ec4f94085 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 14 Jun 2024 16:45:49 +0800 Subject: [PATCH] =?UTF-8?q?test=20=E6=B5=8B=E8=AF=95=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=B1=B1=E8=A5=BF=E6=95=B0=E6=8D=AE=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/DevicePermissionsController.cs | 8 ++++++++ .../Device/Services/IDevicePermissionService.cs | 2 ++ .../Implements/DevicePermissionService.cs | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs index 30aa905b..d0c053b9 100644 --- a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs +++ b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs @@ -119,4 +119,12 @@ public class DevicePermissionsController : ControllerBase { return await _devicePermissionService.GetGainfoPageByDeviceAsync(request); } + + [AllowAnonymous] + [DataPermission] + [HttpGet("test")] + public async Task GetTextData() + { + return await _devicePermissionService.GetTestData(); + } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs index c23de1c5..2d9d859d 100644 --- a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs @@ -9,6 +9,8 @@ namespace Dlhis.Basic.Device.Services; public interface IDevicePermissionService : IScopeDependency { + Task GetTestData(); + /// /// 保存设备权限 /// diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 73adb9eb..f3ff98cd 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -152,6 +152,18 @@ public class DevicePermissionService : IDevicePermissionService return result.FirstOrDefault(x => x.Tenant == _currentUser.GetStringTenantId())?.Codes; } + public async Task GetTestData() + { + var userNos = new List(); + //获取所有人的权限 + if (userNos.IsEmpty()) + userNos = await GetPermissionUserNosAsync(); + + var before = await GetAssignDeviceCodesInternalAsync(userNos); + + return before; + } + public async Task GenerateDeviceTasksAsync(Func func, List userNos) { @@ -477,7 +489,7 @@ public class DevicePermissionService : IDevicePermissionService var userNosByDepartment = await _dbContext.Queryable().Where(x => departmentNos.Contains(x.DepartmentNo)).Select(x => x.No).ToListAsync(); //Tenant - var tenants = permissions.Where(x => x.AssignType == AssignTypeEnumType.Tenant).Select(x => x.AssignValue).ToList(); + var tenants = permissions.Where(x => x.AssignType == AssignTypeEnumType.Tenant).Select(x => x.AssignValue).Distinct().ToList(); var userNosByWerk = await _dbContext.Queryable().Where(x => tenants.Contains(x.Factory)).Select(x => x.No).ToListAsync(); return userNos.Concat(userNosByGroup).Concat(userNosByDepartment).Concat(userNosByWerk).Distinct().ToList(); @@ -492,7 +504,7 @@ public class DevicePermissionService : IDevicePermissionService .Where(x => x.AssignType == assignType) .Where(x => x.AssignValue == assignValue) .GroupBy(x => x.TenantId) - .Select(x => new UserTenantDeviceCodeDto { Tenant = x.Key, Codes = x.Select(x => x.UniqueValue).ToList() }) + .Select(x => new UserTenantDeviceCodeDto { Tenant = x.Key, Codes = x.Select(p => p.UniqueValue).ToList() }) .ToList(); //处理获取设备分组的情况