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/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml b/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
index 505011f..7de15bd 100644
--- a/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
+++ b/src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
@@ -15,7 +15,9 @@
         next_date,
         record_date,
         CASE
-        WHEN next_date &gt;=  DATE_FORMAT(now(),'%Y-%m-%d') THEN 1
+        WHEN most_date IS NOT NULL
+        AND valid IS NOT NULL
+        AND DATE_ADD(most_date, INTERVAL valid DAY) &gt;= CURDATE() THEN 1
         ELSE 2
         END AS status,
         create_user,
@@ -40,10 +42,16 @@
             <if test="req.status != null">
                 <choose>
                     <when test="req.status == 1">
-                        AND next_date &gt;=  DATE_FORMAT(now(),'%Y-%m-%d')
+                        AND most_date IS NOT NULL
+                        AND valid IS NOT NULL
+                        AND DATE_ADD(most_date, INTERVAL valid DAY) &gt;= CURDATE()
                     </when>
                     <when test="req.status == 2">
-                        AND next_date &lt;  DATE_FORMAT(now(),'%Y-%m-%d')
+                        AND (
+                        most_date IS NULL
+                        OR valid IS NULL
+                        OR DATE_ADD(most_date, INTERVAL valid DAY) &lt; CURDATE()
+                        )
                     </when>
                 </choose>
             </if>
@@ -54,6 +62,6 @@
                 AND record_date = DATE_FORMAT(#{req.recordDate},'%Y-%m-%d')
             </if>
         </where>
-        ORDER BY update_time DESC
+        ORDER BY create_time DESC
     </select>
-</mapper>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.3