From 68ef386e91f03fe973d817889ced05f9d83406b8 Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期六, 16 七月 2022 08:18:18 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/zy-asrs into hylyasrs

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 4691203..4b82962 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -726,6 +726,7 @@
     @Override
     @Transactional
     public void cancelWrkMast(String workNo, Long userId) {
+        Date now = new Date();
         WrkMast wrkMast = wrkMastService.selectById(workNo);
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
@@ -745,7 +746,7 @@
                     throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo());
                 }
                 locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F");
-                locMast.setModiTime(new Date());
+                locMast.setModiTime(now);
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
             }
@@ -767,7 +768,7 @@
                     throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo());
                 }
                 locMast.setLocSts("O");
-                locMast.setModiTime(new Date());
+                locMast.setModiTime(now);
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
             }
@@ -782,6 +783,38 @@
                 waitPakin.setIoStatus("N");
                 waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
             }
+        }
+
+        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
+            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+            for (WrkDetl wrkDetl : wrkDetls) {
+                if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+                    }
+
+                    //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
+                    boolean flag = true;
+                    List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+                    for(OrderDetl orderDetl : orderDetls){
+                        if(orderDetl.getWorkQty() > 0){
+                            flag = false;
+                        }
+                    }
+                    if(flag){
+                        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
+                        if(!Cools.isEmpty(order) && order.getSettle()==2){
+                            order.setSettle(1L);
+                            order.setUpdateBy(userId);
+                            order.setUpdateTime(now);
+                        }
+                        if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
+                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+                        }
+                    }
+                }
+            }
+
         }
 
 //        // 璁㈠崟鍏宠仈
@@ -799,7 +832,7 @@
         // 鍙栨秷鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩鍙栨秷");
         wrkMast.setModiUser(userId);
-        wrkMast.setModiTime(new Date());
+        wrkMast.setModiTime(now);
         if (!wrkMastService.updateById(wrkMast)) {
             throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�");
         }
@@ -825,7 +858,7 @@
             throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
         }
         locMast.setLocSts(locSts);
-        locMast.setModiTime(new Date());
+        locMast.setModiTime(now);
         locMast.setModiUser(userId);
         boolean locMastRes = locMastService.updateById(locMast);
         if (!wrkMastRes || !locMastRes) {

--
Gitblit v1.9.1