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/approval/HrmLeaveApplicationMapper.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.java
index 6d98f1a..08c4a90 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.java
@@ -6,9 +6,12 @@
 import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationPageReqVO;
 import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmLeaveApplicationDO;
 import cn.iocoder.yudao.module.hrm.enums.HrmAuditStatusEnum;
+import cn.hutool.core.collection.CollUtil;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -54,4 +57,24 @@
                 .le(HrmLeaveApplicationDO::getEndTime, endTime));
     }
 
+    /**
+     * 鎵归噺鏌ヨ澶氫釜鍛樺伐鍦ㄦ寚瀹氭椂闂磋寖鍥村唴宸插鎵归�氳繃鐨勮鍋囪褰曪紙鐢ㄤ簬鎸夋棩鍖洪棿鐨勮�冨嫟缁熻锛�
+     *
+     * @param userIds   鍛樺伐ID闆嗗悎锛堢郴缁熺敤鎴稩D锛�
+     * @param startTime 寮�濮嬫椂闂�
+     * @param endTime   缁撴潫鏃堕棿
+     * @return 璇峰亣璁板綍鍒楄〃
+     */
+    default List<HrmLeaveApplicationDO> selectApprovedListByUserIdsAndTimeRange(Collection<Long> userIds,
+                                                                                LocalDateTime startTime, LocalDateTime endTime) {
+        if (CollUtil.isEmpty(userIds)) {
+            return new ArrayList<>();
+        }
+        return selectList(new LambdaQueryWrapperX<HrmLeaveApplicationDO>()
+                .in(HrmLeaveApplicationDO::getUserId, userIds)
+                .eq(HrmLeaveApplicationDO::getStatus, HrmAuditStatusEnum.APPROVE.getStatus())
+                .le(HrmLeaveApplicationDO::getStartTime, endTime)
+                .ge(HrmLeaveApplicationDO::getEndTime, startTime));
+    }
+
 }

--
Gitblit v1.9.3