From f08dd93e49e8461f362c8f45f17fe10e0fbdebec Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 12 一月 2026 18:54:58 +0800
Subject: [PATCH] #新增和得码入库流程,渝程进仓后续下发货主转换

---
 src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java |   80 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 76 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java b/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
index 21215b6..f2a4e39 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
@@ -9,16 +9,16 @@
 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;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 @RequestMapping("order/pakin")
@@ -26,6 +26,9 @@
 
     @Autowired
     private OrderDetlPakinService orderDetlService;
+
+    @Autowired
+    private MatService matService;
 
     @RequestMapping(value = "/orderDetl/{id}/auth")
     @ManagerAuth
@@ -72,6 +75,75 @@
         }
     }
 
+    @RequestMapping(value = "/orderDetl/batch/report/auth")
+    @ManagerAuth(memo = "淇敼涓嬪彂椤�")
+    public R reportBatch(ReportOrderBatchDetlParam param) {
+        if (param.getAnfme() < 1 && param.getInspect() == 1) {
+            return R.error("涓嬪彂鏁伴噺涓嶈兘灏忎簬1");
+        }
+
+        List<String> errorMessages = new ArrayList<>();
+
+        List<OrderDetlPakin> list = orderDetlService.selectList(
+                new EntityWrapper<OrderDetlPakin>()
+                        .eq("order_no", param.getOrderNo())
+                        .eq("id", param.getId())
+        );
+
+        if (list.isEmpty()) {
+            return R.error("鏈壘鍒板搴旂殑涓嬪彂璁板綍");
+        }
+
+        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")
     @ManagerAuth
     public R add(OrderDetlPakin orderDetl) {

--
Gitblit v1.9.1