From 9365fd77383ff14f83a611b49e43107dc821a796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Sat, 10 Oct 2026 13:45:45 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20MK=E6=B5=81=E7=A8=8B=E7=BB=93?= =?UTF-8?q?=E7=AE=97/=E4=BB=98=E6=AC=BE=E5=AE=A1=E6=89=B9=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E7=BB=9F=E4=B8=80=E6=94=B9=E8=B0=83service.approve?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 结算/付款 OA handler 不再直置 approved,与开票/收票 handler 对齐走 service.approve 统一入口 - 顺修两处绕过:付款审批补上票据额度联动 useBillBalance,结算审批补上变更记录 - 仅审批中单据可通过,重复 OA 回调被状态校验拒绝,为后续审批事件触发推送保证不重复推送 --- .../transport/mk/MkProcessBizHandlers.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mk/MkProcessBizHandlers.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/mk/MkProcessBizHandlers.java index 8e25176e..918749f6 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mk/MkProcessBizHandlers.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mk/MkProcessBizHandlers.java @@ -4,8 +4,10 @@ import lombok.RequiredArgsConstructor; import org.springblade.core.tenant.annotation.TenantIgnore; import org.springblade.core.tool.utils.Func; import org.springblade.transport.pojo.dto.BillPaymentStatusRequest; +import org.springblade.transport.pojo.dto.FormalSettlementStatusRequest; import org.springblade.transport.pojo.dto.InvoiceApplicationStatusRequest; import org.springblade.transport.pojo.dto.InvoiceReceiptStatusRequest; +import org.springblade.transport.pojo.dto.PaymentApplicationStatusRequest; import org.springblade.transport.pojo.entity.BillPayment; import org.springblade.transport.pojo.entity.ContractManage; import org.springblade.transport.pojo.entity.FormalSettlement; @@ -311,11 +313,18 @@ public final class MkProcessBizHandlers { if (entity == null || "approved".equals(entity.getApprovalStatus())) { return entity != null; } - entity.setApprovalStatus("approved"); - entity.setCurrentNode("审核通过"); - entity.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统")); - entity.setApprovedTime(LocalDateTime.now()); - return service.updateById(entity); + // 统一走 service.approve:与手动审批同一入口(补变更记录),审批事务提交后自动触发金蝶推送事件; + // 仅审批中单据允许通过,重复回调被状态校验拒绝,不重复推送 + FormalSettlementStatusRequest request = new FormalSettlementStatusRequest(); + request.setId(id); + service.approve(request); + FormalSettlement updated = service.getById(id); + if (updated != null) { + updated.setCurrentNode("审核通过"); + updated.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统")); + service.updateById(updated); + } + return true; } @Override @@ -374,10 +383,18 @@ public final class MkProcessBizHandlers { if (entity == null || "approved".equals(entity.getApprovalStatus())) { return entity != null; } - entity.setApprovalStatus("approved"); - entity.setCurrentNode("审核通过"); - entity.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统")); - return service.updateById(entity); + // 统一走 service.approve:与手动审批同一入口(补票据额度联动 useBillBalance),审批事务提交后自动触发金蝶推送事件; + // 仅审批中单据允许通过,重复回调被状态校验拒绝,不重复推送 + PaymentApplicationStatusRequest request = new PaymentApplicationStatusRequest(); + request.setId(id); + service.approve(request); + PaymentApplication updated = service.getById(id); + if (updated != null) { + updated.setCurrentNode("审核通过"); + updated.setCurrentProcessor(MkProcessNodeHelper.text(processorName, "系统")); + service.updateById(updated); + } + return true; } @Override