using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
using Kurisu.AspNetCore.DataAccess.Dto;
namespace Dlhis.Basic.Device.Services;
///
/// 例外人员权限分配服务接口,定义了对设备权限进行手动分配、查询及清理的相关操作。
///
public interface IDevicePermissionManuallyService : IScopeDependency
{
///
/// 获取例外分配的分页数据。
///
/// 分页及筛选请求参数。
/// 包含例外分配信息的分页结果。
Task> GetPageAsync(DevicePermissionManuallyRequest requestDto);
///
/// 添加新的例外分配记录。
///
/// 例外分配添加请求参数。
/// 异步操作任务。
Task AddAsync(DevicePermissionManuallyAddRequest request);
///
/// 根据主键删除指定的例外分配记录。
///
/// 要删除的记录主键ID。
/// 异步操作任务。
Task DeleteAsync(long id);
///
/// 批量删除例外分配记录。
///
/// 要删除的记录主键ID集合。
/// 异步操作任务。
Task DeleteAsync(List ids);
///
/// 清除指定用户的所有设备例外权限。
///
/// 用户编号。
/// 异步操作任务。
Task ClearUserDeviceManuallyPermissionsAsync(string userNo);
///
/// 清除指定工厂下指定用户的所有设备权限。
///
/// 工厂编码。
/// 用户编码。
/// 异步操作任务。
Task ClearAllDevicePermissions(string factory, string userCode);
}