From 652422ee99ff84d5198d770d8f70766dd591e686 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期五, 05 七月 2024 20:19:31 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java |   93 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 73 insertions(+), 20 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
index 4c303cd..0e871d1 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
@@ -1,10 +1,7 @@
 package com.zy.asrs.wms.task.handler;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.asrs.common.wms.entity.LocDetl;
-import com.zy.asrs.common.wms.entity.LocMast;
-import com.zy.asrs.common.wms.entity.WrkDetl;
-import com.zy.asrs.common.wms.entity.WrkMast;
+import com.zy.asrs.common.wms.entity.*;
 import com.zy.asrs.common.wms.service.*;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.wms.task.AbstractHandler;
@@ -36,6 +33,8 @@
     private LocDetlService locDetlService;
     @Autowired
     private WaitPakinService waitPakinService;
+    @Autowired
+    private OrderDetlService orderDetlService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 99.鍏ュ簱瀹屾垚
@@ -107,21 +106,21 @@
                             }
                         }
 
-                        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+                        if (orderDetl==null){
+                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
+                        }
                         try {
-//                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
-//                                    .eq("zpallet", wrkDetl.getZpallet())
-//                                    .eq("matnr", wrkDetl.getMatnr())
-//                                    .eq("anfme", wrkDetl.getAnfme());
-//                            if (Cools.isEmpty(wrkDetl.getBatch())) {
-//                                wrapper.eq("batch", wrkDetl.getBatch());
-//                            } else {
-//                                wrapper.isNull("batch").or().eq("batch", "");
-//                            }
-//                            WaitPakin setParam = new WaitPakin();
-//                            setParam.setIoStatus("Y");
-//                            setParam.setModiTime(now);
-//                            waitPakinService.update(setParam, wrapper);
+                            if(!Cools.isEmpty(orderDetl)){
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+//                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                }
+                            }
                         } catch (Exception ignore){}
 
                     }
@@ -132,6 +131,7 @@
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
                         locMast.setPic(wrkMast.getPic());
+                        locMast.setFullPlt(wrkMast.getFullPlt());
                         if (!locMastService.updateById(locMast)) {
                             exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                         }
@@ -152,6 +152,24 @@
                                 exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             }
                         }
+
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+                        if (orderDetl==null){
+                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
+                        }
+                        try {
+                            if(!Cools.isEmpty(orderDetl)){
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+//                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                }
+                            }
+                        } catch (Exception ignore){}
+
                     }
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
                     if (locMast.getLocSts().equals("Q")) {
@@ -177,7 +195,7 @@
 
                         LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId)) {
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() + wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId)) {
                                 exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                             }
                         } else {
@@ -192,6 +210,22 @@
                                 exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                             }
                         }
+
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+                        if (orderDetl == null) {
+                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+                        }
+                        try {
+                            if(!Cools.isEmpty(orderDetl)){
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                }
+                            }
+                        } catch (Exception ignore){}
+
                     }
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
                     if (locMast.getLocSts().equals("Q")) {
@@ -238,11 +272,14 @@
                     }
                     // 淇敼婧愬簱浣嶇姸鎬� ==> O
                     LocMast sourceLoc = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, wrkMast.getSourceLocNo()).eq(LocMast::getHostId, hostId));
+                    String picUrl = "";
                     if (null != sourceLoc) {
+                        picUrl = sourceLoc.getPic();
                         sourceLoc.setBarcode("");
                         sourceLoc.setLocSts("O");
                         sourceLoc.setModiTime(now);
                         sourceLoc.setIoTime(now);
+                        sourceLoc.setPic("");
                         if (!locMastService.updateById(sourceLoc)) {
                             exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                         }
@@ -252,6 +289,7 @@
                     locMast.setBarcode(wrkMast.getBarcode());
                     locMast.setIoTime(now);
                     locMast.setModiTime(now);
+                    locMast.setPic(picUrl);
                     if (!locMastService.updateById(locMast)) {
                         exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                     }
@@ -296,7 +334,22 @@
                         exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
                     }
                     for (WrkDetl wrkDetl : wrkDetls101) {
-                        // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+                        if (orderDetl==null){
+                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
+                        }
+                        try {
+                            if(!Cools.isEmpty(orderDetl)){
+                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+//                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
+                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                    return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                                }
+                            }
+                        } catch (Exception ignore){}
                     }
                     // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
                     if (!locDetlService.remove(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, wrkMast.getSourceLocNo()).eq(LocDetl::getHostId, hostId))) {

--
Gitblit v1.9.1