From 097433ca16e6f8aa7ec736298693dd5c7613e811 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期日, 13 七月 2025 10:19:12 +0800
Subject: [PATCH] 堆垛机分配库位加入可入条件限制

---
 src/main/java/com/zy/asrs/controller/OrderController.java |   45 +++++++++++++++++++++++++++++++--------------
 1 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 695f9c8..882dbc2 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -98,14 +98,22 @@
     @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
     @Transactional
     public R formAdd(@RequestBody OrderDomainParam param){
+        int status = 0;
         if(Cools.isEmpty(param.getOrderNo())){
             String prefix = "";
             DocType docType = docTypeService.selectById(param.getDocType());
             if(!Cools.isEmpty(docType)){
                 prefix = docType.getPakin() == 1 ? "RK" : "CK";
+                status = (prefix.equals("RK") ? 1 : (prefix.equals("CK") ? 2 : 0));
             }
             param.setOrderNo(prefix + snowflakeIdWorker.nextId());
+        } else {
+            DocType docType = docTypeService.selectById(param.getDocType());
+            if(!Cools.isEmpty(docType)){
+                status = (docType.getPakin() == 1 ? 1 :  2 );
+            }
         }
+
         Order order = orderService.selectByNo(param.getOrderNo());
         if (order != null) {
             return R.error("鍗曟嵁缂栧彿宸插瓨鍦�");
@@ -145,22 +153,26 @@
                 now,    // 娣诲姞鏃堕棿
                 getUserId(),    // 淇敼浜哄憳
                 now,    // 淇敼鏃堕棿
-                null    // 澶囨敞
+                null,    // 澶囨敞
+                status
         );
         if (!orderService.insert(order)) {
             throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
         }
-        List<DetlDto> list = new ArrayList<>();
+//        List<DetlDto> list = new ArrayList<>();
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
-            if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
-                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
-                if (!orderDetlService.updateById(item)) {
-                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
-                }
-            } else {
-                list.add(dto);
+//            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(),
+//                    orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
+//                    orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
+//            if (DetlDto.has(list, dto)) {
+//                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
+//                        orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
+//                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+//                if (!orderDetlService.updateById(item)) {
+//                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+//                }
+//            } else {
+//                list.add(dto);
                 orderDetl.setOrderId(order.getId());
                 orderDetl.setOrderNo(order.getOrderNo());
                 orderDetl.setCreateBy(getUserId());
@@ -169,10 +181,11 @@
                 orderDetl.setUpdateTime(now);
                 orderDetl.setStatus(1);
                 orderDetl.setQty(0.0D);
+                orderDetl.setPakinPakoutStatus(status);
                 if (!orderDetlService.insert(orderDetl)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
                 }
-            }
+//            }
         }
         return R.ok("璁㈠崟娣诲姞鎴愬姛");
     }
@@ -205,9 +218,13 @@
         // 2.閲嶇粍鏁版嵁
         List<DetlDto> list = new ArrayList<>();
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),
+                    orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
+                    orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
             if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),
+                        orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
+                        orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");

--
Gitblit v1.9.1