From 8d57e6bfaccbab25b95332e9bd556d25d1fbbaf7 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 17 六月 2023 16:37:55 +0800
Subject: [PATCH] #自动完成工作档时更新拣货单数量

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   67 ++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 18 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 f5fb2df..ddc381b 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -35,6 +35,10 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private ManPakOutService manPakOutService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -107,6 +111,9 @@
                             locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
                             locDetl.setModiTime(now);
                             locDetl.setAppeTime(now);
+                            locDetl.setOwner(wrkDetl.getOwner());
+                            locDetl.setPayment(wrkDetl.getPayment());
+                            locDetl.setWeight(wrkDetl.getWeight());
                             if (!locDetlService.insert(locDetl)) {
 //                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -318,10 +325,10 @@
     }
 
     private ReturnT<String> doOut(WrkMast wrkMast){
-        Date now = new Date();
-        LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+        Date now = new Date(); //鑾峰彇褰撳墠鐨勬椂闂�
+        LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); //鑾峰彇宸ヤ綔妗�
         try {
-            if (null == locMast) {
+            if (null == locMast) { //濡傛灉宸ヤ綔妗d负绌猴紝鎶涘嚭寮傚父
 //                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -341,21 +348,9 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                     }
-                    for (WrkDetl wrkDetl : wrkDetls101) {
-                        // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        try {
-                            if(!Cools.isEmpty(orderDetl)){
-                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
-//                                    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.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
 //                        exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
@@ -374,6 +369,42 @@
                             return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                         }
                     }
+                    EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
+                    orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo());
+                    orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
+
+                    OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
+
+                    OrderDetl orderDetl1 = new OrderDetl();
+                    orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
+                    orderDetl1.setUpdateTime(now);
+                    if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
+                        return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+                    }
+
+                    EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
+                    manPakOutEntityWrapper.eq("doc_num",wrkDetls101.get(0).getOrderNo());
+                    manPakOutEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
+                    ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
+                    manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).getAnfme());
+                    if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
+                        return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+                    }
+
+
+                    Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo());
+                    if (finsihed) {
+                        Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo());
+                        if (mastFinished) {
+                            Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo());
+                            if (!Cools.isEmpty(order)) {
+                                orderService.updateSettle(order.getId(),4L,1L);
+
+                            }
+                        }
+                    }
+
+
                     break;
                 // 绌烘澘鍑哄簱
                 case 110:

--
Gitblit v1.9.1