From ab6435ed8f14aa1eb4bc17b5eaf59fb2bdb994f7 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 12 一月 2026 16:55:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java |   75 +++++++++++++++++++++++++++++++++----
 1 files changed, 66 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java b/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
index 0f5532f..f2a4e39 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
@@ -9,8 +9,10 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.OrderDetlPakin;
 import com.zy.asrs.entity.param.ReportOrderBatchDetlParam;
+import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.OrderDetlPakinService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +26,9 @@
 
     @Autowired
     private OrderDetlPakinService orderDetlService;
+
+    @Autowired
+    private MatService matService;
 
     @RequestMapping(value = "/orderDetl/{id}/auth")
     @ManagerAuth
@@ -73,18 +78,70 @@
     @RequestMapping(value = "/orderDetl/batch/report/auth")
     @ManagerAuth(memo = "淇敼涓嬪彂椤�")
     public R reportBatch(ReportOrderBatchDetlParam param) {
-        if (param.getAnfme()<1 && param.getInspect()==1){
-            return R.error("涓嬪彂鏁伴噺涓嶈兘灏忎簬1").add("涓嬪彂鏁伴噺涓嶈兘灏忎簬1");
+        if (param.getAnfme() < 1 && param.getInspect() == 1) {
+            return R.error("涓嬪彂鏁伴噺涓嶈兘灏忎簬1");
         }
-        List<OrderDetlPakin> orderDetlPakinList = orderDetlService.selectList(new EntityWrapper<OrderDetlPakin>()
-                .eq("order_no", param.getOrderNo()).eq("id", param.getId())
+
+        List<String> errorMessages = new ArrayList<>();
+
+        List<OrderDetlPakin> list = orderDetlService.selectList(
+                new EntityWrapper<OrderDetlPakin>()
+                        .eq("order_no", param.getOrderNo())
+                        .eq("id", param.getId())
         );
-        for (OrderDetlPakin orderDetl : orderDetlPakinList){
-            orderDetl.setInspect(param.getInspect());
-            orderDetl.setSortingAnfme(param.getAnfme());
-            orderDetlService.updateById(orderDetl);
+
+        if (list.isEmpty()) {
+            return R.error("鏈壘鍒板搴旂殑涓嬪彂璁板綍");
         }
-        return R.ok();
+
+        final double LENGTH_MIN = 315, LENGTH_MAX = 1150;
+        final double WIDTH_MIN = 160, WIDTH_MAX = 730;
+        final double HEIGHT_MIN = 140, HEIGHT_MAX = 810;
+
+        for (OrderDetlPakin detl : list) {
+            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();
+
+            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 (!errorMessages.isEmpty()) {
+            // Choose one style:
+            return R.error(String.join("锛沑n", errorMessages));
+            // or
+            // R r = R.error("灏哄鏍¢獙澶辫触锛岃妫�鏌ヤ互涓嬮棶棰橈細");
+            // r.put("errors", errorMessages);
+            // return r;
+        }
+
+        // all good 鈫� update
+        for (OrderDetlPakin detl : list) {
+            detl.setInspect(param.getInspect());
+            detl.setSortingAnfme(param.getAnfme());
+            orderDetlService.updateById(detl);
+        }
+
+        return R.ok("淇敼鎴愬姛");
     }
 
     @RequestMapping(value = "/orderDetl/add/auth")

--
Gitblit v1.9.1