From 871312356092fe49022e58baf530ba15f00f53f9 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期五, 30 十月 2026 16:19:27 +0800
Subject: [PATCH] feat(hrm): 打通请假审批与考勤,请假当天可不打卡也不算异常
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmLeaveApplicationMapper.java | 27 ++++++++++++++++++++++++++-
1 files changed, 26 insertions(+), 1 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 da80141..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
@@ -14,7 +14,7 @@
/**
* 璇峰亣鐢宠 Mapper
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
@Mapper
public interface HrmLeaveApplicationMapper extends BaseMapperX<HrmLeaveApplicationDO> {
@@ -46,6 +46,31 @@
* @param endTime 缁撴潫鏃堕棿
* @return 璇峰亣璁板綍鍒楄〃
*/
+ /**
+ * 鏌ヨ涓庢寚瀹氭椂闂村尯闂淬�愭湁浜ら泦銆戠殑璇峰亣鍗�
+ *
+ * <p>璇箟涓� selectApprovedListByUserIdAndTimeRange 涓嶅悓锛氶偅杈硅姹傝鍋囧崟瀹屾暣钀藉湪鍖洪棿鍐咃紝
+ * 杩欓噷鍙鏈夐噸鍙犲氨绠楀懡涓�傝�冨嫟鍒ゆ柇銆屾煇澶╂槸鍚﹁鍋囥�嶅繀椤荤敤杩欎釜锛�
+ * 璺ㄥぉ鐨勮鍋囧崟锛堝 9/24 18:00 ~ 9/25 18:00锛夊湪 9/25 杩欏ぉ涔熺畻璇峰亣銆�</p>
+ *
+ * <p>浜ら泦鏉′欢锛歴tart_time < rangeEnd 涓� end_time >= 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