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 db8e2dcb..ced44ec1 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 @@ -845,7 +845,7 @@ public class KingdeeApBillSyncSupport { * @param taxRate 分录税率(百分数,来自合同计费方案规则) * @return 金蝶税率.编码,无税率为 null */ - private String taxrateCode(BigDecimal taxRate) { + public String taxrateCode(BigDecimal taxRate) { if (taxRate == null) { return null; } 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 bef28b0c..233fedfd 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 @@ -247,7 +247,8 @@ public class KingdeeArBillSyncSupport { param.setCurrencyNumber(currency); // 【必填】款项性质.编码 param.setPaypropertyNumber(KingdeeBfiConstant.BFI_AR_BILL_PAY_PROPERTY); - // TODO 待确认:结算方式编码(settlementtype_number)与税率编码(taxrateid_number)、到期日(duedate)需金蝶侧确认后补充,当前不传 + // TODO 待确认:结算方式编码(settlementtype_number)、到期日(duedate)需金蝶侧确认后补充,当前不传; + // 税率编码(taxrateid_number)已按 thirdparty.bfi.taxrate 映射送出(与应付单同口径) // 录入含税价(非必传) param.setIsincludetax(true); // 录入总价,为 true 后可不录入单价(非必传) @@ -293,6 +294,8 @@ public class KingdeeArBillSyncSupport { row.setERecamount(entryGroup.amount()); // 金额(不含税):结算明细行结算金额(不含税),结算合计费用项行无不含税金额不传 row.setEAmount(entryGroup.amountNoTax()); + // 税率.编码:thirdparty.bfi.taxrate 配置 税率数值->编码(如 9 -> V9),与应付单同口径,未维护该税率拦截报错 + row.setTaxrateidNumber(kingdeeApBillSyncSupport.taxrateCode(entryGroup.taxRate())); // 【必填】项目.项目编码:开关开启取项目档案真实编码(金蝶档案须已存在且编码一致),未关联项目兜底 999 row.setProjectNumber(kingdeeApBillSyncSupport.kingdeeProjectNumber(settlement.getProjectId(), context)); // 【必填】外部系统来源分录标识(候选键):结算明细行取单据号,结算合计费用项行取结算单号-费用类型-费用项拼接 diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSaveEntryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSaveEntryDTO.java index 6b2235f0..e9831cbf 100644 --- a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSaveEntryDTO.java +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSaveEntryDTO.java @@ -25,6 +25,7 @@ */ package org.springblade.thirdparty.bfi.pojo.dto; +import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @@ -35,11 +36,15 @@ import java.math.BigDecimal; /** * 业财融合(BFI)A302-2 财务应收单保存 明细分录 + *

getter 可见性关闭:e 前缀字段(如 eQuantity)经 Lombok getter 推导的属性名(equantity)与字段名不一致, + * 会产生 e_quantity/equantity 重复键,统一以字段 + @JsonProperty 序列化

* * @author Chill */ @Data @JsonInclude(JsonInclude.Include.NON_NULL) +@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, + isGetterVisibility = JsonAutoDetect.Visibility.NONE) public class BfiArBillSaveEntryDTO implements Serializable { @Serial private static final long serialVersionUID = 1L;