diff --git a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs index c040d3bf..b7a655aa 100644 --- a/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs +++ b/Src/Dlhis.Basic/Device/Controllers/DevicePermissionsController.cs @@ -1,4 +1,5 @@ -using Dlhis.Basic.Device.Filters; +using Dlhis.Basic.Device.Dtos; +using Dlhis.Basic.Device.Filters; using Dlhis.Basic.Device.Request; using Dlhis.Basic.Device.Response; using Dlhis.Basic.Device.Services; @@ -100,11 +101,18 @@ public class DevicePermissionsController : ControllerBase { await _devicePermissionService.ResetGainfoPageByDeviceAsync(request.Code); } - + [HttpGet("userPermissionCodes")] [IgnoreTenant] public async Task> GetAssignDeviceCodesAsync(string userCode) { return await _devicePermissionService.GetUserDeviceCodesByNoAsync(userCode); } + + + [HttpGet("test-userPermissionCodes")] + public async Task>> GetTestAssignDeviceCodesAsync(string userNo) + { + return await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(new List { userNo }); + } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 838dd230..605371b4 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -62,7 +62,7 @@ public class DevicePermissionService : IDevicePermissionService .Where(x => x.TenantId == currentTenantId) .ToListAsync(); - var beforeUserNos = dps.Select(x => x.AssignValue).ToList(); + var beforeUserNos = dps.Select(x => x.AssignValue).Distinct().ToList(); var presentUserNos = new List(); if (request.Values.IsPresent()) @@ -88,7 +88,7 @@ public class DevicePermissionService : IDevicePermissionService var usersToDelete = beforeUserNos.Except(presentUserNos).ToList(); var userTenantDeviceCodes = usersToDelete.IsPresent() - ? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(beforeUserNos.Union(presentUserNos).ToList()) + ? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(beforeUserNos.Concat(presentUserNos).Distinct().ToList()) : new Dictionary>(); tasksToAdd.AddRange(usersToAdd.Select(userNo => new DeviceTaskEntity