using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
using Dlhis.Entity.Basic.Enums;
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 AssignToUniqueImportAsync(IFormFile file);
///
/// 生成下发任务(主动生成)
///
///
///
///
///
Task GenerateDeviceTasksAsync(string userNo, DeviceTaskEnumType taskType, string source);
///
/// 获取用户所有设备权限
///
///
///
Task> GetUserDeviceCodesByNoAsync(string userNo);
Task> GetGainfoPageByDeviceAsync(DeviceWithGainfoRequest request);
///
/// 重新下发设备中人员
///
///
///
///
///
Task ResetGainfoPageByDeviceAsync(Guid code, string search, GainfoUserTypeEnumType? userType);
Task> GetDeviceUserCodesAsync(string deviceUniqueNo);
Task ExternalAndManuallyUserNoAsync(string deviceUniqueNo);
Task ResetVisitorsByDeviceAsync(string deviceUniqueNo);
Task> GetDeviceExceptUsersAsync(string deviceUniqueNo);
Task GenerateDeleteDeviceTasksAsync(string deviceUniqueNo);
}