From e899597b10286b38fdda652b37872e5a170c8e2b Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 01 七月 2023 16:46:50 +0800
Subject: [PATCH] st订单,平库功能修复

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  142 +++++++++++++++++++++++++++--------------------
 1 files changed, 82 insertions(+), 60 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 2169f86..f4457b9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -641,7 +641,11 @@
             EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
             manPakOutEntityWrapper.eq("loc_no",jsonLocNo);
             manPakOutEntityWrapper.eq("matnr",jsonOrderDetl.getMatnr());
+            manPakOutEntityWrapper.eq("doc_num",order.getOrderNo());
             ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); //鑾峰彇鎷h揣鍗曚腑鐨勫搴旂殑璁㈠崟
+            if(Cools.isEmpty(manPakOut)){
+                return R.error("娌℃湁鎵惧埌瀵瑰簲鐨勫嚭搴撳崟"+jsonLocNo+"-------"+jsonOrderDetl.getMatnr());
+            }
             if(manPakOut.getCount() == null){
                 manPakOut.setCount(0.0);
             }
@@ -719,8 +723,7 @@
             EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
             manLocDetlEntityWrapper.eq("loc_no",manPakOut.getLocNo());
             manLocDetlEntityWrapper.eq("matnr",manPakOut.getMatnr());
-            if (checkManLocDetl.getAnfme().intValue() == manPakOut.getCount()){
-
+            if (checkManLocDetl.getAnfme() == 0 ){
                 if(!manLocDetlService.delete(manLocDetlEntityWrapper)){
                     return R.error("鍒犻櫎骞冲簱搴撳瓨澶辫触");
                 }
@@ -741,70 +744,89 @@
         String jsonLocNo = (String) json.get("locNo"); //鑾峰彇搴撲綅鐮�
         String jsonBarNo = (String) json.get("barcode"); //鑾峰彇鎵樼洏鐮�
 
-        WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", jsonBarNo)); //鑾峰彇瀵瑰簲缁勬墭淇℃伅
-        if (waitPakin.equals(null)){
+        List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", jsonBarNo)); //鑾峰彇瀵瑰簲缁勬墭淇℃伅
+        if (Cools.isEmpty(waitPakins)){
             return R.error("鏈煡璇㈠埌缁勬墭");
-        } else if (waitPakin.getIoStatus() == "Y") {
+        } else if (waitPakins.get(0).getIoStatus() == "Y") {
             return R.error("缁勬墭宸茬粡鐢熸垚宸ヤ綔妗�");
         }
-        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo()));  //鑾峰彇瀵瑰簲璁㈠崟淇℃伅
-        if (order.equals(null)){
-            return R.error("鏈煡璇㈠埌璁㈠崟淇℃伅");
-        }
-        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.
-                getOrderNo()).eq("matnr", waitPakin.getMatnr()));  //鑾峰彇瀵瑰簲璁㈠崟鏄庣粏淇℃伅
-        if (orderDetl.equals(null)){
-            return R.error("鏈煡璇㈠埌璁㈠崟鏄庣粏淇℃伅");
-        }
-        Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo));  //鑾峰彇瀵瑰簲搴撲綅淇℃伅
-        if (node.equals(null)){
-            return R.error("鏈煡璇㈠埌搴撲綅淇℃伅");
-        }
-        Date date = new Date();
-        ManLocDetl manLocDetl = new ManLocDetl();  //鍒濆鍖栧簱瀛樺疄浣撶被
-        manLocDetl.setLocNo(node.getName());
-        manLocDetl.setNodeId(node.getId());
-        manLocDetl.setZpallet(waitPakin.getZpallet());
-        manLocDetl.setAnfme(waitPakin.getAnfme());
-        manLocDetl.setMatnr(waitPakin.getMatnr());
-        manLocDetl.setMaktx(waitPakin.getMaktx());
-        manLocDetl.setStatus(1);
-        manLocDetl.setCreateBy(user.getId());
-        manLocDetl.setCreateTime(date);
-        manLocDetl.setUpdateBy(user.getId());
-        manLocDetl.setModiTime(date);
-        manLocDetl.setOrderNo(waitPakin.getOrderNo());
-        manLocDetl.setOwner(waitPakin.getOwner());
-        manLocDetl.setPayment(waitPakin.getPayment());
+        //鍒ゆ柇璁㈠崟鏄惁瀹屾垚
+        boolean log =true;
 
