From a063b6faf44f5810b325ccffbdc503188d721ca5 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期五, 23 十月 2026 10:18:22 +0800
Subject: [PATCH] feat(hrm): 考勤规则支持同一部门配置多条(按生效日期区间生效)

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordServiceImpl.java |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordServiceImpl.java
index 60ba60d..06ef7f4 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordServiceImpl.java
@@ -88,7 +88,7 @@
         if (record.getDeptId() == null) {
             return;
         }
-        HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(record.getDeptId());
+        HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(record.getDeptId(), record.getDate());
         if (rule == null) {
             return;
         }
@@ -125,7 +125,7 @@
         }
         // 鍔犵彮鏃堕暱锛氭寜鑰冨嫟瑙勫垯鐨勬爣鍑嗕笅鐝椂闂磋绠楄秴棰濋儴鍒�
         if (record.getClockOutTime() != null && record.getDeptId() != null) {
-            HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(record.getDeptId());
+            HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(record.getDeptId(), record.getDate());
             if (rule != null && rule.getWorkEndTime() != null) {
                 LocalTime workEnd = rule.getWorkEndTime();
                 LocalDate outDate = record.getClockOutTime().toLocalDate();
@@ -159,7 +159,7 @@
         if (employee == null) {
             throw exception(EMPLOYEE_NOT_EXISTS);
         }
-        HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(employee.getDeptId());
+        HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(employee.getDeptId(), clockDate);
         if (rule == null) {
             throw exception(ATTENDANCE_CLOCK_FAIL_NO_RULE);
         }
@@ -212,7 +212,7 @@
         if (employee == null) {
             throw exception(EMPLOYEE_NOT_EXISTS);
         }
-        HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(employee.getDeptId());
+        HrmAttendanceRuleDO rule = attendanceRuleService.getAttendanceRuleByDeptId(employee.getDeptId(), clockDate);
         if (rule == null) {
             throw exception(ATTENDANCE_CLOCK_FAIL_NO_RULE);
         }

--
Gitblit v1.9.3