From 5509bb7a46ae4bf26a7b00e9d9f17ab7a0ab94dd Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 20 七月 2025 22:14:38 +0800
Subject: [PATCH] 成品库出入库优化堆垛机分配

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

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index fd50042..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け璐�");
@@ -298,7 +315,7 @@
                 .add("list", wrkTraceVos)
                 .add("orderNo", order.getOrderNo())
                 .add("totalQty", totalQty)
-                .add("wrkQty", wrkQty)
+                .add("wrkQty", wrkQty+endQty)
                 .add("lackQty", lackQty)
                 .add("endQty",endQty)
         );

--
Gitblit v1.9.1