From 52e4ba6897d5d808c4ed08720bbebad9cb006103 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 05 十一月 2026 13:48:56 +0800
Subject: [PATCH] fix(hrm): 修复生成考勤统计报错、实出天数翻倍;调岗/离职审批通过同步人员信息

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

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceRecordMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceRecordMapper.java
index 1c0d329..9345162 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceRecordMapper.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceRecordMapper.java
@@ -5,9 +5,12 @@
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordPageReqVO;
 import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRecordDO;
+import cn.hutool.core.collection.CollUtil;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -43,4 +46,19 @@
                 .orderByAsc(HrmAttendanceRecordDO::getDate));
     }
 
+    /**
+     * 鎸夊憳宸ラ泦鍚� + 鏃ユ湡鍖洪棿鎵归噺鏌ヨ鎵撳崱璁板綍锛堢敤浜庢寜鏃ュ尯闂寸殑瀹炴椂鑰冨嫟缁熻锛�
+     */
+    default List<HrmAttendanceRecordDO> selectListByUserIdsAndDateBetween(Collection<Long> userIds,
+                                                                          LocalDate startDate, LocalDate endDate) {
+        if (CollUtil.isEmpty(userIds)) {
+            return new ArrayList<>();
+        }
+        return selectList(new LambdaQueryWrapperX<HrmAttendanceRecordDO>()
+                .in(HrmAttendanceRecordDO::getUserId, userIds)
+                .ge(HrmAttendanceRecordDO::getDate, startDate)
+                .le(HrmAttendanceRecordDO::getDate, endDate)
+                .orderByAsc(HrmAttendanceRecordDO::getDate));
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3