71 lines
2.6 KiB
C#
71 lines
2.6 KiB
C#
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;
|
|
|
|
/// <summary>
|
|
/// 网格排班
|
|
/// </summary>
|
|
public interface IWorkGridScheduleService : IScopeDependency
|
|
{
|
|
/// <summary>
|
|
/// 保存网格排班信息
|
|
/// </summary>
|
|
/// <param name="request">排班保存请求参数</param>
|
|
Task SaveAsync(WorkGridScheduleSaveRequest request);
|
|
|
|
/// <summary>
|
|
/// 移除网格排班信息
|
|
/// </summary>
|
|
/// <param name="request">排班移除请求参数</param>
|
|
Task RemoveAsync(WorkGridScheduleSaveRequest request);
|
|
|
|
/// <summary>
|
|
/// 获取指定网格、日期和时段的排班列表
|
|
/// </summary>
|
|
/// <param name="workGridCode">网格编码</param>
|
|
/// <param name="date">日期</param>
|
|
/// <param name="periodType">时段类型</param>
|
|
/// <returns>排班列表</returns>
|
|
Task<List<WorkGridScheduleResponse>> GetListAsync(Guid workGridCode, DateOnly date, WorkGridTimePeriodEnumType? periodType);
|
|
|
|
/// <summary>
|
|
/// 获取指定网格和日期范围的排班汇总列表
|
|
/// </summary>
|
|
/// <param name="workGridCode">网格编码</param>
|
|
/// <param name="dateTimePeriod"></param>
|
|
/// <returns>排班汇总列表</returns>
|
|
Task<List<WorkGridScheduleSummaryResponse>> GetListSummaryAsync(Guid workGridCode, DateTimePeriod dateTimePeriod);
|
|
|
|
/// <summary>
|
|
/// 获取排班考勤分页数据
|
|
/// </summary>
|
|
/// <param name="request">考勤分页请求参数</param>
|
|
/// <returns>排班考勤分页数据</returns>
|
|
Task<Pagination<WorkGridScheduleAttendancePageResponse>> GetAttendancePageAsync(WorkGridScheduleAttendancePageRequest request);
|
|
|
|
/// <summary>
|
|
/// 获取所有排班考勤分页数据
|
|
/// </summary>
|
|
/// <param name="request">考勤分页请求参数</param>
|
|
/// <returns>排班考勤分页数据</returns>
|
|
Task<Pagination<WorkGridScheduleAttendancePageResponse>> GetAllAttendancePageAsync(WorkGridScheduleAttendancePageRequest request);
|
|
|
|
/// <summary>
|
|
/// 手动上传考勤日志
|
|
/// </summary>
|
|
/// <param name="logIds">考勤日志ID列表</param>
|
|
Task ManuallyUploadAsync(List<long> logIds);
|
|
|
|
/// <summary>
|
|
/// 手动取消排班
|
|
/// </summary>
|
|
/// <remarks>只能操作历史数据</remarks>
|
|
/// <param name="id"></param>
|
|
/// <param name="reason"></param>
|
|
/// <returns></returns>
|
|
Task ManuallyCancelAsync(long id, string reason);
|
|
} |