From 99eec73b3e442a0056ba7ab2f0171592e12560c4 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 09 四月 2026 19:23:29 +0800
Subject: [PATCH] 1

---
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java      |    2 +-
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java |   34 ++++++++++++++++------------------
 2 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
index cab0e10..5aad63a 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
@@ -183,7 +183,7 @@
             data.put("items", errorRows);
             CommonResponse r = new CommonResponse();
             r.setCode(500);
-            r.setMsg("鍏� " + errorRows.size() + " 鏉″け璐ワ紝鏈湴浜嬪姟宸插洖婊氾紝璇﹁ data.items");
+            r.setMsg("鍏� " + errorRows.size() + " 鏉″け璐ワ紝璇﹁ data.items");
             r.setData(data);
             return r;
         }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 90b7bdd..333e880 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -147,6 +147,18 @@
         }
     }
 
+    /** 涓庡彇娑堟帴鍙d竴鑷达細鍏ュ簱鏈墽琛屻�佸嚭搴撲换鍔″垵濮� */
+    private static final List<Short> WK_ORDER_UNEXECUTED_EXCE_STATUSES = Collections.unmodifiableList(
+            Arrays.asList(
+                    AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val,
+                    AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val));
+
+    private void assertWkOrderExceStatusUnexecuted(WkOrder order, String actionVerb) {
+        if (!WK_ORDER_UNEXECUTED_EXCE_STATUSES.contains(order.getExceStatus())) {
+            throw new CoolException("浠呮湭鎵ц鐘舵�佺殑鍗曟嵁鍙�" + actionVerb + "锛侊紒");
+        }
+    }
+
     /**
      * @author Ryan
      * @date 2025/8/15
@@ -493,14 +505,7 @@
                             .eq(WkOrder::getPoCode, syncOrder.getOrderInternalCode()));
                     if (!Objects.isNull(order)) {
                         assertWkOrderNoLinkedTask(order.getId());
-                        // 浠呮湭鎵ц鐘舵�佸彲琚� order/add 淇敼锛堝叆搴撴湭鎵ц銆佸嚭搴撲换鍔″垵濮嬶級
-                        List<Short> editableStatus = Arrays.asList(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val
-                                ,AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val
-                                ,AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.val
-                                , AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val);
-                        if (!editableStatus.contains(order.getExceStatus())) {
-                            throw new CoolException("浠呮湭鎵ц鐘舵�佺殑鍗曟嵁鍙慨鏀癸紒锛�");
-                        }
+                        assertWkOrderExceStatusUnexecuted(order, "淇敼");
                         // 瀛樺湪鍒欎慨鏀癸紙1 鍜� 2 鍧囪蛋姝ゅ锛夛紝缁勬墭鏍¢獙鍦� mergeOrderWithPakin/updateOrderNoPakin 鍐�
                         long pakinCount = waitPakinItemService.count(new LambdaQueryWrapper<WaitPakinItem>()
                                 .eq(WaitPakinItem::getAsnId, order.getId()).eq(WaitPakinItem::getDeleted, 0));
@@ -956,22 +961,20 @@
     /**
      * @author Ryan
      * @date 2025/8/20
-     * @description: 鍗曟嵁淇敼--鏀惰揣閫氱煡鍗�/鍑哄簱鍗�/鐩樼偣鍗�
+     * @description: 鍗曟嵁淇敼--鏀惰揣閫氱煡鍗�/鍑哄簱鍗�/鐩樼偣鍗曪紙瀵瑰鎺ュ彛宸茬敱 syncCheckOrder 鎵挎帴鏃跺彲涓嶈皟鐢級
      * @version 1.0
      */
     @Override
     @Transactional(timeout = 60, rollbackFor = Exception.class)
     public R syncOrderUpdate(List<SyncOrderParams> orders) {
         orders.forEach(order -> {
-            List<Short> list = Arrays.asList(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val,
-                    AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val);
             WkOrder wkOrder = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>()
-                    .in(WkOrder::getExceStatus, list)
                     .eq(WkOrder::getCode, order.getOrderNo()));
             if (Objects.isNull(wkOrder)) {
                 throw new CoolException("璇风‘璁ゅ崟鎹細" + order.getOrderNo() + "鏄惁宸茬粡鎵ц鎴栨槸鍚﹀悓姝ワ紒锛�");
             }
             assertWkOrderNoLinkedTask(wkOrder.getId());
+            assertWkOrderExceStatusUnexecuted(wkOrder, "淇敼");
             order.getOrderItems().forEach(orderItem -> {
                 WkOrderItem wkOrderItem = asnOrderItemService.getOne(new LambdaUpdateWrapper<WkOrderItem>()
                         .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())
@@ -1042,12 +1045,7 @@
             if (pakinCount > 0) {
                 throw new CoolException("鍗曟嵁宸茬粍鎵橈紝浠呮湭缁勬墭鐘舵�佸彲鍙栨秷锛岃鍏堣В闄ょ粍鎵橈紒锛�");
             }
-            // 浠呮湭鎵ц鐘舵�佸彲鍙栨秷锛堝叆搴撴湭鎵ц銆佸嚭搴撲换鍔″垵濮嬶級
-            List<Short> list = Arrays.asList(AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val,
-                    AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val);
-            if (!list.contains(finalWkOrder.getExceStatus())) {
-                throw new CoolException("浠呮湭鎵ц鐘舵�佺殑鍗曟嵁鍙彇娑堬紒锛�");
-            }
+            assertWkOrderExceStatusUnexecuted(finalWkOrder, "鍙栨秷");
             order.getOrderItems().forEach(orderItem -> {
                 if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>()
                         .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())

--
Gitblit v1.9.1