using Dlhis.Basic.WorkGrids.Request; using Dlhis.Basic.WorkGrids.Response; using Dlhis.Entity.Basic.Enums; using Kurisu.AspNetCore.CustomClass; using Kurisu.AspNetCore.DataAccess.Dto; namespace Dlhis.Basic.WorkGrids.Services; /// /// 网格排班 /// public interface IWorkGridScheduleService : IScopeDependency { /// /// 保存网格排班信息 /// /// 排班保存请求参数 Task SaveAsync(WorkGridScheduleSaveRequest request); /// /// 移除网格排班信息 /// /// 排班移除请求参数 Task RemoveAsync(WorkGridScheduleSaveRequest request); /// /// 获取指定网格、日期和时段的排班列表 /// /// 网格编码 /// 日期 /// 时段类型 /// 排班列表 Task> GetListAsync(Guid workGridCode, DateOnly date, WorkGridTimePeriodEnumType? periodType); /// /// 获取指定网格和日期范围的排班汇总列表 /// /// 网格编码 /// /// 排班汇总列表 Task> GetListSummaryAsync(Guid workGridCode, DateTimePeriod dateTimePeriod); /// /// 获取排班考勤分页数据 /// /// 考勤分页请求参数 /// 排班考勤分页数据 Task> GetAttendancePageAsync(WorkGridScheduleAttendancePageRequest request); /// /// 获取所有排班考勤分页数据 /// /// 考勤分页请求参数 /// 排班考勤分页数据 Task> GetAllAttendancePageAsync(WorkGridScheduleAttendancePageRequest request); /// /// 手动上传考勤日志 /// /// 考勤日志ID列表 Task ManuallyUploadAsync(List logIds); /// /// 手动取消排班 /// /// 只能操作历史数据 /// /// /// Task ManuallyCancelAsync(long id, string reason); }