From b00eeab31bd13ba34a03301aa441b0751d6a93e4 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期五, 19 十二月 2025 17:00:51 +0800
Subject: [PATCH] 第六排成品可以放第七排原材料

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 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 29254d5..de208c9 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.common.Cools;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
@@ -43,7 +44,8 @@
     private IoCompleteService ioCompleteService;
     @Autowired
     private PltBarcodeService pltBarcodeService;
-
+    @Autowired
+    private  MatCodeService matCodeService;
     /**
      * ERP鎺ュ彛鏄惁鍚敤
      */
@@ -98,16 +100,37 @@
                     for (WrkDetl wrkDetl : wrkDetls) {
                         LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo()).eq("supplier", wrkDetl.getSupplier()));
                         if (null != locDetl) {
-                            boolean res = locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), wrkMast.getLocNo(), wrkDetl.getMatNo());
+                            boolean res = locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), wrkMast.getLocNo(), wrkDetl.getMatNo(),wrkDetl.getSupplier());
+
+
                             if (!res) {
                                 exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             }
                         } else {
+                            WrkDetl wrk_no = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+                                    .eq("wrk_no", wrkMast.getWrkNo()).eq("mat_no",wrkDetl.getMatNo()).eq("supplier",wrkDetl.getSupplier()));
+
+                            MatCode matCode = matCodeService.selectOne(new EntityWrapper<MatCode>().eq("mat_no", wrkDetl.getMatNo()));
                             locDetl = new LocDetl();
+                            
                             locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
+                            locDetl.setMemo(wrkMast.getMemo());
                             VersionUtils.setLocDetl(locDetl, wrkDetl); // 鐗堟湰鎺у埗
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
+                            locDetl.setAllQty(wrk_no.getAllQty());
+                            locDetl.setAllWeight(wrk_no.getAllWeight());
+                            locDetl.setSource(wrk_no.getSource());
+                            locDetl.setVendor(wrk_no.getVendor());
+                            locDetl.setWeight(matCode.getWeight());
+                            locDetl.setQtyBox(matCode.getStr6());
+                            locDetl.setStr3(matCode.getStr3());
+                            locDetl.setStr4(matCode.getStr4());
+                            locDetl.setStr5(matCode.getStr5());
+                            if (!Cools.isEmpty(wrk_no)){
+                                locDetl.setMemo(wrk_no.getMemo());
+                                locDetl.setSupplier(wrk_no.getSupplier());
+                            }
                             if (!locDetlService.insert(locDetl)) {
                                 exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             }
@@ -180,7 +203,7 @@
                         // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滃伐浣滄槑缁嗘暟閲忎负0鏃讹紝鍒犻櫎搴撳瓨鏄庣粏
                         LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo()));
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(locDetl.getQty() - wrkDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo())) {
+                            if (!locDetlService.updateAnfme(locDetl.getQty() - wrkDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo(),wrkDetl.getSupplier())) {
                                 exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             }
 
@@ -239,7 +262,7 @@
                     for (WrkDetl wrkDetl:wrkDetls54) {
                         LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("mat_no", wrkDetl.getMatNo()));
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getQty()+locDetl.getQty(), locMast.getLocNo(), wrkDetl.getMatNo(),wrkDetl.getSupplier())) {
                                 exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matNo={1}]", wrkMast.getWrkNo(), wrkDetl.getMatNo());
                             }
                         } else {

--
Gitblit v1.9.1