From 2061484ee121944ab379db5cc145231fcbf9aa61 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 14 Jun 2024 20:02:51 +0800 Subject: [PATCH] test . --- .../DevicePermissionsController.cs | 14 --- .../Request/DeviceGetAssignmentsRequest.cs | 8 +- .../Services/IDevicePermissionService.cs | 4 - .../Implements/DevicePermissionService.cs | 106 +----------------- 4 files changed, 11 insertions(+), 121 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs index 40847369..30aa905b 100644 --- a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs +++ b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs @@ -119,18 +119,4 @@ public class DevicePermissionsController : ControllerBase { return await _devicePermissionService.GetGainfoPageByDeviceAsync(request); } - - [DataPermission] - [HttpGet("test")] - public async Task GetTextData() - { - await _devicePermissionService.GetTestData(); - } - - [DataPermission] - [HttpGet("test/user")] - public async Task GetTestUserNoData() - { - await _devicePermissionService.GetTestUserNoData(); - } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs index 9d4f4114..f0798dfe 100644 --- a/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs @@ -1,5 +1,6 @@ using Dlhis.Entity.Sys.Enums; using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Device.Enums; namespace Dlhis.Basic.Device.Request; @@ -21,4 +22,9 @@ public class DeviceGetAssignmentsRequest /// 分配值 /// public string AssignValue { get; set; } -} + + /// + /// 设备类型 + /// + public DeviceTypeEnumType Type { get; set; } +} \ 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 52b7a09f..c23de1c5 100644 --- a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs @@ -9,10 +9,6 @@ namespace Dlhis.Basic.Device.Services; public interface IDevicePermissionService : IScopeDependency { - Task GetTestData(); - - Task GetTestUserNoData(); - /// /// 保存设备权限 /// diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 8565b1a1..629f8394 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -154,104 +154,6 @@ 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 GetTestUserNoData() - { - var userNos = new List(); - _dbContext.Client.QueryFilter.ClearAndBackup(); - try - { - //获取所有人的权限 - if (userNos.IsEmpty()) - userNos = await GetPermissionUserNosAsync(); - - var before = await GetAssignDeviceCodesInternalAsync(userNos); - - //获取业务处理后所有人的权限 - var nextUserNos = await GetPermissionUserNosAsync(); - if (nextUserNos.Any()) - userNos = userNos.Concat(nextUserNos).Distinct().ToList(); - - var current = await GetAssignDeviceCodesInternalAsync(userNos); - - var devices = await _dbContext.Queryable().Where(x => x.Enable).ToListAsync(); - - foreach (var userNo in userNos) - { - before.TryGetValue(userNo, out var beforeTenantDeviceCodes); - beforeTenantDeviceCodes ??= new(); - - current.TryGetValue(userNo, out var currentTenantDeviceCodes); - currentTenantDeviceCodes ??= new(); - - var tenants = beforeTenantDeviceCodes.Select(x => x.Tenant).Concat(currentTenantDeviceCodes.Select(x => x.Tenant)).Distinct().ToList(); - - foreach (var tenant in tenants) - { - var currentCodes = currentTenantDeviceCodes.FirstOrDefault(x => x.Tenant == tenant)?.Codes ?? new(); - var beforeCodes = beforeTenantDeviceCodes.FirstOrDefault(x => x.Tenant == tenant)?.Codes ?? new(); - - //被删除 - var deletedItems = beforeCodes.Where(x => !currentCodes.Contains(x)).ToList(); - //新增 - var addItems = currentCodes.Where(x => !beforeCodes.Contains(x)).ToList(); - - if (!deletedItems.Any() && !addItems.Any()) - { - continue; - } - - var deviceCodes = devices.Where(x => deletedItems.Contains(x.Code) || addItems.Contains(x.Code)).Select(x => x.Code).ToList(); - deletedItems = deletedItems.Where(x => deviceCodes.Contains(x)).ToList(); - addItems = addItems.Where(x => deviceCodes.Contains(x)).ToList(); - - //下发任务创建 - var toDeleted = deletedItems.Select(x => new DeviceTaskEntity - { - DeviceUniqueNo = devices.First(item => item.Code == x).UniqueNo, - Status = DeviceTaskStatusEnumType.Wait, - Type = DeviceTaskEnumType.Delete, - CancellationId = 0, - DeviceType = devices.First(item => item.Code == x).Type, - UserNo = userNo, - Version = 0, - TenantId = tenant, - }).ToList(); - - var toAdd = addItems.Select(x => new DeviceTaskEntity - { - DeviceUniqueNo = devices.First(item => item.Code == x).UniqueNo, - Status = DeviceTaskStatusEnumType.Wait, - Type = DeviceTaskEnumType.Add, - DeviceType = devices.First(item => item.Code == x).Type, - UserNo = userNo, - Version = 0, - TenantId = tenant, - }).ToList(); - } - } - } - finally - { - _dbContext.Client.QueryFilter.Restore(); - } - - return null; - } - - public async Task GenerateDeviceTasksAsync(Func func, List userNos) { //获取所有人的权限 @@ -338,10 +240,10 @@ public class DevicePermissionService : IDevicePermissionService } _logger.LogInformation("任务产生数量{count}", waitTasks.Count); - if (waitTasks.Any()) - { - await _dbContext.InsertAsync(waitTasks); - } + // if (waitTasks.Any()) + // { + // await _dbContext.InsertAsync(waitTasks); + // } } public async Task GetPermissionUsersInfoAsync(List userNos)