From d6badd13cb4ec44e542a1da2675b491332588af4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 12 二月 2026 15:49:44 +0800
Subject: [PATCH] 制定打卡规则的部门生成缺勤数据

---
 src/main/java/com/ruoyi/staff/task/PersonalAttendanceRecordsTask.java |    4 +++-
 src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml   |    5 +++++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/task/PersonalAttendanceRecordsTask.java b/src/main/java/com/ruoyi/staff/task/PersonalAttendanceRecordsTask.java
index 8cc7544..9730df6 100644
--- a/src/main/java/com/ruoyi/staff/task/PersonalAttendanceRecordsTask.java
+++ b/src/main/java/com/ruoyi/staff/task/PersonalAttendanceRecordsTask.java
@@ -45,7 +45,6 @@
             LocalDateTime todayStart = LocalDate.now().atStartOfDay();
             List<StaffOnJob> staffWithoutAttendance = personalAttendanceRecordsMapper.selectStaffWithoutAttendanceRecordBeforeTime(yesterday, todayStart);
 
-
             // 閬嶅巻娌℃湁鑰冨嫟璁板綍鐨勫憳宸ワ紝鐢熸垚缂哄嫟璁板綍
             for (StaffOnJob staff : staffWithoutAttendance) {
                 try {
@@ -59,6 +58,9 @@
                     absenceRecord.setDate(yesterday);
                     absenceRecord.setStatus(4); // 璁剧疆鐘舵�佷负缂哄嫟
                     absenceRecord.setRemark("绯荤粺鑷姩鐢熸垚-缂哄嫟");
+                    absenceRecord.setCreateTime(LocalDateTime.now());
+                    absenceRecord.setUpdateTime(LocalDateTime.now());
+                    absenceRecord.setTenantId(staff.getTenantId());
                     personalAttendanceRecordsService.save(absenceRecord);
 
                 } catch (Exception e) {
diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
index a589f71..7dbb388 100644
--- a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
@@ -47,6 +47,11 @@
         FROM staff_on_job soj
         WHERE soj.staff_state = 1
         AND soj.create_time &lt; #{entryDeadline}
+        AND EXISTS (
+        SELECT 1
+        FROM personal_attendance_location_config palc
+        WHERE palc.sys_dept_id = soj.sys_dept_id
+        )
         AND NOT EXISTS (
         SELECT 1
         FROM personal_attendance_records par

--
Gitblit v1.9.3