From fe1b02a121c173e9b2d56bbe5a1982e0e69e0548 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 28 四月 2026 18:06:08 +0800
Subject: [PATCH] feat(production): 新增生产工单管理功能 - 创建 ProductionOperationTask 实体类定义工单数据结构 - 实现 ProductionOperationTaskController 提供工单的增删改查接口 - 开发 ProductionOperationTaskService 和实现类处理业务逻辑 - 配置 ProductionOperationTaskMapper 及 XML 文件实现数据库操作 - 添加 ProductionOperationTaskVo 视图对象用于数据展示 - 扩展 ProductionOrder 实体类增加生产订单相关属性 - 更新 ProductionOrderMapper.xml 完善订单查询映射配置 - 优化 ProductionOrderPickRecordMapper.xml 记录物料领取明细 - 新增 ProductionOrderRoutingOperationParam 参数配置实体 - 完善 工序参数处理逻辑

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

diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
index 146830b..7dbb388 100644
--- a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
@@ -29,11 +29,44 @@
         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 sys_dept.dept_id = #{params.deptId}
+            AND sd.dept_id = #{params.deptId}
         </if>
         <if test="params.date != null">
-            AND personal_attendance_records.date = DATE_FORMAT(#{params.date},'%Y-%m-%d')
+            and personal_attendance_records.date &gt;= #{params.date}
+            and personal_attendance_records.date &lt; 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 &lt; #{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