diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs index d704bfff..66d00009 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs @@ -4,6 +4,7 @@ using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.DataAccess.Dto; +using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -44,6 +45,18 @@ public class GainfoPermissionsController : ControllerBase return await _gainfoPermissions.GetAssignDeviceCodesAsync(request); } + /// + /// 获取用户所有设备权限(all) + /// + /// + /// + [HttpGet("assignDeviceCodes-all")] + [IgnoreTenant] + public async Task> GetAssignDeviceCodesAllAsync([FromQuery] DeviceAssUserCodeRequest request) + { + return await _gainfoPermissions.GetAssignDeviceCodesAsync(request); + } + /// /// 权限重置 /// diff --git a/Src/Dlhis.Basic/Organization/Request/DeviceAssRequest.cs b/Src/Dlhis.Basic/Organization/Request/DeviceAssRequest.cs index d537e60f..32bb9480 100644 --- a/Src/Dlhis.Basic/Organization/Request/DeviceAssRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/DeviceAssRequest.cs @@ -15,3 +15,15 @@ public class DeviceAssRequest : PageDto [EnumDataType(typeof(DeviceTypeEnumType))] public DeviceTypeEnumType? DeviceType { get; set; } } + +public class DeviceAssUserCodeRequest : PageDto +{ + [Required(ErrorMessage = "工号不能为空")] + public string UserCode { get; set; } + + /// + /// 设备类型 + /// + [EnumDataType(typeof(DeviceTypeEnumType))] + public DeviceTypeEnumType? DeviceType { get; set; } +} \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs index b3729bf3..706d6710 100644 --- a/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs @@ -12,6 +12,9 @@ public interface IGainfoPermissionService : IScopeDependency Task> GetDevicesUnderGroupByUserNoAsync(string userNo, Guid deviceGroupCode); Task> GetAssignDeviceCodesAsync(DeviceAssRequest request); + + Task> GetAssignDeviceCodesAsync(DeviceAssUserCodeRequest request); + Task ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, List deviceCodes, string source); } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs index a5e9dad1..66fb4f79 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs @@ -77,6 +77,22 @@ public class GainfoPermissionService : IGainfoPermissionService }).ToList(); } + /// + public async Task> GetAssignDeviceCodesAsync(DeviceAssUserCodeRequest request) + { + var gainfo = await _dbContext.Queryable().Where(x => x.Code == request.UserCode).SingleAsync(); + gainfo.ThrowIfNull($"{request.UserCode}人员不存在"); + return await GetAssignDeviceCodesAsync(new DeviceAssRequest + { + PageIndex = request.PageSize, + PageSize = request.PageSize, + Search = request.Search, + UserNo = gainfo.No, + DeviceType = request.DeviceType + }); + } + + public async Task> GetAssignDeviceCodesAsync(DeviceAssRequest request) { var result = await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(new List { request.UserNo }); @@ -147,6 +163,8 @@ public class GainfoPermissionService : IGainfoPermissionService return page; } + + // // public async Task> GetAllUserAssignDeviceCodesAsync() // {