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/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
index 355841f..7dbb388 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,33 @@
and personal_attendance_records.date < DATE_ADD(DATE(#{params.date}), INTERVAL 1 DAY)
</if>
</select>
+
+ <!-- 鏌ヨ鎸囧畾鏃ユ湡娌℃湁鑰冨嫟璁板綍鐨勫湪鑱屽憳宸ワ紙鍦ㄦ寚瀹氭椂闂翠箣鍓嶅叆鑱岀殑锛� -->
+ <select id="selectStaffWithoutAttendanceRecordBeforeTime" resultType="com.ruoyi.staff.pojo.StaffOnJob">
+ SELECT soj.*
+ 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
+ WHERE par.staff_on_job_id = soj.id
+ AND par.date = #{date}
+ )
+ </select>
+
+ <!-- 妫�鏌ユ寚瀹氬憳宸ュ湪鎸囧畾鏃ユ湡鏄惁宸插瓨鍦ㄨ�冨嫟璁板綍 -->
+ <select id="existsAttendanceRecord" resultType="boolean">
+ SELECT EXISTS (
+ SELECT 1
+ FROM personal_attendance_records
+ WHERE staff_on_job_id = #{staffOnJobId}
+ AND date = #{date}
+ )
+ </select>
</mapper>
--
Gitblit v1.9.3