fix: 修复正式结算单同步金蝶失败原因未落库导致列表仅显示兜底提示
This commit is contained in:
+6
-5
@@ -865,16 +865,17 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl<FormalSettlemen
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void markKingdeeSyncFailed(Long id, String reason) {
|
||||
if (id == null) return;
|
||||
// 条件更新:仅审批通过且未同步的单据落"生成失败"状态,未审批/已同步/已删除单据自动跳过保持原状态
|
||||
// 失败原因截断留档,与列长 varchar(500) 对齐
|
||||
String failReason = Func.toStrWithEmpty(reason, "未知异常");
|
||||
String columnReason = failReason.length() > 500 ? failReason.substring(0, 500) : failReason;
|
||||
// 条件更新:仅审批通过且未同步的单据落"生成失败"状态与失败原因,未审批/已同步/已删除单据自动跳过保持原状态
|
||||
int updated = baseMapper.update(null, Wrappers.<FormalSettlement>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.<SettlementAdjustment>lambdaUpdate()
|
||||
.eq(SettlementAdjustment::getFormalSettlementId, id)
|
||||
|
||||
Reference in New Issue
Block a user