From f245b2ecba9428659f2a8fb3e1f3d23bddda1218 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 18 十二月 2025 16:22:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java |   86 +++++++++++++++++++++++++++++++-----------
 1 files changed, 63 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 820ca6d..2739897 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -29,6 +29,14 @@
     @Autowired
     private OrderDetlService orderDetlService;
     @Autowired
+    private OrderPakinService orderPakinService;
+    @Autowired
+    private OrderDetlPakinService orderDetlPakinService;
+    @Autowired
+    private OrderPakoutService orderPakoutService;
+    @Autowired
+    private OrderDetlPakoutService orderDetlPakoutService;
+    @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private DocTypeService docTypeService;
@@ -42,6 +50,8 @@
     private WrkMastService wrkMastService;
     @Autowired
     private WrkMastLogService wrkMastLogService;
+    @Autowired
+    private LocOwnerService locOwnerService;
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
@@ -104,9 +114,20 @@
             DocType docType = docTypeService.selectById(param.getDocType());
             if(!Cools.isEmpty(docType)){
                 prefix = docType.getPakin() == 1 ? "RK" : "CK";
-                status = (prefix == "RK" ? 1 : (prefix == "CK" ? 2 : 0));
+                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 );
+            }
+        }
+        LocOwner locOwner = null;
+        if (!Cools.isEmpty(param.getOwnerId())) {
+            locOwner = locOwnerService.selectById(param.getOwnerId());
+        } else {
+            locOwner = locOwnerService.selectById(1);
         }
 
         Order order = orderService.selectByNo(param.getOrderNo());
@@ -120,7 +141,7 @@
                 DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
                 param.getDocType(),    // 鍗曟嵁绫诲瀷
                 null,    // 椤圭洰缂栧彿
-                null,    //
+                null,    //椤圭洰鍚嶇О 瀹㈡埛PO鍙�
                 null,    // 璋冩嫧椤圭洰缂栧彿
                 null,    // 鍒濆绁ㄦ嵁鍙�
                 null,    // 绁ㄦ嵁鍙�
@@ -176,6 +197,10 @@
                 orderDetl.setUpdateTime(now);
                 orderDetl.setStatus(1);
                 orderDetl.setQty(0.0D);
+//                orderDetl.setStandby1(param.getStandby1().toString());//po
+//                orderDetl.setBoxType1(locOwner.getId().toString());//璐т富ID
+//                orderDetl.setBoxType2(locOwner.getOwnerUuid().toString());//璐т富UUID
+//                orderDetl.setBoxType3(locOwner.getOwner());//璐т富
                 orderDetl.setPakinPakoutStatus(status);
                 if (!orderDetlService.insert(orderDetl)) {
                     throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
@@ -259,19 +284,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;
+                }
             }
         }
         // 浠诲姟杩芥函
@@ -379,19 +406,32 @@
     @RequestMapping(value = "/order/delete/auth")
     @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
     @Transactional
-    public R delete(@RequestParam Long orderId){
-        orderService.remove(orderId);
-//        Order order = orderService.selectById(orderId);
-//        if (order != null) {
-//            order.setStatus(0);
-//        }
-//        if (!orderService.updateById(order)) {
-//            throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
-//        }
-//        orderDetlService.modifyStatus(orderId, 0);
+    public R delete(@RequestParam Long orderId) {
+        // 鑾峰彇璁㈠崟淇℃伅
+        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("id", orderId));
+        String orderNo = order.getOrderNo();
+
+        // 鍒犻櫎 OrderDetl 琛ㄤ腑涓庤鍗曠浉鍏崇殑鏁版嵁
+        orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
+
+        // 鏍规嵁 PakinPakoutStatus 鍒犻櫎鐩稿叧鏁版嵁
+        if (order.getPakinPakoutStatus() == 1) {
+            // 鍒犻櫎 OrderPakin 鍜� OrderDetlPakin 鐩稿叧鏁版嵁
+            orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderNo));
+            orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderNo));
+        } else if (order.getPakinPakoutStatus() == 2) {
+            // 鍒犻櫎 OrderPakout 鍜� OrderDetlPakout 鐩稿叧鏁版嵁
+            orderPakoutService.delete(new EntityWrapper<OrderPakout>().eq("order_no", orderNo));
+            orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
+        }
+
+        // 鍒犻櫎 Order 琛ㄤ腑瀵瑰簲鐨勮鍗曟暟鎹�
+        orderService.delete(new EntityWrapper<Order>().eq("order_no", orderNo));
+
         return R.ok();
     }
 
+
     @RequestMapping(value = "/order/export/auth")
     @ManagerAuth
     public R export(@RequestBody JSONObject param){

--
Gitblit v1.9.1