From ad6656eae15c5a3acedcd4c40bd1108777f163be Mon Sep 17 00:00:00 2001
From: zhengyi <332784038@qq.com>
Date: Wed, 5 Mar 2025 11:17:54 +0800
Subject: [PATCH] =?UTF-8?q?=E7=89=B9=E4=BB=B7=E7=9B=B8=E5=85=B3=E7=94=B3?=
 =?UTF-8?q?=E8=AF=B7=E5=85=A8=E5=8C=85=E4=BB=B7=E4=BB=98=E8=B4=B9=E6=A8=A1?=
 =?UTF-8?q?=E5=BC=8F=E6=97=B6=E7=A1=AE=E8=AE=A4=E6=B8=85=E5=85=B3=E8=B4=B9?=
 =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BA0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/order/impl/OrderServiceImpl.java  | 48 ++++++++++++++++---
 1 file changed, 42 insertions(+), 6 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 45fad0dd..d4d1efe8 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
@@ -5348,6 +5348,18 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
                     applyInfoVO.setName(specialApplyVO.getProdTitleZh() + "清关费优惠");
                     applyInfoVO.setOrgValue(specialApplyVO.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
                     applyInfoVO.setNewValue(specialApplyVO.getClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
+                    if (specialApplyVO.getOrgCharging() == 0) {
+                        applyInfoVO.setOrgValue(specialApplyVO.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getOrgClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
+                    }else {
+                        applyInfoVO.setOrgValue("æ— /none");
+                    }
+                    if (specialApplyVO.getCharging() == 0) {
+                        applyInfoVO.setNewValue(specialApplyVO.getClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
+                    }else {
+                        // 当付费模式修改为全包价时,确保清关费设置为0
+                        specialApplyVO.setClearanceFreight(BigDecimal.ZERO);
+                        applyInfoVO.setOrgValue("æ— /none");
+                    }
                     applyInfoVOList.add(applyInfoVO);
                 }
                 // TODO 只能装柜前、到港后申请
@@ -5363,9 +5375,21 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
                     applyInfoVO.setName(specialApplyVO.getProdTitleZh() + "清关费管理折扣");
                     applyInfoVO.setOrgValue(specialApplyVO.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
                     applyInfoVO.setNewValue(specialApplyVO.getClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
+                    if (specialApplyVO.getOrgCharging() == 0) {
+                        applyInfoVO.setOrgValue(specialApplyVO.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getOrgClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
+                    }else {
+                        applyInfoVO.setOrgValue("æ— /none");
+                    }
+                    if (specialApplyVO.getCharging() == 0) {
+                        applyInfoVO.setNewValue(specialApplyVO.getClearanceFreight().toString() + currencyRespDTOMap.get(specialApplyVO.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(specialApplyVO.getClearanceFreightVolume().intValue()).getTitleZh());
+                    }else {
+                        // 当付费模式修改为全包价时,确保清关费设置为0
+                        specialApplyVO.setClearanceFreight(BigDecimal.ZERO);
+                        applyInfoVO.setOrgValue("æ— /none");
+                    }
                     applyInfoVOList.add(applyInfoVO);
                 }
-                // TODO 订单核销前都可以申请
+                // 订单核销前都可以申请
                 key = WorkFlowEmus.ORDER_MANAGE_DISCOUNTS.getKey();
                 break;
             case 3:
@@ -5465,14 +5489,26 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
                 switch (specialBatchApplyVO.getApplyType()) {
                     case 31:
                         applyInfoVO.setName(vo.getProdTitleZh() + (vo.getCharging() == 1 ? "全包价优惠" : "运费优惠"));
-                        applyInfoVO.setOrgValue(vo.getOrgFreight().toString() + currencyRespDTOMap.get(vo.getFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getFreightVolume().intValue()).getTitleZh());
+                        applyInfoVO.setOrgValue(vo.getOrgFreight().toString() + currencyRespDTOMap.get(vo.getOrgFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getFreightVolume().intValue()).getTitleZh());
                         applyInfoVO.setNewValue(vo.getFreight().toString() + currencyRespDTOMap.get(vo.getFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getFreightVolume().intValue()).getTitleZh());
                         applyInfoVOList.add(applyInfoVO);
-                        if (vo.getCharging() == 0) {
+                        if (vo.getOrgCharging() == 0 || vo.getCharging() == 0) {
                             applyInfoVO = new ApplyInfoVO();
                             applyInfoVO.setName(vo.getProdTitleZh() + "清关费优惠");
                             applyInfoVO.setOrgValue(vo.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(vo.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getClearanceFreightVolume().intValue()).getTitleZh());
                             applyInfoVO.setNewValue(vo.getClearanceFreight().toString() + currencyRespDTOMap.get(vo.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getClearanceFreightVolume().intValue()).getTitleZh());
+                            if (vo.getOrgCharging() == 0) {
+                                applyInfoVO.setOrgValue(vo.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(vo.getOrgClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getClearanceFreightVolume().intValue()).getTitleZh());
+                            }else {
+                                applyInfoVO.setOrgValue("æ— /none");
+                            }
+                            if (vo.getCharging() == 0) {
+                                applyInfoVO.setNewValue(vo.getClearanceFreight().toString() + currencyRespDTOMap.get(vo.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getClearanceFreightVolume().intValue()).getTitleZh());
+                            }else {
+                                // 当付费模式修改为全包价时,确保清关费设置为0
+                                vo.setClearanceFreight(BigDecimal.ZERO);
+                                applyInfoVO.setOrgValue("æ— /none");
+                            }
                             applyInfoVOList.add(applyInfoVO);
                         }
                         // TODO 只能装柜前、到港后申请
@@ -5480,10 +5516,10 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
                         break;
                     case 32:
                         applyInfoVO.setName(vo.getProdTitleZh() + (vo.getCharging() == 1 ? "全包价管理折扣" : "运费管理折扣"));
-                        applyInfoVO.setOrgValue(vo.getOrgFreight().toString() + currencyRespDTOMap.get(vo.getFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getFreightVolume().intValue()).getTitleZh());
+                        applyInfoVO.setOrgValue(vo.getOrgFreight().toString() + currencyRespDTOMap.get(vo.getOrgFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getFreightVolume().intValue()).getTitleZh());
                         applyInfoVO.setNewValue(vo.getFreight().toString() + currencyRespDTOMap.get(vo.getFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getFreightVolume().intValue()).getTitleZh());
                         applyInfoVOList.add(applyInfoVO);
-                        if (vo.getCharging() == 0) {
+                        if (vo.getOrgCharging() == 0 || vo.getCharging() == 0) {
                             applyInfoVO = new ApplyInfoVO();
                             applyInfoVO.setName(vo.getProdTitleZh() + "清关费管理折扣");
                             applyInfoVO.setOrgValue(vo.getOrgClearanceFreight().toString() + currencyRespDTOMap.get(vo.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getClearanceFreightVolume().intValue()).getTitleZh());
@@ -5496,7 +5532,7 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
                             if (vo.getCharging() == 0) {
                                 applyInfoVO.setNewValue(vo.getClearanceFreight().toString() + currencyRespDTOMap.get(vo.getClearanceFreightCurrency().intValue()).getTitleZh() + "/" + unitRespDtoMap.get(vo.getClearanceFreightVolume().intValue()).getTitleZh());
                             }else {
-                                //
+                                // 当付费模式修改为全包价时,确保清关费设置为0
                                 vo.setClearanceFreight(BigDecimal.ZERO);
                                 applyInfoVO.setOrgValue("æ— /none");
                             }
-- 
2.22.0