From 6a460f6895f0f09c406c2dc6b2b31e4d77d3ef03 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 18 三月 2026 12:29:28 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderPakinController.java |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 46 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderPakinController.java b/src/main/java/com/zy/asrs/controller/OrderPakinController.java
index 540790e..b187052 100644
--- a/src/main/java/com/zy/asrs/controller/OrderPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderPakinController.java
@@ -46,6 +46,8 @@
     private LocOwnerService locOwnerService;
     @Autowired
     private OrderDetlPakinService orderDetlPakinService;
+    @Autowired
+    private MatService matService;
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
@@ -130,10 +132,53 @@
         if (Cools.isEmpty(orderNo)) {
             return R.error("璁㈠崟鍙蜂笉鑳戒负绌�");
         }
+        List<OrderDetlPakin> detls = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
+                .eq("order_no", orderNo)
+                .eq("status", 1));
+        if (detls == null || detls.isEmpty()) {
+            return R.error("鏈壘鍒板搴旀槑缁�");
+        }
+        List<String> errorMessages = new ArrayList<>();
+        final double LENGTH_MIN = 315, LENGTH_MAX = 1150;
+        final double WIDTH_MIN = 160, WIDTH_MAX = 730;
+        final double HEIGHT_MIN = 140, HEIGHT_MAX = 810;
+        final double WIEGHT_MIN = 0, WIEGHT_MAX = 23;
+        for (OrderDetlPakin detl : detls) {
+            Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", detl.getMatnr()));
+            if (mat == null) {
+                errorMessages.add("鐗╂枡缂栧彿 " + detl.getMatnr() + " 涓嶅瓨鍦�");
+                continue;
+            }
+            Double len = mat.getManLength();
+            Double wid = mat.getWidth();
+            Double hei = mat.getHeight();
+            Double wet = mat.getWeight();
+            if (len == null || len < LENGTH_MIN || len > LENGTH_MAX) {
+                errorMessages.add(String.format("鐗╂枡 %s 闀垮害寮傚父锛氬繀椤� %.0f~%.0f mm锛屽綋鍓� %s",
+                        detl.getMatnr(), LENGTH_MIN, LENGTH_MAX, len));
+            }
+            if (wid == null || wid < WIDTH_MIN || wid > WIDTH_MAX) {
+                errorMessages.add(String.format("鐗╂枡 %s 瀹藉害寮傚父锛氬繀椤� %.0f~%.0f mm锛屽綋鍓� %s",
+                        detl.getMatnr(), WIDTH_MIN, WIDTH_MAX, wid));
+            }
+            if (hei == null || hei < HEIGHT_MIN || hei > HEIGHT_MAX) {
+                errorMessages.add(String.format("鐗╂枡 %s 楂樺害寮傚父锛氬繀椤� %.0f~%.0f mm锛屽綋鍓� %s",
+                        detl.getMatnr(), HEIGHT_MIN, HEIGHT_MAX, hei));
+            }
+            if (wet == null || wet < WIEGHT_MIN || wet > WIEGHT_MAX) {
+                errorMessages.add(String.format("鐗╂枡 %s 姣涢噸寮傚父锛氬繀椤� %.0f~%.0f kg锛屽綋鍓� %s",
+                        detl.getMatnr(), WIEGHT_MIN, WIEGHT_MAX, wet));
+            }
+        }
+        if (!errorMessages.isEmpty()) {
+            return R.error(String.join("锛沑n", errorMessages));
+        }
         if (!orderDetlPakinService.issueAll(orderNo)) {
             return R.error("涓嬪彂鏄庣粏鏇存柊澶辫触");
         }
-        orderService.updateOrderStatus(orderNo);
+        if (!orderService.updateOrderStatus(orderNo)) {
+            throw new CoolException("璁㈠崟鐘舵�佹洿鏂板け璐�");
+        }
         return R.ok("鎴愬姛").add("鎴愬姛");
     }
 

--
Gitblit v1.9.1