diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeAttachmentSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeAttachmentSyncSupport.java index 9fd2616f..dd20ddde 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeAttachmentSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeAttachmentSyncSupport.java @@ -179,7 +179,10 @@ public class KingdeeAttachmentSyncSupport { if (record.getId() == null) { attachmentSyncMapper.insert(record); } else { - attachmentSyncMapper.updateById(record); + // updateById 默认忽略 null 字段,失败转成功时 fail_reason 须显式置空,避免残留历史失败原因 + attachmentSyncMapper.update(record, Wrappers.lambdaUpdate() + .eq(KingdeeAttachmentSync::getId, record.getId()) + .set(KingdeeAttachmentSync::getFailReason, record.getFailReason())); } } int total = success + failReasons.size();