package cn.iocoder.yudao.module.hrm.service.attendance; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayPageReqVO; import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidaySaveReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceHolidayDO; import jakarta.validation.Valid; import java.time.LocalDate; import java.util.List; /** * 考勤节假日配置 Service 接口 * * @author 芋道源码 */ public interface HrmAttendanceHolidayService { /** * 新增节假日配置 * * @param createReqVO 新增信息 * @return 节假日ID */ Long createAttendanceHoliday(@Valid HrmAttendanceHolidaySaveReqVO createReqVO); /** * 更新节假日配置 * * @param updateReqVO 更新信息 */ void updateAttendanceHoliday(@Valid HrmAttendanceHolidaySaveReqVO updateReqVO); /** * 删除节假日配置 * * @param id 节假日ID */ void deleteAttendanceHoliday(Long id); /** * 获得节假日配置 * * @param id 节假日ID * @return 节假日配置 */ HrmAttendanceHolidayDO getAttendanceHoliday(Long id); /** * 获得节假日配置分页 * * @param pageReqVO 分页查询参数 * @return 节假日配置分页 */ PageResult getAttendanceHolidayPage(HrmAttendanceHolidayPageReqVO pageReqVO); /** * 获得指定日期范围的节假日列表 * * @param startDate 开始日期 * @param endDate 结束日期 * @return 节假日列表 */ List getAttendanceHolidayListByDateRange(LocalDate startDate, LocalDate endDate); /** * 判断是否工作日 * * @param date 日期 * @return true-工作日,false-休息日 */ boolean isWorkDay(LocalDate date); }