diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java index 0a03304b..cc4ddd1a 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java @@ -172,4 +172,12 @@ public class FormalSettlement extends TenantEntity { * 作废原因,驳回时记录驳回原因 */ private String voidReason; + /** + * 来源原正式结算单号:结算调整重推生成的新单,指向被调整的原单 + */ + private String originFormalSettlementNo; + /** + * 调整状态:adjusted-已被结算调整(原单标记) + */ + private String adjustStatus; } diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java index 2b7834af..888fcce8 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java @@ -30,6 +30,10 @@ public class SettlementAdjustment extends TenantEntity { private String currentNode; private String currentProcessor; private String kingdeeSyncStatus; + /** + * 金蝶单据号(未推送场景回填原结算单金蝶单号;重推场景回填新单金蝶单号) + */ + private String kingdeeBillNo; private String attachmentsJson; private String remark; private LocalDateTime approvedTime; diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java index dc889541..504febcd 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java @@ -58,6 +58,8 @@ public class FormalSettlementVO extends FormalSettlement implements KingdeeUnloc private String kingdeeUnlockOperator; @TableField(exist = false) @Schema(description = "解锁动作名称:金蝶删单/金蝶锁单") private String kingdeeUnlockOperationName; + @TableField(exist = false) @Schema(description = "调整状态名称:adjusted-已调整") + private String adjustStatusName; @TableField(exist = false) private String preSettlementNos; @TableField(exist = false) private String preSettlementNo; @TableField(exist = false) private List sources; diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java index ccbb245e..3f00b3a4 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java @@ -17,7 +17,6 @@ public class SettlementAdjustmentVO extends SettlementAdjustment { private String approvalStatusName; private String settlementTypeName; private String createUserName; - private String kingdeeBillNo; private List details; private List formalDetails; } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeApBillSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeApBillSyncSupport.java index f07dc7bd..d120ff59 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeApBillSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeApBillSyncSupport.java @@ -200,6 +200,33 @@ public class KingdeeApBillSyncSupport { return null; } + /** + * A102-4 冲销状态查询:按防重键查询财务应付单,返回该防重键下是否存在「已被冲销」单据 + * (BfiApBillVO.hadwrittenoff=true,部分冲销同样视为已冲销)。 + * 结算调整重推硬闸门用:仅当原单已被冲销才允许以新来源单据号重推新应付单 + * + * @param awrpSrcCode 财务应付单防重键 + * @return true=金蝶侧原应付单已被冲销 + */ + public boolean queryApBillWrittenOff(String awrpSrcCode) { + if (Func.isBlank(awrpSrcCode)) { + return false; + } + BfiApBillQueryDTO param = new BfiApBillQueryDTO(); + param.setAwrpSrcCode(List.of(awrpSrcCode)); + param.setAwrpSrcSys(bfiProperties.getSrcSys()); + for (BfiApBillVO apBill : BfiUtil.queryAllPages(pageNo -> { + param.setPageNo(pageNo); + param.setPageSize(PAY_RESULT_PAGE_SIZE); + return bfiService.queryApBill(param); + })) { + if (awrpSrcCode.equals(apBill.getAwrpSrcCode()) && Boolean.TRUE.equals(apBill.getHadwrittenoff())) { + return true; + } + } + return false; + } + // ==================== A102-2 财务应付单保存 ==================== /** diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeArBillSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeArBillSyncSupport.java index df30c4c7..64a3a99a 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeArBillSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeArBillSyncSupport.java @@ -138,6 +138,33 @@ public class KingdeeArBillSyncSupport { return null; } + /** + * A302-4 冲销状态查询:按防重键查询财务应收单,返回该防重键下是否存在「已被冲销」单据 + * (BfiArBillVO.hadwrittenoff=true,部分冲销同样视为已冲销)。 + * 结算调整重推硬闸门用:仅当原单已被冲销才允许以新来源单据号重推新应收单 + * + * @param arBillSrcCode 财务应收单防重键 + * @return true=金蝶侧原应收单已被冲销 + */ + public boolean queryArBillWrittenOff(String arBillSrcCode) { + if (Func.isBlank(arBillSrcCode)) { + return false; + } + BfiArBillQueryDTO param = new BfiArBillQueryDTO(); + param.setAwrpSrcCode(List.of(arBillSrcCode)); + param.setAwrpSrcSys(bfiProperties.getSrcSys()); + for (BfiArBillVO arBill : BfiUtil.queryAllPages(pageNo -> { + param.setPageNo(pageNo); + param.setPageSize(AR_RESULT_PAGE_SIZE); + return bfiService.queryArBill(param); + })) { + if (arBillSrcCode.equals(arBill.getAwrpSrcCode()) && Boolean.TRUE.equals(arBill.getHadwrittenoff())) { + return true; + } + } + return false; + } + // ==================== A302-2 财务应收单保存 ==================== /**