-        if (!manLocDetlService.insert(manLocDetl)){  //鏁版嵁搴撴彃鍏ュ疄浣撶被淇℃伅
-            return R.error("鐗╂枡淇℃伅鍏ュ簱澶辫触");
-        }
-        orderDetl.setQty(orderDetl.getQty()+ waitPakin.getAnfme());  //鏇存柊璁㈠崟鏄庣粏鏁伴噺
-        if (!orderDetlService.updateById(orderDetl)){
-            return R.error("鏇存柊璁㈠崟鏄庣粏澶辫触");
-        }
+        for (WaitPakin waitPakin: waitPakins) {
+            Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo()));  //鑾峰彇瀵瑰簲璁㈠崟淇℃伅
+            if (order.equals(null)){
+                return R.error("鏈煡璇㈠埌璁㈠崟淇℃伅");
+            }
+            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.
+                    getOrderNo()).eq("matnr", waitPakin.getMatnr()));  //鑾峰彇瀵瑰簲璁㈠崟鏄庣粏淇℃伅
+            if (orderDetl.equals(null)){
+                return R.error("鏈煡璇㈠埌璁㈠崟鏄庣粏淇℃伅");
+            }
+            Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo));  //鑾峰彇瀵瑰簲搴撲綅淇℃伅
+            if (node.equals(null)){
+                return R.error("鏈煡璇㈠埌搴撲綅淇℃伅");
+            }
+            Date date = new Date();
+            ManLocDetl manLocDetl = new ManLocDetl();  //鍒濆鍖栧簱瀛樺疄浣撶被
+            manLocDetl.setLocNo(node.getName());
+            manLocDetl.setNodeId(node.getId());
+            manLocDetl.setZpallet(waitPakin.getZpallet());
+            manLocDetl.setAnfme(waitPakin.getAnfme());
+            manLocDetl.setMatnr(waitPakin.getMatnr());
+            manLocDetl.setMaktx(waitPakin.getMaktx());
+            manLocDetl.setStatus(1);
+            manLocDetl.setCreateBy(user.getId());
+            manLocDetl.setCreateTime(date);
+            manLocDetl.setUpdateBy(user.getId());
+            manLocDetl.setModiTime(date);
+            manLocDetl.setOrderNo(waitPakin.getOrderNo());
+            manLocDetl.setOwner(waitPakin.getOwner());
+            manLocDetl.setPayment(waitPakin.getPayment());
 
-        WaitPakinLog waitPakinLog = new WaitPakinLog(); //鍒濆鍖栧叆搴撻�氱煡鍗曟棩蹇楀疄浣撶被
-        waitPakinLog.setZpallet(waitPakin.getZpallet());
-        waitPakinLog.setAnfme(waitPakin.getAnfme());
-        waitPakinLog.setMatnr(waitPakin.getMatnr());
-        waitPakinLog.setLocNo(waitPakin.getLocNo());
-        waitPakinLog.setMaktx(waitPakin.getMaktx());
-        waitPakinLog.setOrderNo(waitPakin.getOrderNo());
-        waitPakinLog.setWeight(waitPakin.getWeight());
-        waitPakinLog.setStatus("Y");
-        waitPakinLog.setIoStatus("Y");
-        waitPakinLog.setModiUser(user.getId());
-        waitPakinLog.setModiTime(date);
-        waitPakinLog.setAppeUser(user.getId());
-        waitPakinLog.setAppeTime(date);
-        waitPakinLog.setOwner(waitPakin.getOwner());
-        waitPakinLog.setPayment(waitPakin.getPayment());
-        waitPakinLog.setUuid(waitPakin.getUuid());
+            if (!manLocDetlService.insert(manLocDetl)){  //鏁版嵁搴撴彃鍏ュ疄浣撶被淇℃伅
+                return R.error("鐗╂枡淇℃伅鍏ュ簱澶辫触");
+            }
+            orderDetl.setQty(orderDetl.getQty()+ waitPakin.getAnfme());  //鏇存柊璁㈠崟鏄庣粏鏁伴噺
+            if (!orderDetlService.updateById(orderDetl)){
+                return R.error("鏇存柊璁㈠崟鏄庣粏澶辫触");
+            }
 
-        if (!waitPakinLogService.insert(waitPakinLog)){  //鎻掑叆鍏ュ簱閫氱煡鍘嗗彶妗f暟鎹簱
-            return R.error("鎻掑叆鍘嗗彶鍏ュ簱閫氱煡妗eけ璐�");
+            WaitPakinLog waitPakinLog = new WaitPakinLog(); //鍒濆鍖栧叆搴撻�氱煡鍗曟棩蹇楀疄浣撶被
+            waitPakinLog.setZpallet(waitPakin.getZpallet());
+            waitPakinLog.setAnfme(waitPakin.getAnfme());
+            waitPakinLog.setMatnr(waitPakin.getMatnr());
+            waitPakinLog.setLocNo(waitPakin.getLocNo());
+            waitPakinLog.setMaktx(waitPakin.getMaktx());
+            waitPakinLog.setOrderNo(waitPakin.getOrderNo());
+            waitPakinLog.setWeight(waitPakin.getWeight());
+            waitPakinLog.setStatus("Y");
+            waitPakinLog.setIoStatus("Y");
+            waitPakinLog.setModiUser(user.getId());
+            waitPakinLog.setModiTime(date);
+            waitPakinLog.setAppeUser(user.getId());
+            waitPakinLog.setAppeTime(date);
+            waitPakinLog.setOwner(waitPakin.getOwner());
+            waitPakinLog.setPayment(waitPakin.getPayment());
+            waitPakinLog.setUuid(waitPakin.getUuid());
+
+            if (!waitPakinLogService.insert(waitPakinLog)){  //鎻掑叆鍏ュ簱閫氱煡鍘嗗彶妗f暟鎹簱
+                return R.error("鎻掑叆鍘嗗彶鍏ュ簱閫氱煡妗eけ璐�");
+            }
+            //璁㈠崟鏄惁瀹屾垚
+            List<OrderDetl> or = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.getOrderNo()));
+            for (OrderDetl o: or) {
+                if(o.getAnfme()-o.getQty()>0){
+                    log=false;
+                    break;
+                }
+            }
+            if(log){
+                order.setSettle(4L);
+                if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo()))){
+                    return R.error("璁㈠崟杞畬鎴愮姸鎬佸け璐ワ紒锛侊紒");
+                }
+            }
         }
 
         if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",jsonBarNo))){  //鍒犻櫎鍘熷叆搴撻�氱煡妗�

--
Gitblit v1.9.1