From e400c6f84ad6e777ae32597d01eb2d0fd79f5e56 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期四, 21 十一月 2024 15:58:17 +0800
Subject: [PATCH] 完善

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
index 9dd70e8..4058f7e 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -72,7 +72,7 @@
         Date now = new Date();
 
         // 鏃犲崟缁勬墭
-        if (Cools.isEmpty(param.getOrderNo())) {
+        if (Cools.isEmpty(param.getCombMats().get(0).getOrderNo())) {
 
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
@@ -112,14 +112,13 @@
             }
             // 鍏宠仈缁勬墭
         }  else {
-            Order order = orderService.selectByNo(param.getOrderNo(), hostId);
-            if (order.getSettle() > 2) {
-                throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
-            }
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
             param.getCombMats().forEach(elem -> {
-
+                Order order = orderService.selectByNo(elem.getOrderNo(), hostId);
+                if (order.getSettle() > 2) {
+                    throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
+                }
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
                 OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),hostId);
                 if (elem.getAnfme() > orderDetl.getEnableQty()) {
@@ -139,6 +138,7 @@
                     assert one != null;
                     one.setAnfme(one.getAnfme() + detlDto.getAnfme());
                 } else {
+                    detlDto.setOrderNo(order.getOrderNo());
                     detlDtos.add(detlDto);
                 }
             });
@@ -147,6 +147,9 @@
                 if (Cools.isEmpty(mat)) {
                     throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
                 }
+
+                Order order = orderService.selectByNo(detlDto.getOrderNo(), hostId);
+
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.sync(mat);
                 waitPakin.setOrderNo(order.getOrderNo());   // 鍗曟嵁缂栧彿
@@ -166,8 +169,9 @@
                 if (!waitPakinService.save(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
+                orderService.updateSettle(order.getId(), 2L, userId, hostId);
             }
-            orderService.updateSettle(order.getId(), 2L, userId, hostId);
+
         }
 
     }
@@ -376,7 +380,7 @@
                     .eq(LocDetl::getHostId, hostId)
                     .eq(LocDetl::getZpallet, combMat.getZpallet())
                     .eq(LocDetl::getMatnr, combMat.getMatnr())
-                    .eq(LocDetl::getBatch, combMat.getBatch())
+//                    .eq(LocDetl::getBatch, combMat.getBatch())
             );
             if (Cools.isEmpty(locDetl)){
                 return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
@@ -397,7 +401,7 @@
                     continue;
                 }
                 if (orderDetl.getAnfme() < orderDetl.getWorkQty()+combMat.getAnfme()){
-                    throw new CoolException("涓嬫灦鏁伴噺鍑洪敊");
+                    combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
                 }
                 // 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺
                 if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
@@ -851,4 +855,5 @@
 
         return R.ok();
     }
+
 }

--
Gitblit v1.9.1