diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillQueryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillQueryDTO.java new file mode 100644 index 00000000..51e08ea0 --- /dev/null +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillQueryDTO.java @@ -0,0 +1,80 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.thirdparty.bfi.pojo.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * 业财融合(BFI)A102-4 财务应付单查询参数 + *
+ * 请求示例: + *
{@code
+ * GET /ierp/kapi/v2/awrp/ap/ap_finapbill/query?awrp_src_sys=YC&pageSize=10&pageNo=1
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillQueryDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 页码,从1开始
+ */
+ private Integer pageNo;
+ /**
+ * 页数
+ */
+ private Integer pageSize;
+ /**
+ * 来源单据号,业务系统对应的单据号,高频查询需要推送该字段
+ */
+ private List+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.dto;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 业财融合(BFI)A102-2 财务应付单保存请求体,结构为 data 数组
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillSaveBodyDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 财务应付单数据
+ */
+ private List
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 业财融合(BFI)A102-2 财务应付单保存参数
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 业财融合(BFI)A102-2 财务应付单保存 明细分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillSaveEntryDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 物料编码.编码,城矿对应物料(如 BYWL02.0141 废钢、WCY01.0001)
+ */
+ @JsonProperty("material_number")
+ private String materialNumber;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("expenseitem_number")
+ private String expenseitemNumber;
+ /**
+ * 项目.项目编码,项目字段必填、若不涉及项目传编码999
+ */
+ @JsonProperty("project_number")
+ private String projectNumber;
+ /**
+ * 计量单位.编码,城矿传吨/千克
+ */
+ @JsonProperty("measureunit_number")
+ private String measureunitNumber;
+ /**
+ * 数量,城矿传重量
+ */
+ private BigDecimal quantity;
+ /**
+ * 单价,城矿对应付款单价
+ */
+ private BigDecimal price;
+ /**
+ * 含税单价
+ */
+ private BigDecimal pricetax;
+ /**
+ * 折扣方式[PERCENT:折扣率(%), PERUNIT:单位折扣额, NULL:无, TOTAL:固定折扣额],城矿默认无
+ */
+ private String discountmode;
+ /**
+ * 单位折扣(率)
+ */
+ private BigDecimal discountrate;
+ /**
+ * 赠品
+ */
+ private Boolean ispresent;
+ /**
+ * 税率.编码,城矿传 V13
+ */
+ @JsonProperty("taxrateid_number")
+ private String taxrateidNumber;
+ /**
+ * 核心单据行号
+ */
+ @JsonProperty("corebillentryseq")
+ private Integer corebillentryseq;
+ /**
+ * 核心单据类型[sctm_scpo:委外采购订单, pm_om_purorderbill:简单委外订单, conm_purcontract:采购合同, ec_paymentapply:付款单申请单, pm_purorderbill:采购订单]
+ */
+ @JsonProperty("corebilltype")
+ private String corebilltype;
+ /**
+ * 备注
+ */
+ @JsonProperty("e_remark")
+ private String eRemark;
+ /**
+ * 应付金额,城矿对应挂账金额
+ */
+ @JsonProperty("e_pricetaxtotal")
+ private BigDecimal ePricetaxtotal;
+ /**
+ * 金额,城矿对应实付金额
+ */
+ @JsonProperty("e_amount")
+ private BigDecimal eAmount;
+ /**
+ * 税额
+ */
+ @JsonProperty("e_tax")
+ private BigDecimal eTax;
+ /**
+ * 外部系统来源分录标识,候选键,传明细行行ID或行编码
+ */
+ @JsonProperty("awrp_entry_code")
+ private String awrpEntryCode;
+ /**
+ * 上游分录号,即上游合同分录号
+ */
+ @JsonProperty("awrp_src_con_eno")
+ private String awrpSrcConEno;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillSavePlanDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillSavePlanDTO.java
new file mode 100644
index 00000000..415c0e27
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillSavePlanDTO.java
@@ -0,0 +1,105 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 业财融合(BFI)A102-2 财务应付单保存 付款计划分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillSavePlanDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 到期日,格式:yyyy-MM-dd
+ */
+ private String planduedate;
+ /**
+ * 应付金额
+ */
+ private BigDecimal planpricetax;
+ /**
+ * 备注
+ */
+ private String planremark;
+ /**
+ * 合同
+ */
+ private String plancontract;
+ /**
+ * 外部系统来源分录标识,候选键,不传自动取外部系统单据号
+ */
+ @JsonProperty("awrp_entry_code_p")
+ private String awrpEntryCodeP;
+ /**
+ * 利润中心.编码
+ */
+ @JsonProperty("planprofitcenter_number")
+ private String planprofitcenterNumber;
+ /**
+ * 对方利润中心.编码
+ */
+ @JsonProperty("plancprofitcenter_number")
+ private String plancprofitcenterNumber;
+ /**
+ * 结算方式.编码
+ */
+ @JsonProperty("plansettletype_number")
+ private String plansettletypeNumber;
+ /**
+ * 物料编码.编码
+ */
+ @JsonProperty("planmaterial_number")
+ private String planmaterialNumber;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("planexpenseitem_number")
+ private String planexpenseitemNumber;
+ /**
+ * 项目.项目编码,项目字段必填、若不涉及项目传编码999
+ */
+ @JsonProperty("planproject_number")
+ private String planprojectNumber;
+ /**
+ * 成本中心.编码
+ */
+ @JsonProperty("plancostcenter_number")
+ private String plancostcenterNumber;
+ /**
+ * 付款比例(%)
+ */
+ @JsonProperty("p_payrate")
+ private BigDecimal pPayrate;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillSavePreEntryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillSavePreEntryDTO.java
new file mode 100644
index 00000000..389f7711
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiApBillSavePreEntryDTO.java
@@ -0,0 +1,59 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 业财融合(BFI)A102-2 财务应付单保存 预付信息分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillSavePreEntryDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 单据类型[cas_paybill:付款处理, ap_paidbill:期初预付单]
+ */
+ @JsonProperty("y_billtype")
+ private String yBilltype;
+ /**
+ * 预付款单id,对应星瀚单据的id
+ */
+ @JsonProperty("y_billid")
+ private String yBillid;
+ /**
+ * 本次结算金额
+ */
+ @JsonProperty("y_settleamt")
+ private BigDecimal ySettleamt;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillEntryVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillEntryVO.java
new file mode 100644
index 00000000..bce175f4
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillEntryVO.java
@@ -0,0 +1,210 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 业财融合(BFI)A102-4 财务应付单查询 明细分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillEntryVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+ /**
+ * 分录行号
+ */
+ private Integer seq;
+ /**
+ * 应付金额
+ */
+ @JsonProperty("e_pricetaxtotal")
+ private BigDecimal ePricetaxtotal;
+ /**
+ * 金额
+ */
+ @JsonProperty("e_amount")
+ private BigDecimal eAmount;
+ /**
+ * 税额
+ */
+ @JsonProperty("e_tax")
+ private BigDecimal eTax;
+ /**
+ * 税率(%)
+ */
+ private BigDecimal taxrate;
+ /**
+ * 数量
+ */
+ private BigDecimal quantity;
+ /**
+ * 单价
+ */
+ private BigDecimal price;
+ /**
+ * 赠品
+ */
+ private Boolean ispresent;
+ /**
+ * 折扣方式[PERCENT:折扣率(%), PERUNIT:单位折扣额, TOTAL:折扣额, NULL:无]
+ */
+ private String discountmode;
+ /**
+ * 单位折扣(率)
+ */
+ private BigDecimal discountrate;
+ /**
+ * 实际单价
+ */
+ private BigDecimal actprice;
+ /**
+ * 已核销金额
+ */
+ private BigDecimal verifyamount;
+ /**
+ * 未核销金额
+ */
+ @JsonProperty("e_unverifyamount")
+ private BigDecimal eUnverifyamount;
+ /**
+ * 已锁定金额
+ */
+ private BigDecimal lockedamt;
+ /**
+ * 未锁定金额
+ */
+ private BigDecimal unlockamt;
+ /**
+ * 已结算金额
+ */
+ private BigDecimal settledamt;
+ /**
+ * 未结算金额
+ */
+ private BigDecimal unsettleamt;
+ /**
+ * 规格型号
+ */
+ private String spectype;
+ /**
+ * 折扣额
+ */
+ private BigDecimal discountamount;
+ /**
+ * 备注
+ */
+ @JsonProperty("e_remark")
+ private String eRemark;
+ /**
+ * 含税单价
+ */
+ private BigDecimal pricetax;
+ /**
+ * 基本数量
+ */
+ @JsonProperty("e_baseunitqty")
+ private BigDecimal eBaseunitqty;
+ /**
+ * 合同
+ */
+ @JsonProperty("e_contract")
+ private String eContract;
+ /**
+ * 外部系统来源分录标识
+ */
+ @JsonProperty("awrp_entry_code")
+ private String awrpEntryCode;
+ /**
+ * 上游分录号
+ */
+ @JsonProperty("awrp_src_con_eno")
+ private String awrpSrcConEno;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("expenseitem_number")
+ private String expenseitemNumber;
+ /**
+ * 计量单位.编码
+ */
+ @JsonProperty("measureunit_number")
+ private String measureunitNumber;
+ /**
+ * 物料编码.编码
+ */
+ @JsonProperty("material_number")
+ private String materialNumber;
+ /**
+ * 核算组织.编码
+ */
+ @JsonProperty("calorg_number")
+ private String calorgNumber;
+ /**
+ * 利润中心.编码
+ */
+ @JsonProperty("profitcenter_number")
+ private String profitcenterNumber;
+ /**
+ * 对方利润中心.编码
+ */
+ @JsonProperty("cprofitcenter_number")
+ private String cprofitcenterNumber;
+ /**
+ * 基本单位.编码
+ */
+ @JsonProperty("e_baseunit_number")
+ private String eBaseunitNumber;
+ /**
+ * WBS号.WBS编码
+ */
+ @JsonProperty("wbs_number")
+ private String wbsNumber;
+ /**
+ * 项目.项目编码
+ */
+ @JsonProperty("project_number")
+ private String projectNumber;
+ /**
+ * 税率.编码
+ */
+ @JsonProperty("taxrateid_number")
+ private String taxrateidNumber;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillInvoiceVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillInvoiceVO.java
new file mode 100644
index 00000000..d29d567c
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillInvoiceVO.java
@@ -0,0 +1,179 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 业财融合(BFI)A102-4 财务应付单查询 发票分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillInvoiceVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+ /**
+ * 分录行号
+ */
+ private Integer seq;
+ /**
+ * 发票ID
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long invid;
+ /**
+ * 收票单
+ */
+ @JsonProperty("i_billno")
+ private String iBillno;
+ /**
+ * 本次占用金额
+ */
+ @JsonProperty("i_usedamt")
+ private BigDecimal iUsedamt;
+ /**
+ * 发票类型[ELE:普通发票(电子), SE:专用发票(电子), GE:普通发票(纸质), SP:专用发票(纸质), PAPER:普通纸质卷票, MACH:通用机打发票, TAXI:的士票发票, TRAIN:火车票发票, PLANE:飞机票发票, OTHERCLOUD:其他发票, MOTOR:机动车销售发票, USERCAR:二手车发票, QUOTA:定额发票, TOLL:通行费电子发票, PASSENGER:客运发票, BRIDGE:过路过桥费发票, CARBOAT:车船税发票(专票), PAID:完税证明发票, STEAMER:轮船票发票, OTHER:其他发票, NORMPE:通用机打电子发票, FINE:财政电子发票, NOELETIC:全电普票, MAELETIC:全电专票, PAYLETTER:海关进口增值税专用缴款书, OVERSEAS:形式发票]
+ */
+ @JsonProperty("i_invoicetype")
+ private String iInvoicetype;
+ /**
+ * 发票类型_标题
+ */
+ @JsonProperty("i_invoicetype_title")
+ private String iInvoicetypeTitle;
+ /**
+ * 发票代码
+ */
+ @JsonProperty("i_invoicecode")
+ private String iInvoicecode;
+ /**
+ * 发票号码
+ */
+ @JsonProperty("i_invoiceno")
+ private String iInvoiceno;
+ /**
+ * 开票日期
+ */
+ @JsonProperty("i_invoicedate")
+ private String iInvoicedate;
+ /**
+ * 价税合计
+ */
+ @JsonProperty("i_pricetaxtotal")
+ private BigDecimal iPricetaxtotal;
+ /**
+ * 税率(%)
+ */
+ @JsonProperty("i_taxrate")
+ private BigDecimal iTaxrate;
+ /**
+ * 税额
+ */
+ @JsonProperty("i_tax")
+ private BigDecimal iTax;
+ /**
+ * 金额
+ */
+ @JsonProperty("i_amount")
+ private BigDecimal iAmount;
+ /**
+ * 销方名称
+ */
+ @JsonProperty("i_asstactname")
+ private String iAsstactname;
+ /**
+ * 购方名称
+ */
+ @JsonProperty("i_buyername")
+ private String iBuyername;
+ /**
+ * 税额不计入成本
+ */
+ @JsonProperty("i_istaxdeduction")
+ private Boolean iIstaxdeduction;
+ /**
+ * 备注
+ */
+ @JsonProperty("i_remark")
+ private String iRemark;
+ /**
+ * 行来源[1:发票采集, 2:发票下推, 3:应付指定发票, 4:发票指定应付, 5:发票匹配, 6:应收协同, 7:供应商协同]
+ */
+ @JsonProperty("i_srctype")
+ private String iSrctype;
+ /**
+ * 行来源_标题
+ */
+ @JsonProperty("i_srctype_title")
+ private String iSrctypeTitle;
+ /**
+ * 发票流水号
+ */
+ @JsonProperty("i_serialno")
+ private String iSerialno;
+ /**
+ * 后补发票[0:否, 1:是]
+ */
+ @JsonProperty("i_issupplement")
+ private String iIssupplement;
+ /**
+ * 后补发票_标题
+ */
+ @JsonProperty("i_issupplement_title")
+ private String iIssupplementTitle;
+ /**
+ * 可占用金额
+ */
+ @JsonProperty("i_canuseamt")
+ private BigDecimal iCanuseamt;
+ /**
+ * 预付款发票
+ */
+ private Boolean isprepayinv;
+ /**
+ * 科目类型[1:进口增值税, 2:进口关税, 3:进口消费税]
+ */
+ @JsonProperty("i_subject_type")
+ private String iSubjectType;
+ /**
+ * 科目类型_标题
+ */
+ @JsonProperty("i_subject_type_title")
+ private String iSubjectTypeTitle;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillPlanVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillPlanVO.java
new file mode 100644
index 00000000..ae496c2e
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillPlanVO.java
@@ -0,0 +1,134 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 业财融合(BFI)A102-4 财务应付单查询 付款计划分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillPlanVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+ /**
+ * 分录行号
+ */
+ private Integer seq;
+ /**
+ * 到期日
+ */
+ private String planduedate;
+ /**
+ * 应付金额
+ */
+ private BigDecimal planpricetax;
+ /**
+ * 未结算金额
+ */
+ private BigDecimal unplansettleamt;
+ /**
+ * 已结算金额
+ */
+ private BigDecimal plansettledamt;
+ /**
+ * 备注
+ */
+ private String planremark;
+ /**
+ * 冻结状态[unfreeze:未冻结, allfreeze:已冻结]
+ */
+ @JsonProperty("e_freezestate")
+ private String eFreezestate;
+ /**
+ * 合同
+ */
+ private String plancontract;
+ /**
+ * 拆分维度ID
+ */
+ @JsonProperty("p_splitdimensionid")
+ private Integer pSplitdimensionid;
+ /**
+ * 付款比例(%)
+ */
+ @JsonProperty("p_payrate")
+ private BigDecimal pPayrate;
+ /**
+ * 外部系统来源分录标识
+ */
+ @JsonProperty("awrp_entry_code_p")
+ private String awrpEntryCodeP;
+ /**
+ * 利润中心.编码
+ */
+ @JsonProperty("planprofitcenter_number")
+ private String planprofitcenterNumber;
+ /**
+ * 对方利润中心.编码
+ */
+ @JsonProperty("plancprofitcenter_number")
+ private String plancprofitcenterNumber;
+ /**
+ * 结算方式.编码
+ */
+ @JsonProperty("plansettletype_number")
+ private String plansettletypeNumber;
+ /**
+ * 物料编码.编码
+ */
+ @JsonProperty("planmaterial_number")
+ private String planmaterialNumber;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("planexpenseitem_number")
+ private String planexpenseitemNumber;
+ /**
+ * 项目.项目编码
+ */
+ @JsonProperty("planproject_number")
+ private String planprojectNumber;
+ /**
+ * 成本中心.编码
+ */
+ @JsonProperty("plancostcenter_number")
+ private String plancostcenterNumber;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillVO.java
new file mode 100644
index 00000000..f38881fb
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiApBillVO.java
@@ -0,0 +1,295 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.thirdparty.bfi.pojo.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 业财融合(BFI)A102-4 财务应付单查询返回结果
+ *
+ * 成功响应示例:
+ * {@code
+ * {
+ * "data": [
+ * {
+ * "billno": "test-0210-m1",
+ * "billtypeid_number": "ApFin_pur_BT_S",
+ * "org_number": "01.00",
+ * "bizdate": "2026-01-10 00:00:00",
+ * "asstacttype": "bd_supplier",
+ * "asstact_number": "G01.01.04.02-10-0017",
+ * "purmode": "CREDIT",
+ * "currency_number": "CNY",
+ * "payorg_number": "01.00",
+ * "payproperty_number": "2001",
+ * "settlementtype_number": "02",
+ * "isincludetax": true,
+ * "purorg_number": "01.00",
+ * "remark": "ceshi",
+ * "awrp_src_sys": "YC",
+ * "awrp_src_code": "test-0210-m1",
+ * "awrp_src_bt": "awrp_contract_info",
+ * "awrp_src_con_no": "1",
+ * "detailentry": [
+ * {
+ * "material_number": "BYWL02.0141",
+ * "measureunit_number": "GE",
+ * "quantity": 2.00,
+ * "pricetax": 5.0,
+ * "taxrateid_number": "V13",
+ * "e_remark": "test",
+ * "awrp_entry_code": "ee1",
+ * "awrp_src_con_eno": "e1",
+ * "project_number": "XDWL-ZSLXM-2026-0002"
+ * }
+ * ],
+ * "preentry": [
+ * {
+ * "y_billtype": "cas_paybill",
+ * "y_billid": "2350830337921133568",
+ * "y_settleamt": 2
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillSaveDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 单据编号,业务不传,由星瀚生成(如 AP-202601-001394)
+ */
+ private String billno;
+ /**
+ * 单据类型.编码[ApFin_pur_BT_S:标准采购应付, ApFin_fee_BT_S:费用采购应付, ApFin_purfee_BT_S:采购费用应付, ap_finapbill_asset_BT_S:资产采购应付, ApFin_service_BT_S:服务采购应付, ApFin_product_BT_S:产品委外应付, ApFin_other_BT_S:其他应付, ApFin_borr_BT_S:借贷项调整],城矿常用 ApFin_pur_BT_S
+ */
+ @JsonProperty("billtypeid_number")
+ private String billtypeidNumber;
+ /**
+ * 结算组织.编码
+ */
+ @JsonProperty("org_number")
+ private String orgNumber;
+ /**
+ * 单据日期,格式:yyyy-MM-dd HH:mm:ss,城矿传创建时间
+ */
+ private String bizdate;
+ /**
+ * 到期日,格式:yyyy-MM-dd HH:mm:ss
+ */
+ private String duedate;
+ /**
+ * 记账日期,格式:yyyy-MM-dd
+ */
+ private String bookdate;
+ /**
+ * 往来类型[bd_supplier:供应商, bos_user:人员, bd_customer:客户],城矿传供应商
+ */
+ private String asstacttype;
+ /**
+ * 往来户.编码
+ */
+ @JsonProperty("asstact_number")
+ private String asstactNumber;
+ /**
+ * 付款方式[CASH:现购, CREDIT:赊购],现购代表系统自动100%推付款,赊购可自由调整后续付款金额
+ */
+ private String purmode;
+ /**
+ * 结算币别.货币代码,如 CNY
+ */
+ @JsonProperty("currency_number")
+ private String currencyNumber;
+ /**
+ * 汇率
+ */
+ private BigDecimal exchangerate;
+ /**
+ * 汇率表.编码,如 01
+ */
+ @JsonProperty("exratetable_number")
+ private String exratetableNumber;
+ /**
+ * 付款组织.编码
+ */
+ @JsonProperty("payorg_number")
+ private String payorgNumber;
+ /**
+ * 款项性质.编码,如 2001 材料采购
+ */
+ @JsonProperty("payproperty_number")
+ private String paypropertyNumber;
+ /**
+ * 付款条件.编码
+ */
+ @JsonProperty("paycond_number")
+ private String paycondNumber;
+ /**
+ * 结算方式.编码,02 银行转账
+ */
+ @JsonProperty("settlementtype_number")
+ private String settlementtypeNumber;
+ /**
+ * 是否期初
+ */
+ private Boolean isperiod;
+ /**
+ * 录入含税价
+ */
+ private Boolean isincludetax;
+ /**
+ * 部门.编码
+ */
+ @JsonProperty("department_number")
+ private String departmentNumber;
+ /**
+ * 汇率日期,格式:yyyy-MM-dd HH:mm:ss
+ */
+ private String exratedate;
+ /**
+ * 录入总价,为 true 后可不录入单价
+ */
+ private Boolean ispricetotal;
+ /**
+ * 采购组织.编码
+ */
+ @JsonProperty("purorg_number")
+ private String purorgNumber;
+ /**
+ * 采购组.编码
+ */
+ @JsonProperty("purdept_number")
+ private String purdeptNumber;
+ /**
+ * 采购员.业务员编码
+ */
+ @JsonProperty("purchaser_operatornumber")
+ private String purchaserOperatornumber;
+ /**
+ * 质保金
+ */
+ private Boolean ispremium;
+ /**
+ * 质保金比例(%)
+ */
+ private BigDecimal premiumrate;
+ /**
+ * 质保金金额
+ */
+ private BigDecimal premiumamt;
+ /**
+ * 质保金到期日,格式:yyyy-MM-dd
+ */
+ private String premduedate;
+ /**
+ * 往来单位名称
+ */
+ private String asstactname;
+ /**
+ * 换算方式[0:直接汇率, 1:间接汇率]
+ */
+ private String quotation;
+ /**
+ * 微调
+ */
+ private Boolean isintertaxfx;
+ /**
+ * 税额不计入成本
+ */
+ private Boolean istaxdeduction;
+ /**
+ * 按比例分配
+ */
+ private Boolean allocatebyper;
+ /**
+ * 按应付金额分配
+ */
+ private Boolean isintax;
+ /**
+ * 收款账号,城矿不传
+ */
+ private String payeebanknum;
+ /**
+ * 收款银行.编码,城矿不传
+ */
+ @JsonProperty("bebank_number")
+ private String bebankNumber;
+ /**
+ * 备注
+ */
+ private String remark;
+ /**
+ * 微调金额
+ */
+ private Boolean isfx;
+ /**
+ * 微调应付金额
+ */
+ private Boolean isfxpricetaxtotal;
+ /**
+ * 源单id
+ */
+ private Long sourcebillid;
+ /**
+ * 源单类型,如 ap_invoice
+ */
+ private String sourcebilltype;
+ /**
+ * 源单编码
+ */
+ private String sourcebillno;
+ /**
+ * 单据来源类型[0:手工新增, 1:导入生成, 2:后台生成, 3:从总账导入, 4:协同调差生成, fromeas:EAS集成, 21:跨租户同步]
+ */
+ private String billsrctype;
+ /**
+ * 外部系统编号,候选键
+ */
+ @JsonProperty("awrp_src_sys")
+ private String awrpSrcSys;
+ /**
+ * 外部系统来源单据号,候选键,建议拼接
+ */
+ @JsonProperty("awrp_src_code")
+ private String awrpSrcCode;
+ /**
+ * 来源单据,有上游合同则传 awrp_contract_info
+ */
+ @JsonProperty("awrp_src_bt")
+ private String awrpSrcBt;
+ /**
+ * 上游外部系统单据号,即上游合同号
+ */
+ @JsonProperty("awrp_src_con_no")
+ private String awrpSrcConNo;
+ /**
+ * 外部单据类型
+ */
+ @JsonProperty("awrp_src_type")
+ private String awrpSrcType;
+ /**
+ * 明细分录
+ */
+ @JsonProperty("detailentry")
+ private List{@code
+ * {
+ * "data": {
+ * "filter": "[awrp_src_sys = 'YC']", "lastPage": true, "pageNo": 1, "pageSize": 10,
+ * "rows": [
+ * {
+ * "id": "2393657068314697747", "billno": "AP-202601-001394", "billstatus": "C",
+ * "pricetaxtotal": 10.0, "amount": 8.85, "tax": 1.15, "asstacttype": "bd_supplier",
+ * "bizdate": "2026-01-10 00:00:00", "purmode": "CREDIT",
+ * "awrp_src_sys": "YC", "awrp_src_code": "1", "awrp_src_bt": "awrp_contract_info",
+ * "detailentry": [ ... ], "planentity": [ ... ], "inventry": [ ... ]
+ * }
+ * ]
+ * },
+ * "errorCode": "0", "message": null, "status": true
+ * }
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiApBillVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+ /**
+ * 单据编号
+ */
+ private String billno;
+ /**
+ * 单据状态[A:暂存, B:已提交, C:已审核]
+ */
+ private String billstatus;
+ /**
+ * 审核时间
+ */
+ private String auditdate;
+ /**
+ * 创建时间
+ */
+ private String createtime;
+ /**
+ * 应付金额
+ */
+ private BigDecimal pricetaxtotal;
+ /**
+ * 金额
+ */
+ private BigDecimal amount;
+ /**
+ * 税额
+ */
+ private BigDecimal tax;
+ /**
+ * 备注
+ */
+ private String remark;
+ /**
+ * 往来类型[bd_supplier:供应商, bos_user:人员, bd_customer:客户]
+ */
+ private String asstacttype;
+ /**
+ * 单据日期
+ */
+ private String bizdate;
+ /**
+ * 汇率
+ */
+ private BigDecimal exchangerate;
+ /**
+ * 付款方式[CASH:现购, CREDIT:赊购]
+ */
+ private String purmode;
+ /**
+ * 往来单位名称
+ */
+ private String asstactname;
+ /**
+ * 期初
+ */
+ private Boolean isperiod;
+ /**
+ * 汇率日期
+ */
+ private String exratedate;
+ /**
+ * 换算方式[0:直接汇率, 1:间接汇率]
+ */
+ private String quotation;
+ /**
+ * 到期日
+ */
+ private String duedate;
+ /**
+ * 未核销金额
+ */
+ private BigDecimal unverifyamount;
+ /**
+ * 未结算金额
+ */
+ private BigDecimal unsettleamount;
+ /**
+ * 收款账号
+ */
+ private String payeebanknum;
+ /**
+ * 冲销单据
+ */
+ private Boolean iswrittenoff;
+ /**
+ * 已被冲销
+ */
+ private Boolean hadwrittenoff;
+ /**
+ * 录入含税价
+ */
+ private Boolean isincludetax;
+ /**
+ * 记账日期
+ */
+ private String bookdate;
+ /**
+ * 外部系统编号
+ */
+ @JsonProperty("awrp_src_sys")
+ private String awrpSrcSys;
+ /**
+ * 外部系统来源单据号
+ */
+ @JsonProperty("awrp_src_code")
+ private String awrpSrcCode;
+ /**
+ * 来源单据,如 awrp_contract_info
+ */
+ @JsonProperty("awrp_src_bt")
+ private String awrpSrcBt;
+ /**
+ * 上游外部系统单据号
+ */
+ @JsonProperty("awrp_src_con_no")
+ private String awrpSrcConNo;
+ /**
+ * 结算组织.编码
+ */
+ @JsonProperty("org_number")
+ private String orgNumber;
+ /**
+ * 结算币.货币代码
+ */
+ @JsonProperty("currency_number")
+ private String currencyNumber;
+ /**
+ * 采购组织.编码
+ */
+ @JsonProperty("purorg_number")
+ private String purorgNumber;
+ /**
+ * 往来户.编码
+ */
+ @JsonProperty("asstact_number")
+ private String asstactNumber;
+ /**
+ * 采购组.编码
+ */
+ @JsonProperty("purdept_number")
+ private String purdeptNumber;
+ /**
+ * 采购员.业务员名称
+ */
+ @JsonProperty("purchaser_operatorname")
+ private String purchaserOperatorname;
+ /**
+ * 付款条件.编码
+ */
+ @JsonProperty("paycond_number")
+ private String paycondNumber;
+ /**
+ * 本位币.货币代码
+ */
+ @JsonProperty("basecurrency_number")
+ private String basecurrencyNumber;
+ /**
+ * 汇率表.编码
+ */
+ @JsonProperty("exratetable_number")
+ private String exratetableNumber;
+ /**
+ * 结算方式.编码
+ */
+ @JsonProperty("settlementtype_number")
+ private String settlementtypeNumber;
+ /**
+ * 付款组织.编码
+ */
+ @JsonProperty("payorg_number")
+ private String payorgNumber;
+ /**
+ * 款项性质.编码
+ */
+ @JsonProperty("payproperty_number")
+ private String paypropertyNumber;
+ /**
+ * 单据类型.编码
+ */
+ @JsonProperty("billtypeid_number")
+ private String billtypeidNumber;
+ /**
+ * 收款银行.编码(行号)
+ */
+ @JsonProperty("bebank_number")
+ private String bebankNumber;
+ /**
+ * 组织间结算.编码
+ */
+ @JsonProperty("settlerelations_number")
+ private String settlerelationsNumber;
+ /**
+ * 付款币种.货币代码
+ */
+ @JsonProperty("paymentcurrency_number")
+ private String paymentcurrencyNumber;
+ /**
+ * 部门.编码
+ */
+ @JsonProperty("department_number")
+ private String departmentNumber;
+ /**
+ * 业务类型.编码
+ */
+ @JsonProperty("biztype_number")
+ private String biztypeNumber;
+ /**
+ * 收款供应商.编码
+ */
+ @JsonProperty("receivingsupplierid_number")
+ private String receivingsupplieridNumber;
+ /**
+ * 明细分录
+ */
+ @JsonProperty("detailentry")
+ private List