using System; using System.Threading.Tasks; using System.Collections.Generic; using ZhonTai.Admin.Core.Dto; using NPP.SmartSchedue.Api.Contracts.Services.Time.Input; using NPP.SmartSchedue.Api.Contracts.Services.Time.Output; namespace NPP.SmartSchedue.Api.Contracts.Services.Time; /// /// 员工休假服务接口 /// public interface IEmployeeLeaveService { Task GetAsync(long id); Task> GetPageAsync(PageInput input); Task AddAsync(EmployeeLeaveAddInput input); Task UpdateAsync(EmployeeLeaveUpdateInput input); Task DeleteAsync(long id); Task SoftDeleteAsync(long id); Task BatchSoftDeleteAsync(long[] ids); /// /// 获取员工在指定时间段内的已批准请假记录 /// /// 员工ID /// 开始时间 /// 结束时间 /// Task> GetApprovedLeavesByEmployeeAndTimeRangeAsync( long employeeId, DateTime startTime, DateTime endTime); /// /// 检查员工在指定时间段内是否有请假 /// /// 员工ID /// 开始时间 /// 结束时间 /// Task HasApprovedLeaveInTimeRangeAsync( long employeeId, DateTime startTime, DateTime endTime); /// /// 检查员工在指定日期是否在请假 /// 智能分配系统专用方法,返回详细的请假信息 /// /// 员工ID /// 检查日期 /// 请假状态信息 Task IsOnLeaveAsync(long employeeId, DateTime checkDate); }