From 79aa26122fbeb970841e75951afe897decab7b90 Mon Sep 17 00:00:00 2001
From: zhengyi <landuo321@aliyun.com>
Date: Wed, 11 Dec 2024 23:12:50 +0800
Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E8=B4=A7=E9=98=B6=E6=AE=B5=E7=9A=84?=
 =?UTF-8?q?=E5=85=A5=E4=BB=93=E4=BF=AE=E6=94=B9=E5=92=8C=E8=AE=A2=E5=8D=95?=
 =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81=E8=8A=82=E7=82=B9=E6=9D=83?=
 =?UTF-8?q?=E9=99=90=E4=BF=AE=E6=AD=A3=EF=BC=8C=E6=B5=B7=E8=BF=90=E6=98=AF?=
 =?UTF-8?q?=E8=A3=85=E6=9F=9C=E5=AE=A1=E6=89=B9=E5=AE=8C=E6=88=90=EF=BC=8C?=
 =?UTF-8?q?=E7=A9=BA=E8=BF=90=E6=98=AF=E5=B7=B2=E5=87=BA=E4=BB=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/order/impl/OrderServiceImpl.java  | 13 +++++--
 .../OrderWarehouseInServiceImpl.java          | 34 +++++++++++++++++++
 2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java
index 61ae6418d..3df6410f4 100644
--- a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java
+++ b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java
@@ -1910,8 +1910,17 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
          * 订单修改审批流程跟现有的订单审批流程一致,订单信息修改后无需产生异常,不判断异常条件是否满足
          * 海运订单、拆单子单已装柜/空运已出货,订单信息修改,不需要更新价格
          */
-        // 海运订单预装未装柜/空运订单分拣未出货, 锁定订单信息无法修改
-        if (vo.getShipmentState() == 0 || vo.getShipmentState() == 305 || vo.getShipmentState() == 307 || vo.getShipmentState() == 407) {
+        // 海运订单预装未装柜/空运订单分拣未出货, 锁定订单信息无法修改 exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407,409])
+        if (vo.getShipmentState() == 0
+                || vo.getShipmentState() == 305
+                || vo.getShipmentState() == 307
+                || vo.getShipmentState() == 309
+                || vo.getShipmentState() == 310
+                || vo.getShipmentState() == 311
+                || vo.getShipmentState() == 313
+                || vo.getShipmentState() == 407
+                || vo.getShipmentState() == 409
+                || vo.getShipmentState() == 411) {
             if (vo.getTransportId() == TransportTypeShortEnum.SEA_CONTAINER.getValue()) {
                 throw exception(ORDER_PRE_INSTALLATION_UNPACKAGED_CONTAINER_NOT_UPDATE);
             } else {
diff --git a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInServiceImpl.java b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
index d5e3addf7..6e9dd8836 100644
--- a/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
+++ b/yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderWarehouseIn/OrderWarehouseInServiceImpl.java
@@ -3698,6 +3698,23 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
         if (orderDO == null) {
             throw ServiceExceptionUtil.exception(ErrorCodeConstants.ORDER_NOT_EXISTS);
         }
+        if (orderDO.getShipmentState() == 0
+                || orderDO.getShipmentState() == 305
+                || orderDO.getShipmentState() == 307
+                || orderDO.getShipmentState() == 309
+                || orderDO.getShipmentState() == 310
+                || orderDO.getShipmentState() == 311
+                || orderDO.getShipmentState() == 313
+                || orderDO.getShipmentState() == 407
+                || orderDO.getShipmentState() == 409
+                || orderDO.getShipmentState() == 411) {
+            if (orderDO.getTransportId() == TransportTypeShortEnum.SEA_CONTAINER.getValue()) {
+                throw exception(ORDER_PRE_INSTALLATION_UNPACKAGED_CONTAINER_NOT_UPDATE);
+            } else {
+                // 当前不是海运就是空运
+                throw exception(ORDER_SORTING_NOT_SHIPMENT_NOT_UPDATE);
+            }
+        }
         if (OrderStatusEnum.DRAFT.getValue().equals(orderDO.getStatus())) {
             throw ServiceExceptionUtil.exception(ErrorCodeConstants.ORDER_DRAFT_STATUS_NOT_ALLOWED_WAREHOUSE_IN);
         }
@@ -3817,6 +3834,23 @@ public class OrderWarehouseInServiceImpl extends AbstractService<OrderWarehouseI
         if (orderDO == null) {
             throw ServiceExceptionUtil.exception(ErrorCodeConstants.ORDER_NOT_EXISTS);
         }
+        if (orderDO.getShipmentState() == 0
+                || orderDO.getShipmentState() == 305
+                || orderDO.getShipmentState() == 307
+                || orderDO.getShipmentState() == 309
+                || orderDO.getShipmentState() == 310
+                || orderDO.getShipmentState() == 311
+                || orderDO.getShipmentState() == 313
+                || orderDO.getShipmentState() == 407
+                || orderDO.getShipmentState() == 409
+                || orderDO.getShipmentState() == 411) {
+            if (orderDO.getTransportId() == TransportTypeShortEnum.SEA_CONTAINER.getValue()) {
+                throw exception(ORDER_PRE_INSTALLATION_UNPACKAGED_CONTAINER_NOT_UPDATE);
+            } else {
+                // 当前不是海运就是空运
+                throw exception(ORDER_SORTING_NOT_SHIPMENT_NOT_UPDATE);
+            }
+        }
         if (OrderStatusEnum.WAREHOUSE_ADJUSTMENT.getValue().equals(orderDO.getStatus())) {
             throw ServiceExceptionUtil.exception(ErrorCodeConstants.ORDER_WAREHOUSE_ADJUSTMENT_STATUS_NOT_ALLOWED_WAREHOUSE_IN);
         }
-- 
2.22.0