From 70aea4d9e226e32fcd96c39b9b55ae59fbbcb4a4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 10 二月 2026 15:48:08 +0800
Subject: [PATCH] 生成缺勤记录

---
 src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
index 355841f..5f423e8 100644
--- a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
@@ -29,6 +29,9 @@
         LEFT JOIN
         sys_dept sd ON sd.dept_id = soj.sys_dept_id
         where 1=1
+        <if test="params.staffOnJobId != null and params.staffOnJobId > 0">
+            AND personal_attendance_records.staff_on_job_id = #{params.staffOnJobId}
+        </if>
         <if test="params.deptId != null and params.deptId > 0">
             AND sd.dept_id = #{params.deptId}
         </if>
@@ -37,4 +40,17 @@
             and personal_attendance_records.date &lt; DATE_ADD(DATE(#{params.date}), INTERVAL 1 DAY)
         </if>
     </select>
+
+    <select id="selectStaffWithoutAttendanceRecord" resultType="com.ruoyi.staff.pojo.StaffOnJob">
+        SELECT soj.*
+        FROM staff_on_job soj
+        WHERE soj.status = 1
+        AND DATE(soj.create_time) &lt; #{date}
+        AND NOT EXISTS (
+        SELECT 1
+        FROM personal_attendance_records par
+        WHERE par.staff_on_job_id = soj.id
+        AND par.date = #{date}
+        )
+    </select>
 </mapper>

--
Gitblit v1.9.3