feat 获取设备权限人员接口
This commit is contained in:
@@ -70,6 +70,18 @@ public class DevicePermissionsController : ControllerBase
|
|||||||
{
|
{
|
||||||
return await _devicePermissionService.GetAssignmentsAsync(request.UniqueType, request.AssignType, request.AssignValue);
|
return await _devicePermissionService.GetAssignmentsAsync(request.UniqueType, request.AssignType, request.AssignValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前类型的权限分配
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[DataPermission]
|
||||||
|
[HttpGet("assignments-unique")]
|
||||||
|
public async Task<List<GainfoDto>> GetAssignmentUniqueAsync([FromQuery] DeviceGetAssignmentUniquesRequest request)
|
||||||
|
{
|
||||||
|
return await _devicePermissionService.GetAssignmentUniqueAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -27,4 +27,18 @@ public class DeviceGetAssignmentsRequest
|
|||||||
/// 设备类型
|
/// 设备类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DeviceTypeEnumType Type { get; set; }
|
public DeviceTypeEnumType Type { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class DeviceGetAssignmentUniquesRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 权限分配类型 DeviceAssignmentTypeEnumType
|
||||||
|
/// </summary>
|
||||||
|
[EnumDataType(typeof(DeviceAssignmentTypeEnumType))]
|
||||||
|
public DeviceAssignmentTypeEnumType UniqueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public Guid UniqueValue { get; set; }
|
||||||
}
|
}
|
||||||
@@ -34,6 +34,8 @@ public interface IDevicePermissionService : IScopeDependency
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<Guid>> GetAssignmentsAsync(DeviceAssignmentTypeEnumType uniqueType, AssignTypeEnumType assignType, string assignValue);
|
Task<List<Guid>> GetAssignmentsAsync(DeviceAssignmentTypeEnumType uniqueType, AssignTypeEnumType assignType, string assignValue);
|
||||||
|
|
||||||
|
Task<List<GainfoDto>> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request);
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 生成下发任务
|
/// 生成下发任务
|
||||||
|
|||||||
@@ -180,6 +180,26 @@ public class DevicePermissionService : IDevicePermissionService
|
|||||||
return result.FirstOrDefault(x => x.Tenant == _currentUser.GetStringTenantId())?.Codes;
|
return result.FirstOrDefault(x => x.Tenant == _currentUser.GetStringTenantId())?.Codes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task<List<GainfoDto>> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request)
|
||||||
|
{
|
||||||
|
var nos = await _dbContext.Queryable<DevicePermissionEntity>()
|
||||||
|
.Where(x => x.UniqueType == request.UniqueType)
|
||||||
|
.Where(x => x.UniqueValue == request.UniqueValue)
|
||||||
|
.Where(x => x.AssignType == AssignTypeEnumType.User)
|
||||||
|
.Select(x => x.AssignValue)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
return await _dbContext.Queryable<GainfoEntity>().Where(x => nos.Contains(x.No)).Select(x => new GainfoDto
|
||||||
|
{
|
||||||
|
Id = x.Id,
|
||||||
|
Code = x.Code,
|
||||||
|
Name = x.Name,
|
||||||
|
Workplace = x.Workplace,
|
||||||
|
Factory = x.Factory
|
||||||
|
}).ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task GenerateDeviceTasksAsync(Func<Task> func, List<string> userNos)
|
public async Task GenerateDeviceTasksAsync(Func<Task> func, List<string> userNos)
|
||||||
{
|
{
|
||||||
var tenantId = _currentUser.GetStringTenantId();
|
var tenantId = _currentUser.GetStringTenantId();
|
||||||
|
|||||||
Reference in New Issue
Block a user