From 7102e9faca7b1cc6da94be325831c13d0301d7f6 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 09 二月 2026 14:42:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 39619b7..725825e 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -24,6 +24,7 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -158,6 +159,24 @@
                         } catch (Exception ignore) {
                         }
 
+                        // 鏇存柊瀛愯鍗曞畬鎴愭暟閲�
+                        OrderDetl1 orderDetl1 = orderDetl1Service.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        if (orderDetl1 == null) {
+                            orderDetl1 = orderDetl1Service.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        }
+                        try {
+                            if (!Cools.isEmpty(orderDetl)) {
+                                if (!orderDetl1Service.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(), wrkDetl.getAnfme())) {
+//                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                }
+                            }
+                        } catch (Exception ignore) {
+                        }
+
                     }
                     // 鍐欏叆涓棿琛ㄦ暟鎹�
                     write(wrkMast, wrkDetls);
@@ -223,7 +242,7 @@
                             try {
                                 if (!Cools.isEmpty(orderDetl1)) {
                                     if (!orderDetl1Service.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                            orderDetl.getBatch(), wrkDetl.getAnfme())) {
+                                            batch, wrkDetl.getAnfme())) {
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -522,8 +541,19 @@
     private void write(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
         ExdInstockTarget exdInstockTarge;
         int i = 1;
+        //璁℃暟
+        HashMap<String,Integer> hashMap = new HashMap<>();
         for (WrkDetl wrkDetl : wrkDetls) {
             if (Cools.isEmpty(wrkDetl.getOrderNo()) && !Cools.isEmpty(wrkDetl.getInspect()) && wrkDetl.getInspect() == 1) {
+                if (Cools.isEmpty(hashMap)){
+                    hashMap.put(wrkDetl.getOrigin(),1);
+                }else{
+                    if(hashMap.containsKey(wrkDetl.getOrigin())){
+                        hashMap.put(wrkDetl.getOrigin(),hashMap.get(wrkDetl.getOrigin())+1);
+                    }else{
+                        hashMap.put(wrkDetl.getOrigin(),1);
+                    }
+                }
                 ExdvYanbu bacode = exdMaterialMapper.getBacode(wrkDetl.getThreeCode());
                 if (bacode == null) {
                     log.info("楠屽竷鏁版嵁娌℃湁锛寋}", wrkDetl.getThreeCode());
@@ -541,7 +571,7 @@
                 exdInstockTarge.setFbillerid(Integer.valueOf(id.getEmail()));
                 exdInstockTarge.setFfmanagerid(17938);
                 exdInstockTarge.setFsmanagerid(17938);
-                exdInstockTarge.setFentryid(i);
+                exdInstockTarge.setFentryid(hashMap.get(wrkDetl.getOrigin()));
                 //鐗╂枡ID
                 Mat mat = matServiceImpl.selectByMatnr(wrkDetl.getMatnr());
                 exdInstockTarge.setFitemid(Integer.valueOf(mat.getUuid()));
@@ -554,15 +584,15 @@
                 //婧愬崟鍙�
                 exdInstockTarge.setFsourcebillno(bacode.getIcmono());
                 //婧愬崟缁嗚〃ID
-                exdInstockTarge.setFsourceentryid(i);
+                exdInstockTarge.setFsourceentryid(1);
                 //婧愬崟鍗曟嵁绫诲瀷
                 exdInstockTarge.setFsourcetrantype(85);
                 //搴撲綅ID
                 exdInstockTarge.setFdcspid(0);
                 //浠撳簱ID
                 Integer Fdcstockid = 19382;
-                if(!Cools.isEmpty(bacode.getProdinkind())){
-                    ExdStock fname = exdStockService.selectOne(new EntityWrapper<ExdStock>().eq("Fname", bacode.getProdinkind()));
+                if(!Cools.isEmpty(wrkDetl.getBrand())){
+                    ExdStock fname = exdStockService.selectOne(new EntityWrapper<ExdStock>().eq("Fname", wrkDetl.getBrand()));
                     Fdcstockid = Integer.valueOf(fname.getId());
                 }
 
@@ -581,6 +611,8 @@
                 exdInstockTarge.setStatus(0);
                 //浠撳簱
                 exdInstockTarge.setProdinkind(bacode.getProdinkind());
+                //鐢熶骇鍏ュ簱瀵逛竴鍧ㄧ墿鏂欒繘琛岀粦瀹氥�傚敮涓�鍊�
+                exdInstockTarge.setFbillno(wrkDetl.getOrigin());
                 //exdInstockTarge.setProdInKind("鐗归噰搴�");
                 if(!exdInstockTargetService.insert(exdInstockTarge)){
                     throw new CoolException("楠屽竷鍏ュ簱瀹屾垚鎻掑叆鍏ュ簱琛ㄥけ璐�");

--
Gitblit v1.9.1