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/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java | 38 +++++++++++++++++++++++---------------
1 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index 3b7a6c8..9ac5410 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -246,14 +246,18 @@
stockInventoryDto.setQualitity(stockInRecord.getStockInNum());
stockInventoryDto.setRemark(stockInRecord.getRemark());
if (stockInventory == null) {
- stockInventoryMapper.insert(new StockInventory() {{
- setProductModelId(stockInRecord.getProductModelId());
- setQualitity(stockInRecord.getStockInNum());
- setBatchNo(stockInRecord.getBatchNo());
- setRemark(stockInRecord.getRemark());
- setWarnNum(stockInRecord.getWarnNum());
- setVersion(1);
- }});
+ try {
+ stockInventoryMapper.insert(new StockInventory() {{
+ setProductModelId(stockInRecord.getProductModelId());
+ setQualitity(stockInRecord.getStockInNum());
+ setBatchNo(stockInRecord.getBatchNo());
+ setRemark(stockInRecord.getRemark());
+ setWarnNum(stockInRecord.getWarnNum());
+ setVersion(1);
+ }});
+ } catch (org.springframework.dao.DuplicateKeyException e) {
+ stockInventoryMapper.updateAddStockInventory(stockInventoryDto);
+ }
} else {
stockInventoryMapper.updateAddStockInventory(stockInventoryDto);
}
@@ -266,13 +270,17 @@
stockUninventoryDto.setQualitity(stockInRecord.getStockInNum());
stockUninventoryDto.setRemark(stockInRecord.getRemark());
if (stockUninventory == null) {
- stockUninventoryMapper.insert(new StockUninventory() {{
- setProductModelId(stockInRecord.getProductModelId());
- setQualitity(stockInRecord.getStockInNum());
- setBatchNo(stockInRecord.getBatchNo());
- setRemark(stockInRecord.getRemark());
- setVersion(1);
- }});
+ try {
+ stockUninventoryMapper.insert(new StockUninventory() {{
+ setProductModelId(stockInRecord.getProductModelId());
+ setQualitity(stockInRecord.getStockInNum());
+ setBatchNo(stockInRecord.getBatchNo());
+ setRemark(stockInRecord.getRemark());
+ setVersion(1);
+ }});
+ } catch (org.springframework.dao.DuplicateKeyException e) {
+ stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
+ }
} else {
stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
}
--
Gitblit v1.9.3