From 1a3f5db043fd381b60a0a5f40687136274a2cbd1 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 27 二月 2026 09:57:41 +0800
Subject: [PATCH] Merge branch 'refs/heads/dev_New' into dev_New_kthg
---
src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml | 71 ++++++++++++++++++++++++++++++++++-
1 files changed, 68 insertions(+), 3 deletions(-)
diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
index 13d3513..7dbb388 100644
--- a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
@@ -1,7 +1,72 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.staff.mapper.PersonalAttendanceRecordsMapper">
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.staff.pojo.PersonalAttendanceRecords">
+ <id column="id" property="id" />
+ <result column="staff_on_job_id" property="staffOnJobId" />
+ <result column="date" property="date" />
+ <result column="work_start_at" property="workStartAt" />
+ <result column="work_end_at" property="workEndAt" />
+ <result column="work_hours" property="workHours" />
+ <result column="status" property="status" />
+ <result column="remark" property="remark" />
+ <result column="tenant_id" property="tenantId" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ </resultMap>
+ <select id="listPage" resultType="com.ruoyi.staff.dto.PersonalAttendanceRecordsDto">
+ SELECT
+ personal_attendance_records.*,
+ soj.staff_name as staffName,
+ soj.staff_no as staffNo,
+ sd.dept_name as deptName
+ FROM personal_attendance_records
+ LEFT JOIN
+ staff_on_job soj ON soj.id = personal_attendance_records.staff_on_job_id
+ 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>
+ <if test="params.date != null">
+ and personal_attendance_records.date >= #{params.date}
+ and personal_attendance_records.date < DATE_ADD(DATE(#{params.date}), INTERVAL 1 DAY)
+ </if>
+ </select>
-</mapper>
\ No newline at end of file
+ <!-- 鏌ヨ鎸囧畾鏃ユ湡娌℃湁鑰冨嫟璁板綍鐨勫湪鑱屽憳宸ワ紙鍦ㄦ寚瀹氭椂闂翠箣鍓嶅叆鑱岀殑锛� -->
+ <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