using Dlhis.Basic.Device.Dtos;
using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
using Dlhis.Basic.Organization.Dto;
using Dlhis.Entity.Device.Enums;
using Kurisu.AspNetCore.DataAccess.Dto;
namespace Dlhis.Basic.Device.Services;
public interface IDevicePermissionService : IScopeDependency
{
///
/// 保存设备权限
///
///
///
Task AssignAsync(DevicePermissionSaveRequest request);
///
/// 分配到设备
///
///
///
Task AssignToUniqueAsync(DevicePermissionsAssignToDeviceRequest request);
///
/// 获取分配的权限
///
///
Task> GetAssignmentsAsync(DeviceGetAssignmentsRequest request);
Task> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request);
Task>> GetUserDevicePermissionsAsync(string code);
///
/// 生成下发任务
///
///
///
///
Task GenerateDeviceTasksAsync(Func func, List userNos);
///
/// 生成下发任务(主动生成)
///
///
///
///
///
Task GenerateDeviceTasksAsync(string userNo, DeviceTaskEnumType taskType, DeviceTaskSourceEnumType source);
///
/// 获取用户所有设备权限
///
///
///
Task> GetAssignDeviceCodesAsync(string userCode);
Task> GetGainfoPageByDeviceAsync(DeviceWithGainfoRequest request);
}