From c356310bd2a40b8b3742e9097b52d2053e4761a6 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 31 十月 2025 14:51:55 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 4d22e9c..4fcd85b 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,7 +153,8 @@
                 now,    // 娣诲姞鏃堕棿
                 getUserId(),    // 淇敼浜哄憳
                 now,    // 淇敼鏃堕棿
-                null    // 澶囨敞
+                null,    // 澶囨敞
+                status
         );
         if (!orderService.insert(order)) {
             throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
@@ -172,6 +181,7 @@
                 orderDetl.setUpdateTime(now);
                 orderDetl.setStatus(1);
                 orderDetl.setQty(0.0D);
+                orderDetl.setPakinPakoutStatus(status);
                 if (!orderDetlService.insert(orderDetl)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
                 }
@@ -254,19 +264,21 @@
             totalQty = totalQty + orderDetl.getAnfme();
             wrkQty = wrkQty + orderDetl.getWorkQty();
             endQty = endQty + orderDetl.getQty();
-            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
-            if (issued > 0.0) {
-                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null);
-                for (LocDetl locDetl : locDetls) {
-                    if (issued > 0) {
-                        issued = issued - locDetl.getAnfme();
-                    } else {
-                        break;
+            if (!Cools.isEmpty(order.getPakinPakoutStatus$()) && order.getPakinPakoutStatus$().equals("N")){
+                double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
+                if (issued > 0.0) {
+                    List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null);
+                    for (LocDetl locDetl : locDetls) {
+                        if (issued > 0) {
+                            issued = issued - locDetl.getAnfme();
+                        } else {
+                            break;
+                        }
                     }
                 }
-            }
-            if (issued > 0.0) {
-                lackQty = lackQty + issued;
+                if (issued > 0.0) {
+                    lackQty = lackQty + issued;
+                }
             }
         }
         // 浠诲姟杩芥函

--
Gitblit v1.9.1