From 25c9a362c85e629639263fe63b2aa1f08fdb1114 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 15 十二月 2025 17:01:27 +0800
Subject: [PATCH] 订单拆分生成系统编号逻辑调整2

---
 inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java |   34 ++++++++++++++--------------------
 1 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
index 8af553f..b06d571 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
@@ -3,16 +3,14 @@
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
 import com.ruoyi.basic.pojo.IfsInventoryQuantity;
-import com.ruoyi.common.numgen.NumberGenerator;
 import com.ruoyi.common.utils.api.MesApiUtils;
 import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
 import com.ruoyi.inspect.service.IfsSplitOrderRecordService;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.AfterReturning;
 import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Isolation;
@@ -36,13 +34,7 @@
 
     private final static String LOCATION_NO = "WG-02-001";//mes澶栬喘鍚堟牸搴撲綅
 
-    @Autowired
-    private IfsInventoryQuantityMapper ifsInventoryQuantityMapper;
-
-    @Autowired
-    private NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
-
-    @AfterReturning(value = "execution(* com.ruoyi.inspect.service.impl.InsOrderServiceImpl.moveRawMaterial(..))")
+    @Before(value = "execution(* com.ruoyi.inspect.service.impl.InsOrderServiceImpl.moveRawMaterial(..))")
     @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
     public void doAfterReturning(JoinPoint joinPoint) {
         Object[] args = joinPoint.getArgs();
@@ -60,24 +52,25 @@
                         .last("limit 1")
                 );
                 if(Objects.nonNull(one)){
-                    //鏌ヨ瀵瑰簲璁板綍鏄惁鏈夌浉鍚屾壒鍙峰拰闆朵欢鐨勮鍗曡褰�
-                    List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery()
-                            .eq(IfsInventoryQuantity::getUpdateBatchNo, one.getLotBatchNo())
-                            .eq(IfsInventoryQuantity::getPartNo, one.getPartNo())
-                            .ne(IfsInventoryQuantity::getId,ifsInventoryQuantity.getId())
+                    //鏌ヨ瀵瑰簲璁板綍鐩稿悓鎵瑰彿鍜岄浂浠朵笖宸插悓姝ョ殑璁㈠崟璁板綍
+                    List<IfsSplitOrderRecord> quantityList = ifsSplitOrderRecordService.list(Wrappers.<IfsSplitOrderRecord>lambdaQuery()
+                            .eq(IfsSplitOrderRecord::getPartNo,one.getPartNo())
+                            .eq(IfsSplitOrderRecord::getLotBatchNo,one.getLotBatchNo())
+                            .ne(IfsSplitOrderRecord::getId,one.getId())
+                            .eq(IfsSplitOrderRecord::getSyncStatus,1)
                     );
-                    //鑾峰彇宸叉楠岀殑鏁版嵁鏉℃暟
-                    long count = quantityList.stream().filter(f -> f.getIsFinish().equals(1)).count();
-                    if(!quantityList.isEmpty() && count>0){
-                        //鐢熸垚鏂扮殑绯荤粺缂栧彿
-                        one.setSystemNo(splitOrderRecordNumberGenerator.generateNumberWithPrefix(IfsSplitOrderRecord.DIGIT,IfsSplitOrderRecord.PREFIX,IfsSplitOrderRecord::getSystemNo));
+                    if(!quantityList.isEmpty()){
+                        //浣跨敤鐩稿悓鐨勭郴缁熺紪鍙�
+                        one.setSystemNo(quantityList.get(0).getSystemNo());
                     }
                     //鍚屾MES瀹炴椂搴撳瓨
                     Map<String, Object> requestMap = new HashMap<>();
                     requestMap.put("partNo", one.getPartNo()); // 闆朵欢缂栧彿
                     requestMap.put("systemNo", one.getSystemNo()); // 绯荤粺缂栧彿
+                    requestMap.put("newSystemNo", one.getSystemNo()); // 鏂扮郴缁熺紪鍙�
                     requestMap.put("spec", one.getSpec()); // 瑙勬牸
                     requestMap.put("partBatchNo", one.getLotBatchNo()); // 闆朵欢鎵瑰彿
+                    requestMap.put("newPartBatchNo", one.getLotBatchNo()); // 鏂伴浂浠舵壒鍙�
                     requestMap.put("stockQuantity", one.getLength()); // 搴撳瓨鏁伴噺1
                     requestMap.put("qty", one.getQtyStock()); // 搴撳瓨鏁伴噺2
                     requestMap.put("insulationColor", one.getInsulationColor()); // 缁濈紭棰滆壊
@@ -90,6 +83,7 @@
                     requestMap.put("remark", one.getRemark()); // 澶囨敞
 
                     String jsonStr = JSONUtil.toJsonStr(Collections.singletonList(requestMap));
+                    log.info("鍚屾MES瀹炴椂搴撳瓨璇锋眰鍙傛暟-->{}",jsonStr);
                     boolean b = mesApiUtils.batchAddStock(jsonStr);
                     //鍚屾鎴愬姛锛屾洿鏂板悓姝ョ姸鎬�
                     if(b){

--
Gitblit v1.9.3