From ef3cbc1c6882786e8218b08be3e52ea44587f03b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 08 十一月 2026 09:45:42 +0800
Subject: [PATCH] feat(hrm): 请假批量导入、加班代申请人、批量排班与节假日区间联动

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceHolidayMapper.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceHolidayMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceHolidayMapper.java
index d38a149..d5f796b 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceHolidayMapper.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceHolidayMapper.java
@@ -5,7 +5,9 @@
 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;
@@ -22,8 +24,21 @@
         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) {
@@ -37,4 +52,14 @@
                 .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);
+
 }
\ No newline at end of file

--
Gitblit v1.9.3