From 17080b28dc3fb0df12a5a4da76e10dd9203e5725 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 08 十月 2025 11:07:48 +0800
Subject: [PATCH] 订单功能完善

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   62 ++++++++++++++++---------------
 1 files changed, 32 insertions(+), 30 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 e4c1241..71e8bfb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -29,10 +29,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 
 /**
  * 绉诲姩绔湇鍔℃牳蹇冪被
@@ -223,23 +220,24 @@
             SaasUtils.insertLog(0, locNo, waitPakin.getMatnr(), waitPakin.getAnfme(), userId,waitPakin.getBatch());
 
             //鏄惁灞炰簬璁㈠崟鏁版嵁
-//            if (!Cools.isEmpty(waitPakin.getOrderNo())){
-//                Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId);
-//                if (Cools.isEmpty(order)){
-//                    continue;
-//                }
-//                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(),hostId);
-//                if (Cools.isEmpty(orderDetl)){
-//                    continue;
-//                }
-//                // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
-//                if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
-//                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
-//                }
-//                // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
-//                orderService.checkComplete(waitPakin.getOrderNo(), hostId);
-//
-//            }
+            //鏄惁灞炰簬璁㈠崟鏁版嵁
+            if (!Cools.isEmpty(waitPakin.getOrderNo())){
+                Order order = orderService.selectByNo(waitPakin.getOrderNo());
+                if (Cools.isEmpty(order)){
+                    throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟澶辫触");
+                }
+                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch());
+                if (Cools.isEmpty(orderDetl)){
+                    throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟鏄庣粏澶辫触");
+                }
+                // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
+                if (!orderDetlService.increase(order.getId(),waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
+                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+                }
+                // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+                orderService.checkComplete(waitPakin.getOrderNo());
+
+            }
 
             // 鏇存柊鍏ュ簱宸ヤ綔妗�
             waitPakin.setLocNo(locNo);
@@ -294,7 +292,7 @@
         Date now = new Date();
 
         // 鏃犲崟缁勬墭
-        if (Cools.isEmpty(param.getOrderNo())) {
+        if (Cools.isEmpty(param.getCombMats().get(0).getOrderNo())) {
 
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
@@ -332,22 +330,22 @@
             }
         // 鍏宠仈缁勬墭
         } else {
-            Order order = orderService.selectByNo(param.getOrderNo());
-            if (Cools.isEmpty(order) || order.getSettle() > 2) {
-                throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
-            }
+
             // 鐢熸垚鍏ュ簱閫氱煡妗�
             List<DetlDto> detlDtos = new ArrayList<>();
             param.getCombMats().forEach(elem -> {
-
+                Order order = orderService.selectByNo(elem.getOrderNo());
+                if (order.getSettle() > 2) {
+                    throw new CoolException("鍗曟嵁缂栧彿宸插畬鎴愶細" + elem.getOrderNo());
+                }
                 // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
                 OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
                 if (elem.getAnfme() > orderDetl.getEnableQty()) {
                     throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
                 }
-                // 淇敼璁㈠崟浣滀笟鏁伴噺
+                // 淇敼璁㈠崟鏄庣粏鏁伴噺
                 if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
-                    throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+                    throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
                 }
 
                 DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
@@ -356,6 +354,7 @@
                     assert one != null;
                     one.setAnfme(one.getAnfme() + detlDto.getAnfme());
                 } else {
+                    detlDto.setOrderNo(order.getOrderNo());
                     detlDtos.add(detlDto);
                 }
             });
@@ -364,6 +363,9 @@
                 if (Cools.isEmpty(mat)) {
                     throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
                 }
+
+                Order order = orderService.selectByNo(detlDto.getOrderNo());
+
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.sync(mat);
                 waitPakin.setOrderNo(order.getOrderNo());   // 鍗曟嵁缂栧彿
@@ -379,8 +381,8 @@
                 if (!waitPakinService.insert(waitPakin)) {
                     throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
                 }
+                orderService.updateSettle(order.getId(), 2L, userId);
             }
-            orderService.updateSettle(order.getId(), 2L, userId);
         }
 
     }

--
Gitblit v1.9.1