From 84002ef893ed575cd2c9e36b8c1c0ae6c3b28786 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 07 四月 2026 15:29:09 +0800
Subject: [PATCH] 业务管理:内部订单报检后自动免检

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 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..2a87049 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()+"銆戝凡瀛樺湪锛�");
+            }
+        }
     }
 
     /**
@@ -526,6 +558,7 @@
         if(!OrderType.validateValue(ifsInventoryQuantity.getOrderType())){
             throw new ErrorException("鏂板鎶ユ淇℃伅澶辫触锛岄潪娉曠殑閿�鍞鍗曞垎绫绘灇涓�");
         }
+        validateUpdateBatchNo(ifsInventoryQuantity);
         ifsInventoryQuantityMapper.insert(ifsInventoryQuantity);
     }
 

--
Gitblit v1.9.3