From 12067f657bc3dc169a7a466e433374368e8daf73 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 16:14:27 +0800
Subject: [PATCH] 越库订单逻辑调整

---
 src/main/java/com/zy/asrs/service/impl/CrossDockServiceImpl.java |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/CrossDockServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CrossDockServiceImpl.java
index fa50be8..1eda34b 100644
--- a/src/main/java/com/zy/asrs/service/impl/CrossDockServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/CrossDockServiceImpl.java
@@ -54,14 +54,24 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String processCrossDockInbound(OrderPakin order, OrderDomainParam param, Long userId) {
-        log.info("寮�濮嬪鐞嗚秺搴撳叆搴撳崟锛岃鍗曞彿锛歿}", order.getOrderNo());
+        log.info("寮�濮嬪鐞嗚秺搴撳叆搴撳崟锛岃鍗曞彿锛歿}锛岃鍗曠被鍨嬶細{}", order.getOrderNo(), order.getDocType());
         
         Date now = new Date();
         
         // 姝ラ1锛氳缃叆搴撳崟涓哄凡涓婃姤鐘舵�侊紙璺宠繃ERP涓婃姤娴佺▼锛�
-        log.info("姝ラ1锛氳缃叆搴撳崟[{}]涓哄凡涓婃姤鐘舵��", order.getOrderNo());
-        if (!orderPakinService.updateSettle(order.getId(), 6L, userId)) {
-            throw new CoolException("璁剧疆鍏ュ簱鍗曚负宸蹭笂鎶ョ姸鎬佸け璐�");
+        log.info("姝ラ1锛氳缃叆搴撳崟[{}]涓哄凡涓婃姤鐘舵�侊紝璁㈠崟ID锛歿}", order.getOrderNo(), order.getId());
+        boolean updateResult = orderPakinService.updateSettle(order.getId(), 6L, userId);
+        log.info("姝ラ1锛氭洿鏂板叆搴撳崟鐘舵�佺粨鏋滐細{}", updateResult);
+        if (!updateResult) {
+            throw new CoolException("璁剧疆鍏ュ簱鍗曚负宸蹭笂鎶ョ姸鎬佸け璐ワ紝璁㈠崟ID锛�" + order.getId());
+        }
+        // 楠岃瘉鐘舵�佹槸鍚︽洿鏂版垚鍔�
+        OrderPakin updatedOrder = orderPakinService.selectById(order.getId());
+        if (updatedOrder != null) {
+            log.info("姝ラ1锛氶獙璇佸叆搴撳崟鐘舵�佹洿鏂帮紝璁㈠崟鍙凤細{}锛屽綋鍓嶇姸鎬侊細{}", updatedOrder.getOrderNo(), updatedOrder.getSettle());
+            if (!updatedOrder.getSettle().equals(6L)) {
+                throw new CoolException("鍏ュ簱鍗曠姸鎬佹洿鏂板け璐ワ紝鏈熸湜鐘舵�侊細6锛屽疄闄呯姸鎬侊細" + updatedOrder.getSettle());
+            }
         }
         
         // 姝ラ2锛氭洿鏂版槑缁嗗畬鎴愭暟閲忓苟鍒涘缓铏氭嫙搴撲綅搴撳瓨
@@ -70,8 +80,9 @@
             new EntityWrapper<OrderDetlPakin>().eq("order_id", order.getId()));
         
         for (OrderDetlPakin orderDetl : orderDetls) {
-            // 2.1 鏇存柊瀹屾垚鏁伴噺
-            orderDetl.setQty(orderDetl.getAnfme());
+            // 2.1 鏇存柊瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忥紙瓒婂簱璁㈠崟绔嬪嵆瀹屾垚锛屼笉闇�瑕佸疄闄呬綔涓氾級
+            orderDetl.setQty(orderDetl.getAnfme()); // 瀹屾垚鏁伴噺绛変簬鐢宠鏁伴噺
+            orderDetl.setWorkQty(orderDetl.getAnfme()); // 浣滀笟鏁伴噺绛変簬鐢宠鏁伴噺
             orderDetl.setUpdateBy(userId);
             orderDetl.setUpdateTime(now);
             if (!orderDetlPakinService.updateById(orderDetl)) {
@@ -83,12 +94,19 @@
         }
         
         // 姝ラ3锛氳幏鍙栬秺搴撳嚭搴撳崟绫诲瀷
-        Long outboundDocTypeId = crossDockProperties.getOutboundDocTypeId();
-        log.info("姝ラ3锛氳幏鍙栬秺搴撳嚭搴撳崟绫诲瀷锛宒ocId={}", outboundDocTypeId);
+        // 浼樺厛浣跨敤鐢ㄦ埛閫夋嫨鐨勫嚭搴撹鍗曠被鍨嬶紝濡傛灉娌℃湁鍒欎娇鐢ㄩ厤缃殑榛樿绫诲瀷
+        Long outboundDocTypeId = param.getOutboundDocType();
+        if (outboundDocTypeId == null) {
+            outboundDocTypeId = crossDockProperties.getOutboundDocTypeId();
+            log.info("姝ラ3锛氱敤鎴锋湭閫夋嫨鍑哄簱璁㈠崟绫诲瀷锛屼娇鐢ㄩ厤缃殑榛樿绫诲瀷锛宒ocId={}", outboundDocTypeId);
+        } else {
+            log.info("姝ラ3锛氫娇鐢ㄧ敤鎴烽�夋嫨鐨勫嚭搴撹鍗曠被鍨嬶紝docId={}", outboundDocTypeId);
+        }
         DocType crossDockOutDocType = docTypeService.selectById(outboundDocTypeId);
         if (crossDockOutDocType == null) {
             throw new CoolException("瓒婂簱鍑哄簱鍗曠被鍨嬩笉瀛樺湪锛宒ocId=" + outboundDocTypeId);
         }
+        log.info("姝ラ3锛氬嚭搴撹鍗曠被鍨嬪悕绉帮細{}", crossDockOutDocType.getDocName());
         
         // 姝ラ4锛氬垱寤鸿秺搴撳嚭搴撳崟涓绘。
         log.info("姝ラ4锛氬垱寤鸿秺搴撳嚭搴撳崟涓绘。");
@@ -253,8 +271,9 @@
         outDetl.setId(null); // 娓呴櫎ID锛岃鏁版嵁搴撹嚜鍔ㄧ敓鎴�
         outDetl.setOrderId(outOrder.getId());
         outDetl.setOrderNo(outOrderNo);
+        outDetl.setAnfme(inDetl.getAnfme()); // 鐢宠鏁伴噺绛変簬鍏ュ簱鍗曟槑缁嗙殑鐢宠鏁伴噺
         outDetl.setQty(inDetl.getAnfme()); // 瀹屾垚鏁伴噺绛変簬鐢宠鏁伴噺
-        outDetl.setWorkQty(inDetl.getAnfme());
+        outDetl.setWorkQty(inDetl.getAnfme()); // 浣滀笟鏁伴噺绛変簬鐢宠鏁伴噺
         outDetl.setCreateBy(userId);
         outDetl.setCreateTime(now);
         outDetl.setUpdateBy(userId);

--
Gitblit v1.9.1