| | |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceHolidayDO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayPageReqVO; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import org.apache.ibatis.annotations.Delete; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | |
| | | return selectPage(reqVO, new LambdaQueryWrapperX<HrmAttendanceHolidayDO>() |
| | | .likeIfPresent(HrmAttendanceHolidayDO::getName, reqVO.getName()) |
| | | .eqIfPresent(HrmAttendanceHolidayDO::getType, reqVO.getType()) |
| | | .eqIfPresent(HrmAttendanceHolidayDO::getIsLegal, reqVO.getIsLegal()) |
| | | .betweenIfPresent(HrmAttendanceHolidayDO::getDate, reqVO.getStartDate(), reqVO.getEndDate()) |
| | | .orderByDesc(HrmAttendanceHolidayDO::getDate)); |
| | | } |
| | | |
| | | /** |
| | | * 按查询条件取全部节假日(升序),用于列表按连续区间合并展示 |
| | | */ |
| | | default List<HrmAttendanceHolidayDO> selectListByCondition(HrmAttendanceHolidayPageReqVO reqVO) { |
| | | return selectList(new LambdaQueryWrapperX<HrmAttendanceHolidayDO>() |
| | | .likeIfPresent(HrmAttendanceHolidayDO::getName, reqVO.getName()) |
| | | .eqIfPresent(HrmAttendanceHolidayDO::getType, reqVO.getType()) |
| | | .eqIfPresent(HrmAttendanceHolidayDO::getIsLegal, reqVO.getIsLegal()) |
| | | .betweenIfPresent(HrmAttendanceHolidayDO::getDate, reqVO.getStartDate(), reqVO.getEndDate()) |
| | | .orderByAsc(HrmAttendanceHolidayDO::getDate)); |
| | | } |
| | | |
| | | default HrmAttendanceHolidayDO selectByDate(LocalDate date) { |
| | |
| | | .orderByAsc(HrmAttendanceHolidayDO::getDate)); |
| | | } |
| | | |
| | | /** |
| | | * 物理删除节假日配置 |
| | | * |
| | | * 唯一索引为 (date, deleted),逻辑删除两次同一天会产生 deleted=1 的主键冲突, |
| | | * 因此节假日配置的删除统一走物理删除。 |
| | | */ |
| | | @Delete("<script>DELETE FROM hrm_attendance_holiday WHERE id IN " + |
| | | "<foreach collection='ids' item='id' open='(' separator=',' close=')'>#{id}</foreach></script>") |
| | | int physicalDeleteByIds(@Param("ids") List<Long> ids); |
| | | |
| | | } |