From 344a18cc69dd2f728734e940421b717cacb85563 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 02 十一月 2026 22:33:38 +0800
Subject: [PATCH] fix(staff): 排班管理合计出勤改为按打卡记录统计
---
src/main/resources/mapper/staff/PersonalShiftMapper.xml | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/staff/PersonalShiftMapper.xml b/src/main/resources/mapper/staff/PersonalShiftMapper.xml
index b912e24..20cb284 100644
--- a/src/main/resources/mapper/staff/PersonalShiftMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalShiftMapper.xml
@@ -112,6 +112,40 @@
order by s.create_time
</select>
+ <!-- 鏈堝害瀹為檯鍑哄嫟澶╂暟锛氭寜鎵撳崱璁板綍缁熻锛屼笉鎸夋帓鐝� -->
+ <select id="attendanceDayCountByMonth" resultType="java.util.Map">
+ SELECT r.staff_on_job_id AS user_id, COUNT(DISTINCT r.date) AS days
+ FROM personal_attendance_records r
+ INNER JOIN staff_on_job u ON u.id = r.staff_on_job_id
+ WHERE r.work_start_at IS NOT NULL
+ AND DATE_FORMAT(r.date, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m')
+ <if test="userName != null and userName != ''">
+ AND u.staff_name LIKE CONCAT('%', #{userName}, '%')
+ </if>
+ <if test="sysDeptId != null and sysDeptId != ''">
+ AND u.sys_dept_id = #{sysDeptId}
+ </if>
+ GROUP BY r.staff_on_job_id
+ </select>
+
+ <!-- 骞村害姣忎汉姣忔湀瀹為檯鍑哄嫟澶╂暟 -->
+ <select id="attendanceMonthCountByYear" resultType="java.util.Map">
+ SELECT r.staff_on_job_id AS user_id,
+ DATE_FORMAT(r.date, '%c') AS month,
+ COUNT(DISTINCT r.date) AS days
+ FROM personal_attendance_records r
+ INNER JOIN staff_on_job u ON u.id = r.staff_on_job_id
+ WHERE r.work_start_at IS NOT NULL
+ AND DATE_FORMAT(r.date, '%Y') = DATE_FORMAT(#{time}, '%Y')
+ <if test="userName != null and userName != ''">
+ AND u.staff_name LIKE CONCAT('%', #{userName}, '%')
+ </if>
+ <if test="sysDeptId != null and sysDeptId != ''">
+ AND u.sys_dept_id = #{sysDeptId}
+ </if>
+ GROUP BY r.staff_on_job_id, DATE_FORMAT(r.date, '%c')
+ </select>
+
<select id="existsAttendanceUsedByConfig" resultType="boolean">
SELECT EXISTS (
SELECT 1
--
Gitblit v1.9.3