diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/PaymentApplicationController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/PaymentApplicationController.java index 56bc27de..f2003c5f 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/PaymentApplicationController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/PaymentApplicationController.java @@ -114,7 +114,7 @@ public class PaymentApplicationController extends BladeController { } PaymentApplication payment = paymentApplicationService.getById(id); String specStatus = payment == null ? null : payment.getHcsSpecStatus(); - if (HcsSyncConstant.SPEC_STATUS_NEED.equals(specStatus)) { + if (hcsImmediatePushSupport.isSpecPayEnabled() && HcsSyncConstant.SPEC_STATUS_NEED.equals(specStatus)) { return R.success("审批通过,付款特批待发起,可在详情页重推合规"); } if (Arrays.asList(HcsSyncConstant.SPEC_STATUS_PUSHING, HcsSyncConstant.SPEC_STATUS_PROCESSING).contains(specStatus)) { diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/listener/KingdeeApprovalSyncListener.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/listener/KingdeeApprovalSyncListener.java index 4657465c..491f5a36 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/listener/KingdeeApprovalSyncListener.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/listener/KingdeeApprovalSyncListener.java @@ -24,6 +24,7 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; import org.springblade.transport.config.BfiProperties; import org.springblade.transport.constant.HcsSyncConstant; +import org.springblade.hcs.config.HcsProperties; import org.springblade.transport.event.KingdeeBillApprovedEvent; import org.springblade.transport.pojo.entity.PaymentApplication; import org.springblade.transport.service.IFormalSettlementService; @@ -65,6 +66,7 @@ public class KingdeeApprovalSyncListener { private final IInvoiceApplicationService invoiceApplicationService; private final IInvoiceReceiptService invoiceReceiptService; private final BfiProperties bfiProperties; + private final HcsProperties hcsProperties; /** 当前审批请求线程的自动推送失败原因,供 Controller 取走提示前端(见类注释线程说明) */ private static final ThreadLocal SYNC_FAILURE = new ThreadLocal<>(); @@ -183,9 +185,10 @@ public class KingdeeApprovalSyncListener { return; } // 付款特批未完成(高风险/黑名单/额度超额)时金蝶必然拒推:跳过而非置失败, - // 特批通过后由 HcsPaymentSyncSupport 重新发布本事件自动补推 + // 特批通过后由 HcsPaymentSyncSupport 重新发布本事件自动补推; + // 特批不走合同系统(spec-pay.enabled=false)时不跳过 PaymentApplication payment = paymentApplicationService.getById(id); - if (payment != null && payment.getHcsSpecStatus() != null + if (hcsProperties.getSpecPay().isEnabled() && payment != null && payment.getHcsSpecStatus() != null && List.of(HcsSyncConstant.SPEC_STATUS_NEED, HcsSyncConstant.SPEC_STATUS_PUSHING, HcsSyncConstant.SPEC_STATUS_PROCESSING).contains(payment.getHcsSpecStatus())) { log.info("付款申请[{}]审批通过自动同步金蝶跳过(付款特批未完成):hcsSpecStatus={}", id, payment.getHcsSpecStatus()); diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java index 41448c11..e9d56acf 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java @@ -51,6 +51,7 @@ import org.springblade.thirdparty.bfi.util.BfiUtil; import org.springblade.transport.config.BfiProperties; import org.springblade.transport.constant.KingdeeAttachmentConstant; import org.springblade.transport.constant.HcsSyncConstant; +import org.springblade.hcs.config.HcsProperties; import org.springblade.transport.constant.KingdeeBfiConstant; import org.springblade.transport.constant.KingdeeLockConstant; import org.springblade.transport.constant.TransportBusiConstant; @@ -187,6 +188,7 @@ public class PaymentApplicationServiceImpl extends BaseServiceImpl