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 < #{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