| | |
| | | /** |
| | | * 考勤节假日配置 Mapper |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | @Mapper |
| | | public interface HrmAttendanceHolidayMapper extends BaseMapperX<HrmAttendanceHolidayDO> { |
| | | |
| | | default PageResult<HrmAttendanceHolidayDO> selectPage(HrmAttendanceHolidayPageReqVO reqVO) { |
| | | return selectPage(reqVO, new LambdaQueryWrapperX<HrmAttendanceHolidayDO>() |
| | | LambdaQueryWrapperX<HrmAttendanceHolidayDO> query = new LambdaQueryWrapperX<HrmAttendanceHolidayDO>() |
| | | .likeIfPresent(HrmAttendanceHolidayDO::getName, reqVO.getName()) |
| | | .eqIfPresent(HrmAttendanceHolidayDO::getType, reqVO.getType()) |
| | | .betweenIfPresent(HrmAttendanceHolidayDO::getDate, reqVO.getStartDate(), reqVO.getEndDate()) |
| | | .orderByDesc(HrmAttendanceHolidayDO::getDate)); |
| | | .eqIfPresent(HrmAttendanceHolidayDO::getIsLegal, reqVO.getIsLegal()); |
| | | // 日期筛选:配置时间段与查询区间有交集即命中 |
| | | LocalDate[] dateRange = reqVO.getDate(); |
| | | if (dateRange != null && dateRange.length >= 2 && dateRange[0] != null && dateRange[1] != null) { |
| | | query.le(HrmAttendanceHolidayDO::getStartDate, dateRange[1]) |
| | | .ge(HrmAttendanceHolidayDO::getEndDate, dateRange[0]); |
| | | } |
| | | return selectPage(reqVO, query.orderByDesc(HrmAttendanceHolidayDO::getStartDate) |
| | | .orderByDesc(HrmAttendanceHolidayDO::getId)); |
| | | } |
| | | |
| | | default HrmAttendanceHolidayDO selectByDate(LocalDate date) { |
| | | return selectOne(HrmAttendanceHolidayDO::getDate, date); |
| | | } |
| | | |
| | | default List<HrmAttendanceHolidayDO> selectListByDateBetween(LocalDate startDate, LocalDate endDate) { |
| | | /** |
| | | * 查询时间段与 [startDate, endDate] 有交集的配置 |
| | | * 传入同一天(date, date)时,即查询覆盖该日的配置 |
| | | */ |
| | | default List<HrmAttendanceHolidayDO> selectListByDateRange(LocalDate startDate, LocalDate endDate) { |
| | | return selectList(new LambdaQueryWrapperX<HrmAttendanceHolidayDO>() |
| | | .ge(HrmAttendanceHolidayDO::getDate, startDate) |
| | | .le(HrmAttendanceHolidayDO::getDate, endDate) |
| | | .orderByAsc(HrmAttendanceHolidayDO::getDate)); |
| | | .le(HrmAttendanceHolidayDO::getStartDate, endDate) |
| | | .ge(HrmAttendanceHolidayDO::getEndDate, startDate) |
| | | .orderByAsc(HrmAttendanceHolidayDO::getStartDate) |
| | | .orderByAsc(HrmAttendanceHolidayDO::getId)); |
| | | } |
| | | |
| | | } |