From 830acee00e604b8f69c4d5e40864a3e4072f754a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Wed, 28 Oct 2026 19:32:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=AD=A3=E5=BC=8F?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=8D=95=E5=90=8C=E6=AD=A5=E9=87=91=E8=9D=B6?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0=E6=9C=AA=E8=90=BD=E5=BA=93?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=88=97=E8=A1=A8=E4=BB=85=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=85=9C=E5=BA=95=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FormalSettlementServiceImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java index 9e9f1b1e..497919f0 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java @@ -865,16 +865,17 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl 500 ? failReason.substring(0, 500) : failReason; + // 条件更新:仅审批通过且未同步的单据落"生成失败"状态与失败原因,未审批/已同步/已删除单据自动跳过保持原状态 int updated = baseMapper.update(null, Wrappers.lambdaUpdate() .eq(FormalSettlement::getId, id) .eq(FormalSettlement::getApprovalStatus, TransportBusiConstant.APPROVED) .ne(FormalSettlement::getKingdeeSyncStatus, KingdeeBfiConstant.KINGDEE_STATUS_SYNCED) - .set(FormalSettlement::getKingdeeSyncStatus, KingdeeBfiConstant.KINGDEE_STATUS_FAILED)); + .set(FormalSettlement::getKingdeeSyncStatus, KingdeeBfiConstant.KINGDEE_STATUS_FAILED) + .set(FormalSettlement::getKingdeeFailReason, columnReason)); if (updated > 0) { - // 失败原因截断留档,与列长 varchar(500) 对齐 - String failReason = Func.toStrWithEmpty(reason, "未知异常"); - String columnReason = failReason.length() > 500 ? failReason.substring(0, 500) : failReason; // 结算调整单回填:未推送场景审批通过后自动推送失败,调整单置 failed + 失败原因供「推送金蝶」重试 settlementAdjustmentMapper.update(null, Wrappers.lambdaUpdate() .eq(SettlementAdjustment::getFormalSettlementId, id)