From 4d86df5389fb939e5a7a04af89afd8ca34b62fb5 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 13 十一月 2023 13:34:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 9 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 c6c9dd4..9465115 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -37,6 +37,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private ManPakOutService manPakOutService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -180,6 +182,19 @@
                                 }
                             }
                         } catch (Exception ignore){}
+
+                        //鏇存柊鎷h揣鍗曞畬鎴愭暟閲�
+                        EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
+                        manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
+                        manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+                        ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
+                        if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
+                            manPakOut.setStatus(1);
+                        }
+                        manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme());
+                        if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
+                            return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+                        }
 
                     }
                     // 淇敼搴撲綅鐘舵�� Q ====>> F
@@ -367,20 +382,45 @@
                             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);
+                    for (WrkDetl wrkDetl: wrkDetls101) {
+                        if(Cools.isEmpty(wrkDetl)){
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 浠诲姟鏄庣粏涓虹┖; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+                        }
+                        if (!wrkDetl.getOrderNo().isEmpty()){
+                            //鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                            EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
+                            orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo());
+                            orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr());
 
-                    OrderDetl orderDetl1 = new OrderDetl();
-                    orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
-                    orderDetl1.setUpdateTime(now);
-                    if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
-                        return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+                            OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
+
+                            OrderDetl orderDetl1 = new OrderDetl();
+                            orderDetl1.setQty(orderDetl.getQty() + wrkDetl.getAnfme());
+                            orderDetl1.setUpdateTime(now);
+                            if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
+                                return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+                            }
+                            //鏇存柊绔嬪簱鎷h揣鍗曞畬鎴愭暟閲�
+                            EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
+                            manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
+                            manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+                            manPakOutEntityWrapper.eq("loc_no","绔嬪簱");
+                            ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
+                            if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
+                                manPakOut.setStatus(1);
+                            }
+                            manPakOut.setCount(manPakOut.getCount() + wrkDetl.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());

--
Gitblit v1.9.1