From ab5ba48b59bd4811e1df243b6f24e7cef1182fd6 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 29 四月 2026 16:18:20 +0800
Subject: [PATCH] 业务管理:外购订单更新批次属性报错目标已存在问题调整
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java | 39 ++++++++++++++++++++++++++++++++++++---
1 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
index e253ca4..19d7e5f 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -85,16 +85,27 @@
public class RawMaterialOrderServiceImpl implements RawMaterialOrderService {
private StandardTreeMapper standardTreeMapper;
+
private IfsInventoryQuantityMapper ifsInventoryQuantityMapper;
+
private UserMapper userMapper;
+
private InsOrderService insOrderService;
+
private InsOrderMapper insOrderMapper;
+
private InsSampleMapper insSampleMapper;
+
private final NumberGenerator<InsOrder> numberGenerator;
+
private InsReportService insReportService;
+
private WechatProperty wechatProperty;
+
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
+
private InsProductMapper insProductMapper;
+
private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
private IfsApiUtils ifsApiUtils;
@@ -242,6 +253,7 @@
if(!validateValue){
throw new ErrorException("鎶ユ澶辫触锛岄潪娉曠殑閿�鍞鍗曞垎绫绘灇涓�");
}
+ validateUpdateBatchNo(ifsInventoryQuantity);
//鎵规鍙峰瓧姣嶈浆澶у啓
ifsInventoryQuantity.setUpdateBatchNo(ifsInventoryQuantity.getUpdateBatchNo().toUpperCase(Locale.ROOT));
ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate()
@@ -266,6 +278,26 @@
WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message);
});
return 1;
+ }
+
+ /**
+ * 鏍¢獙澶栬喘璁㈠崟鎶ユ鐨勬壒娆″彿鏄惁閲嶅
+ * @param ifsInventoryQuantity
+ */
+ public void validateUpdateBatchNo(IfsInventoryQuantity ifsInventoryQuantity){
+ if(StringUtils.equals(ifsInventoryQuantity.getOrderType(),OrderType.WG.getValue())){
+ //鏌ヨ鍘嗗彶璁板綍
+ Long count = ifsInventoryQuantityMapper.selectCount(Wrappers.<IfsInventoryQuantity>lambdaQuery()
+ .eq(IfsInventoryQuantity::getContract,ifsInventoryQuantity.getContract())
+ .eq(IfsInventoryQuantity::getPartNo,ifsInventoryQuantity.getPartNo())
+ .eq(IfsInventoryQuantity::getUpdateBatchNo,ifsInventoryQuantity.getUpdateBatchNo())
+ .eq(IfsInventoryQuantity::getOrderType,OrderType.WG.getValue())
+ .ne(IfsInventoryQuantity::getState,0)
+ );
+ if(count>0){
+ throw new RuntimeException("鎶ユ澶辫触锛岄浂浠�"+ifsInventoryQuantity.getPartNo()+"鎵�鎶ユ鐨勬壒娆″彿銆�"+ifsInventoryQuantity.getUpdateBatchNo()+"銆戝凡瀛樺湪锛�");
+ }
+ }
}
/**
@@ -371,7 +403,7 @@
insOrderMapper.updateById(insOrder);
// 娣诲姞宸ユ椂
- addAuxiliary(insOrder, ifsInventoryQuantity);
+// addAuxiliary(insOrder, ifsInventoryQuantity);
// todo: ifs鐩存帴绉诲簱
insReportService.isRawMaterial(insOrder,true,true);
@@ -466,7 +498,7 @@
insOrderMapper.insert(insOrder);
// 娣诲姞宸ユ椂
- addAuxiliary(insOrder, ifsInventoryQuantity);
+// addAuxiliary(insOrder, ifsInventoryQuantity);
// todo: ifs鐩存帴绉诲簱
insReportService.isRawMaterial(insOrder,true,true);
@@ -526,6 +558,7 @@
if(!OrderType.validateValue(ifsInventoryQuantity.getOrderType())){
throw new ErrorException("鏂板鎶ユ淇℃伅澶辫触锛岄潪娉曠殑閿�鍞鍗曞垎绫绘灇涓�");
}
+ validateUpdateBatchNo(ifsInventoryQuantity);
ifsInventoryQuantityMapper.insert(ifsInventoryQuantity);
}
@@ -603,7 +636,7 @@
insOrderMapper.updateById(insOrder);
// 娣诲姞宸ユ椂
- addAuxiliary(insOrder, ifsInventoryQuantity);
+// addAuxiliary(insOrder, ifsInventoryQuantity);
return insOrder.getId();
}
--
Gitblit v1.9.3