From ba100c651a81162a9a9a4533ff4d072f2889171a Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期五, 06 十一月 2026 09:38:46 +0800
Subject: [PATCH] fix(hrm): 考勤统计支持员工姓名搜索;缺卡统计补全(与考勤记录联动)

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmAttendanceRecordMapper.java |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 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 292540d..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,15 +5,18 @@
 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;
 
 /**
  * 鑰冨嫟鎵撳崱璁板綍 Mapper
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Mapper
 public interface HrmAttendanceRecordMapper extends BaseMapperX<HrmAttendanceRecordDO> {
@@ -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