From 260dd6fe156265832544715192ce1491e9c2afd6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 26 六月 2026 13:41:13 +0800
Subject: [PATCH] fix(stock): 解决库存管理中的重复键异常问题 - 在采购台账服务中添加净合同金额字段设置 - 在销售台账服务中添加净合同金额字段设置 - 在入库记录服务中为库存插入操作添加重复键异常处理 - 在入库记录服务中为非库存插入操作添加重复键异常处理 - 在库存服务中为库存插入操作添加重复键异常处理 - 统一处理数据库唯一键约束冲突,避免系统错误
---
src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
index 5f423e8..9ae20d6 100644
--- a/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalAttendanceRecordsMapper.xml
@@ -39,13 +39,20 @@
and personal_attendance_records.date >= #{params.date}
and personal_attendance_records.date < DATE_ADD(DATE(#{params.date}), INTERVAL 1 DAY)
</if>
+ order by personal_attendance_records.id desc
</select>
- <select id="selectStaffWithoutAttendanceRecord" resultType="com.ruoyi.staff.pojo.StaffOnJob">
+ <!-- 鏌ヨ鎸囧畾鏃ユ湡娌℃湁鑰冨嫟璁板綍鐨勫湪鑱屽憳宸ワ紙鍦ㄦ寚瀹氭椂闂翠箣鍓嶅叆鑱岀殑锛� -->
+ <select id="selectStaffWithoutAttendanceRecordBeforeTime" resultType="com.ruoyi.staff.pojo.StaffOnJob">
SELECT soj.*
FROM staff_on_job soj
- WHERE soj.status = 1
- AND DATE(soj.create_time) < #{date}
+ 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
@@ -53,4 +60,14 @@
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