Files
jinko.yikatong/Src/Dlhis.Basic/Device/Services/IDevicePermissionAnalyzeService.cs
2025-06-11 17:03:07 +08:00

55 lines
1.9 KiB
C#

using Dlhis.Basic.Device.Dtos;
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Organization.Dto;
using Dlhis.Entity.Sys.Entities;
using Dlhis.Entity.Sys.Enums;
namespace Dlhis.Basic.Device.Services;
/// <summary>
/// 权限数据分析
/// </summary>
public interface IDevicePermissionAnalyzeService : IScopeDependency
{
/// <summary>
/// 获取存储的设备权限(原始数据)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<List<DevicePermissionEntity>> GetDevicePermissionsAsync(DevicePermissionSaveRequest request);
/// <summary>
/// 获取设备权限codes(原始数据)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<List<Guid>> GetAssignmentsAsync(DeviceGetAssignmentsRequest request);
/// <summary>
/// 获取设备分配的人(按人员)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<List<GainfoDto>> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request);
/// <summary>
/// 获取人员所有权限codes
/// </summary>
/// <param name="userNo"></param>
/// <returns></returns>
Task<List<Guid>> GetUserPermissionDeviceCodesAsync(string userNo);
/// <summary>
/// 获取人员权限(人员--(厂区--分配方式--设备codes))
/// </summary>
/// <param name="userNos"></param>
/// <param name="ignoreUniqueType">忽略设备/设备组;</param>
/// <param name="ignoreAssignValue"></param>
/// <param name="ignoreAssignType"></param>
/// <returns></returns>
Task<Dictionary<string, List<TenantAssignTypeDeviceCode>>> GetUserAssignDeviceCodesWithTypeInTenantAsync(
List<string> userNos,
DeviceAssignmentTypeEnumType? ignoreUniqueType = null,
string ignoreAssignValue = null, AssignTypeEnumType? ignoreAssignType = null
);
}