From 047fda05a26ce9a9786ec5f1dca0f82a95d30bed Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 28 六月 2023 09:56:24 +0800
Subject: [PATCH] #pda订单下架重量空优化、订单出库批量出库优化

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   55 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 17 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 ddc381b..67a1fc6 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -183,6 +183,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
                     if (locMast.getLocSts().equals("Q")) {
@@ -369,27 +382,35 @@
                             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());
+                    if (!wrkDetls101.get(0).getOrderNo().isEmpty()){
+                        //鏇存柊璁㈠崟瀹屾垚鏁伴噺
+                        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 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("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+                        OrderDetl orderDetl1 = new OrderDetl();
+                        orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
+                        orderDetl1.setUpdateTime(now);
+                        if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
+                            return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+                        }
+                        //鏇存柊鎷h揣鍗曞畬鎴愭暟閲�
+                        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);
+                        if (manPakOut.getCount() + wrkDetls101.get(0).getAnfme() >= manPakOut.getAnfme()){
+                            manPakOut.setStatus(1);
+                        }
+                        manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).getAnfme());
+
+                        if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
+                            return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+                        }
                     }
 
-                    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());

--
Gitblit v1.9.1