From 82155dd6f2b16fbfb718e636a54e2c9dae31246b Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 30 十月 2026 20:23:20 +0800
Subject: [PATCH] feat(hrm,bi): 移植长辉电力的考勤请假联动与 BI 大屏图表

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.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/approval/HrmLeaveApplicationMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.java
index 6d98f1a..7712216 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
@@ -46,6 +46,31 @@
      * @param endTime   缁撴潫鏃堕棿
      * @return 璇峰亣璁板綍鍒楄〃
      */
+    /**
+     * 鏌ヨ涓庢寚瀹氭椂闂村尯闂淬�愭湁浜ら泦銆戠殑璇峰亣鍗�
+     *
+     * <p>璇箟涓� selectApprovedListByUserIdAndTimeRange 涓嶅悓锛氶偅杈硅姹傝鍋囧崟瀹屾暣钀藉湪鍖洪棿鍐咃紝
+     * 杩欓噷鍙鏈夐噸鍙犲氨绠楀懡涓�傝�冨嫟鍒ゆ柇銆屾煇澶╂槸鍚﹁鍋囥�嶅繀椤荤敤杩欎釜锛�
+     * 璺ㄥぉ鐨勮鍋囧崟锛堝 9/24 18:00 ~ 9/25 18:00锛夊湪 9/25 杩欏ぉ涔熺畻璇峰亣銆�</p>
+     *
+     * <p>浜ら泦鏉′欢锛歴tart_time &lt; rangeEnd 涓� end_time &gt;= rangeStart</p>
+     *
+     * @param userId    鍛樺伐ID锛坔rm_leave_application.user_id锛�
+     * @param status    瀹℃壒鐘舵�侊紝浼� null 涓嶈繃婊�
+     * @param rangeStart 鍖洪棿寮�濮嬶紙鍚級
+     * @param rangeEnd   鍖洪棿缁撴潫锛堜笉鍚級
+     * @return 涓庡尯闂存湁浜ら泦鐨勮鍋囧崟
+     */
+    default List<HrmLeaveApplicationDO> selectListByUserIdAndOverlapDate(
+            Long userId, Integer status, LocalDateTime rangeStart, LocalDateTime rangeEnd) {
+        return selectList(new LambdaQueryWrapperX<HrmLeaveApplicationDO>()
+                .eq(HrmLeaveApplicationDO::getUserId, userId)
+                .eqIfPresent(HrmLeaveApplicationDO::getStatus, status)
+                .lt(HrmLeaveApplicationDO::getStartTime, rangeEnd)
+                .ge(HrmLeaveApplicationDO::getEndTime, rangeStart)
+                .orderByAsc(HrmLeaveApplicationDO::getStartTime));
+    }
+
     default List<HrmLeaveApplicationDO> selectApprovedListByUserIdAndTimeRange(Long userId, LocalDateTime startTime, LocalDateTime endTime) {
         return selectList(new LambdaQueryWrapperX<HrmLeaveApplicationDO>()
                 .eq(HrmLeaveApplicationDO::getUserId, userId)

--
Gitblit v1.9.3