diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillQueryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillQueryDTO.java new file mode 100644 index 00000000..f8dfee5b --- /dev/null +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillQueryDTO.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)A302-4 财务应收单查询参数 + *
+ * 请求示例: + *
{@code
+ * GET /ierp/kapi/v2/awrp/ar/ar_finarbill/query?awrp_src_sys=YC&pageSize=10&pageNo=1
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillQueryDTO 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)A302-2 财务应收单保存请求体,结构为 data 数组
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillSaveBodyDTO 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)A302-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)A302-2 财务应收单保存 明细分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillSaveEntryDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 物料编码.编码
+ */
+ @JsonProperty("e_material_number")
+ private String eMaterialNumber;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("e_expenseitem_number")
+ private String eExpenseitemNumber;
+ /**
+ * 项目.项目编码,项目字段必填、若不涉及项目传编码999
+ */
+ @JsonProperty("project_number")
+ private String projectNumber;
+ /**
+ * 计量单位.编码
+ */
+ @JsonProperty("e_measureunit_number")
+ private String eMeasureunitNumber;
+ /**
+ * 数量
+ */
+ @JsonProperty("e_quantity")
+ private BigDecimal eQuantity;
+ /**
+ * 单价
+ */
+ @JsonProperty("e_unitprice")
+ private BigDecimal eUnitprice;
+ /**
+ * 含税单价
+ */
+ @JsonProperty("e_taxunitprice")
+ private BigDecimal eTaxunitprice;
+ /**
+ * 折扣方式[PERCENT:折扣率(%), PERUNIT:单位折扣额, NULL:无, TOTAL:固定折扣额]
+ */
+ @JsonProperty("e_discountmode")
+ private String eDiscountmode;
+ /**
+ * 单位折扣(率)
+ */
+ @JsonProperty("e_discountrate")
+ private BigDecimal eDiscountrate;
+ /**
+ * 税率.编码,如 V13
+ */
+ @JsonProperty("taxrateid_number")
+ private String taxrateidNumber;
+ /**
+ * 赠品
+ */
+ @JsonProperty("e_ispresent")
+ private Boolean eIspresent;
+ /**
+ * 核心单据类型[ec_incomeapply:请款单, conm_salcontract:销售合同, sm_salorder:销售订单]
+ */
+ @JsonProperty("e_corebilltype")
+ private String eCorebilltype;
+ /**
+ * 核心单据号
+ */
+ @JsonProperty("e_corebillno")
+ private String eCorebillno;
+ /**
+ * 核心单据行号
+ */
+ @JsonProperty("e_corebillentryseq")
+ private Integer eCorebillentryseq;
+ /**
+ * 备注
+ */
+ @JsonProperty("e_remark")
+ private String eRemark;
+ /**
+ * 金额
+ */
+ @JsonProperty("e_amount")
+ private BigDecimal eAmount;
+ /**
+ * 税额
+ */
+ @JsonProperty("e_tax")
+ private BigDecimal eTax;
+ /**
+ * 应收金额
+ */
+ @JsonProperty("e_recamount")
+ private BigDecimal eRecamount;
+ /**
+ * 上游分录号,即上游合同分录号
+ */
+ @JsonProperty("awrp_src_con_eno")
+ private String awrpSrcConEno;
+ /**
+ * 外部系统来源分录标识,候选键
+ */
+ @JsonProperty("awrp_entry_code")
+ private String awrpEntryCode;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSavePlanDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSavePlanDTO.java
new file mode 100644
index 00000000..ee07e225
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiArBillSavePlanDTO.java
@@ -0,0 +1,100 @@
+/**
+ * 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)A302-2 财务应收单保存 收款计划分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillSavePlanDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 备注
+ */
+ private String planremark;
+ /**
+ * 结算方式.编码,如 02
+ */
+ @JsonProperty("plansettletype_number")
+ private String plansettletypeNumber;
+ /**
+ * 外部系统来源分录标识,候选键,不传自动取外部系统单据号
+ */
+ @JsonProperty("awrp_entry_code_p")
+ private String awrpEntryCodeP;
+ /**
+ * 利润中心.编码
+ */
+ @JsonProperty("planprofitcenter_number")
+ private String planprofitcenterNumber;
+ /**
+ * 物料编码.编码
+ */
+ @JsonProperty("planmaterial_number")
+ private String planmaterialNumber;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("planexpenseitem_number")
+ private String planexpenseitemNumber;
+ /**
+ * 项目.项目编码,项目字段必填、若不涉及项目传编码999
+ */
+ @JsonProperty("planproject_number")
+ private String planprojectNumber;
+ /**
+ * 合同
+ */
+ private String plancontract;
+ /**
+ * 对方利润中心.编码
+ */
+ @JsonProperty("plancprofitcenter_number")
+ private String plancprofitcenterNumber;
+ /**
+ * 应收金额
+ */
+ private BigDecimal planpricetax;
+ /**
+ * 收款比例(%)
+ */
+ @JsonProperty("p_recrate")
+ private BigDecimal pRecrate;
+ /**
+ * 到期日,格式:yyyy-MM-dd HH:mm:ss
+ */
+ private String planduedate;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillEntryVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillEntryVO.java
new file mode 100644
index 00000000..70250c0a
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillEntryVO.java
@@ -0,0 +1,215 @@
+/**
+ * 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)A302-4 财务应收单查询 明细分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillEntryVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * id
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+ /**
+ * 分录行号
+ */
+ private Integer seq;
+ /**
+ * 数量
+ */
+ @JsonProperty("e_quantity")
+ private BigDecimal eQuantity;
+ /**
+ * 赠品
+ */
+ @JsonProperty("e_ispresent")
+ private Boolean eIspresent;
+ /**
+ * 单价
+ */
+ @JsonProperty("e_unitprice")
+ private BigDecimal eUnitprice;
+ /**
+ * 金额
+ */
+ @JsonProperty("e_amount")
+ private BigDecimal eAmount;
+ /**
+ * 税率(%)
+ */
+ @JsonProperty("e_taxrate")
+ private BigDecimal eTaxrate;
+ /**
+ * 含税单价
+ */
+ @JsonProperty("e_taxunitprice")
+ private BigDecimal eTaxunitprice;
+ /**
+ * 税额
+ */
+ @JsonProperty("e_tax")
+ private BigDecimal eTax;
+ /**
+ * 折扣方式[NULL:无, PERCENT:折扣率(%), PERUNIT:单位折扣额, TOTAL:折扣额]
+ */
+ @JsonProperty("e_discountmode")
+ private String eDiscountmode;
+ /**
+ * 单位折扣(率)
+ */
+ @JsonProperty("e_discountrate")
+ private BigDecimal eDiscountrate;
+ /**
+ * 折扣额
+ */
+ @JsonProperty("e_discountamount")
+ private BigDecimal eDiscountamount;
+ /**
+ * 实际单价
+ */
+ @JsonProperty("e_actunitprice")
+ private BigDecimal eActunitprice;
+ /**
+ * 实际含税单价
+ */
+ @JsonProperty("e_acttaxunitprice")
+ private BigDecimal eActtaxunitprice;
+ /**
+ * 应收金额
+ */
+ @JsonProperty("e_recamount")
+ private BigDecimal eRecamount;
+ /**
+ * 备注
+ */
+ @JsonProperty("e_remark")
+ private String eRemark;
+ /**
+ * 基本数量
+ */
+ @JsonProperty("e_baseunitqty")
+ private BigDecimal eBaseunitqty;
+ /**
+ * 规格型号
+ */
+ @JsonProperty("e_spectype")
+ private String eSpectype;
+ /**
+ * 合同
+ */
+ @JsonProperty("e_contract")
+ private String eContract;
+ /**
+ * 发票号码
+ */
+ @JsonProperty("e_invoiceno")
+ private String eInvoiceno;
+ /**
+ * 发票代码
+ */
+ @JsonProperty("e_invoicecode")
+ private String eInvoicecode;
+ /**
+ * 上游分录号
+ */
+ @JsonProperty("awrp_src_con_eno")
+ private String awrpSrcConEno;
+ /**
+ * 外部系统来源分录标识
+ */
+ @JsonProperty("awrp_entry_code")
+ private String awrpEntryCode;
+ /**
+ * 物料编码.编码
+ */
+ @JsonProperty("e_material_number")
+ private String eMaterialNumber;
+ /**
+ * 计量单位.编码
+ */
+ @JsonProperty("e_measureunit_number")
+ private String eMeasureunitNumber;
+ /**
+ * 基本单位.编码
+ */
+ @JsonProperty("e_baseunit_number")
+ private String eBaseunitNumber;
+ /**
+ * 费用项目.编码
+ */
+ @JsonProperty("e_expenseitem_number")
+ private String eExpenseitemNumber;
+ /**
+ * 利润中心.编码
+ */
+ @JsonProperty("profitcenter_number")
+ private String profitcenterNumber;
+ /**
+ * 对方利润中心.编码
+ */
+ @JsonProperty("cprofitcenter_number")
+ private String cprofitcenterNumber;
+ /**
+ * WBS号.WBS编码
+ */
+ @JsonProperty("wbs_number")
+ private String wbsNumber;
+ /**
+ * 税率.编码
+ */
+ @JsonProperty("taxrateid_number")
+ private String taxrateidNumber;
+ /**
+ * 项目.项目编码
+ */
+ @JsonProperty("project_number")
+ private String projectNumber;
+ /**
+ * 订货客户.编码
+ */
+ @JsonProperty("e_invoicecustomerid_number")
+ private String eInvoicecustomeridNumber;
+ /**
+ * 收货客户.编码
+ */
+ @JsonProperty("e_delivercustomerid_number")
+ private String eDelivercustomeridNumber;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillPlanVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillPlanVO.java
new file mode 100644
index 00000000..ecf72cdd
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillPlanVO.java
@@ -0,0 +1,119 @@
+/**
+ * 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)A302-4 财务应收单查询 收款计划分录
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillPlanVO 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;
+ /**
+ * 合同
+ */
+ private String plancontract;
+ /**
+ * 收款比例(%)
+ */
+ @JsonProperty("p_recrate")
+ private BigDecimal pRecrate;
+ /**
+ * 外部系统来源分录标识
+ */
+ @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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillVO.java
new file mode 100644
index 00000000..c592e600
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiArBillVO.java
@@ -0,0 +1,252 @@
+/**
+ * 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)A302-4 财务应收单查询返回结果
+ *
+ * 成功响应示例:
+ * {@code
+ * {
+ * "data": [
+ * {
+ * "billno": "AR-260113-008444",
+ * "billtype_number": "arfin_standard_BT_S",
+ * "org_number": "01.00",
+ * "bizdate": "2026-01-13 00:00:00",
+ * "asstacttype": "bd_customer",
+ * "asstact_number": "K01.02.11.00-20-0102",
+ * "paymode": "CREDIT",
+ * "payproperty_number": "1001",
+ * "currency_number": "CNY",
+ * "duedate": "2026-01-13 00:00:00",
+ * "paycond_number": "01",
+ * "settlementtype_number": "02",
+ * "isincludetax": true,
+ * "awrp_src_sys": "YC",
+ * "awrp_src_code": "1",
+ * "awrp_src_bt": "awrp_contract_info",
+ * "awrp_src_con_no": "11",
+ * "entry": [
+ * {
+ * "e_material_number": "BYWL02.0140",
+ * "e_measureunit_number": "GE",
+ * "e_quantity": 2.00,
+ * "e_taxunitprice": 5.0,
+ * "taxrateid_number": "V13",
+ * "e_remark": "分录备注",
+ * "awrp_src_con_eno": "e1",
+ * "awrp_entry_code": "ee1"
+ * }
+ * ],
+ * "planentity": [
+ * {
+ * "planduedate": "2026-01-13 00:00:00",
+ * "planpricetax": 10.00,
+ * "planremark": "",
+ * "plansettletype_number": "02",
+ * "awrp_entry_code_p": "OBHqh",
+ * "plancontract": "nVYpM"
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillSaveDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 单据编号,业务不传,由星瀚生成(如 AR-260113-008444)
+ */
+ private String billno;
+ /**
+ * 单据类型.编码[arfin_standard_BT_S:标准销售应收, arfin_sersal_BT_S:服务销售应收, arfin_salefee_BT_S:销售费用应收, arfin_other_BT_S:其他应收, arfin_borrowar_BT_S:借贷项调整]
+ */
+ @JsonProperty("billtype_number")
+ private String billtypeNumber;
+ /**
+ * 结算组织.编码,城矿传 WCCK
+ */
+ @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;
+ /**
+ * 收款组织.编码
+ */
+ @JsonProperty("recorg_number")
+ private String recorgNumber;
+ /**
+ * 付款方式[CASH:现销, CREDIT:赊销]
+ */
+ private String paymode;
+ /**
+ * 款项性质.编码,如 1001 一般销售
+ */
+ @JsonProperty("payproperty_number")
+ private String paypropertyNumber;
+ /**
+ * 结算币别.货币代码,如 CNY
+ */
+ @JsonProperty("currency_number")
+ private String currencyNumber;
+ /**
+ * 汇率表.编码,如 01
+ */
+ @JsonProperty("exratetable_number")
+ private String exratetableNumber;
+ /**
+ * 汇率
+ */
+ private BigDecimal exchangerate;
+ /**
+ * 汇率日期,格式:yyyy-MM-dd HH:mm:ss
+ */
+ private String exratedate;
+ /**
+ * 收款条件.编码,如 01
+ */
+ @JsonProperty("paycond_number")
+ private String paycondNumber;
+ /**
+ * 结算方式.编码,如 02
+ */
+ @JsonProperty("settlementtype_number")
+ private String settlementtypeNumber;
+ /**
+ * 部门.编码
+ */
+ @JsonProperty("department_number")
+ private String departmentNumber;
+ /**
+ * 销售组织.编码
+ */
+ @JsonProperty("salesorg_number")
+ private String salesorgNumber;
+ /**
+ * 销售组.编码
+ */
+ @JsonProperty("salesgroup_number")
+ private String salesgroupNumber;
+ /**
+ * 销售员.业务员编码
+ */
+ @JsonProperty("salesman_operatornumber")
+ private String salesmanOperatornumber;
+ /**
+ * 是否期初
+ */
+ private Boolean isperiod;
+ /**
+ * 录入含税价,传 true 含税,传 false 系统会再算税
+ */
+ private Boolean isincludetax;
+ /**
+ * 录入总价
+ */
+ private Boolean ispricetotal;
+ /**
+ * 备注
+ */
+ private String remark;
+ /**
+ * 微调金额
+ */
+ private Boolean isfx;
+ /**
+ * 微调应收金额
+ */
+ private Boolean isfxpricetaxtotal;
+ /**
+ * 业务唯一码
+ */
+ private String bizfingerprint;
+ /**
+ * 质保金到期日,格式:yyyy-MM-dd HH:mm:ss
+ */
+ private String premduedate;
+ /**
+ * 质保金比例(%)
+ */
+ private BigDecimal premiumrate;
+ /**
+ * 质保金金额
+ */
+ private BigDecimal premiumamt;
+ /**
+ * 质保金
+ */
+ private Boolean ispremium;
+ /**
+ * 源单ID
+ */
+ private String sourcebillid;
+ /**
+ * 源单类型,如 ar_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;
+ /**
+ * 明细分录
+ */
+ private List{@code
+ * {
+ * "data": {
+ * "filter": "[awrp_src_sys = 'YC']", "lastPage": true, "pageNo": 1, "pageSize": 10,
+ * "rows": [
+ * {
+ * "id": "2397125584581820416", "billno": "AR-260121-008445", "billstatus": "C",
+ * "bizdate": "2026-01-21 00:00:00", "asstacttype": "bd_customer", "paymode": "CREDIT",
+ * "recamount": 13.0, "amount": 11.5, "tax": 1.5,
+ * "awrp_src_sys": "YC", "awrp_src_code": "111", "awrp_src_bt": "awrp_contract_info",
+ * "entry": [ ... ], "planentity": [ ... ]
+ * }
+ * ]
+ * },
+ * "errorCode": "0", "message": null, "status": true
+ * }
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiArBillVO 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 String bizdate;
+ /**
+ * 到期日
+ */
+ private String duedate;
+ /**
+ * 往来类型[bd_supplier:供应商, bos_user:人员, bd_customer:客户]
+ */
+ private String asstacttype;
+ /**
+ * 付款方式[CASH:现销, CREDIT:赊销]
+ */
+ private String paymode;
+ /**
+ * 备注
+ */
+ private String remark;
+ /**
+ * 应收金额
+ */
+ private BigDecimal recamount;
+ /**
+ * 汇率
+ */
+ private BigDecimal exchangerate;
+ /**
+ * 金额
+ */
+ private BigDecimal amount;
+ /**
+ * 税额
+ */
+ private BigDecimal tax;
+ /**
+ * 汇率日期
+ */
+ private String exratedate;
+ /**
+ * 换算方式[0:直接汇率, 1:间接汇率]
+ */
+ private String quotation;
+ /**
+ * 冲销单据
+ */
+ private Boolean iswrittenoff;
+ /**
+ * 已被冲销
+ */
+ private Boolean hadwrittenoff;
+ /**
+ * 已结算金额
+ */
+ private BigDecimal settleamount;
+ /**
+ * 记账日期
+ */
+ private String bookdate;
+ /**
+ * 发票号码
+ */
+ private String invoiceno;
+ /**
+ * 发票代码
+ */
+ private String invoicecode;
+ /**
+ * 已开票应收金额
+ */
+ private BigDecimal issueinvrecamt;
+ /**
+ * 外部系统编号
+ */
+ @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("asstact_number")
+ private String asstactNumber;
+ /**
+ * 收款条件.编码
+ */
+ @JsonProperty("paycond_number")
+ private String paycondNumber;
+ /**
+ * 收款组织.编码
+ */
+ @JsonProperty("recorg_number")
+ private String recorgNumber;
+ /**
+ * 结算币.货币代码
+ */
+ @JsonProperty("currency_number")
+ private String currencyNumber;
+ /**
+ * 本位币.货币代码
+ */
+ @JsonProperty("basecurrency_number")
+ private String basecurrencyNumber;
+ /**
+ * 销售组.编码
+ */
+ @JsonProperty("salesgroup_number")
+ private String salesgroupNumber;
+ /**
+ * 销售员.业务员名称
+ */
+ @JsonProperty("salesman_operatorname")
+ private String salesmanOperatorname;
+ /**
+ * 结算方式.编码
+ */
+ @JsonProperty("settlementtype_number")
+ private String settlementtypeNumber;
+ /**
+ * 款项性质.编码
+ */
+ @JsonProperty("payproperty_number")
+ private String paypropertyNumber;
+ /**
+ * 单据类型.编码
+ */
+ @JsonProperty("billtype_number")
+ private String billtypeNumber;
+ /**
+ * 业务类型.编码
+ */
+ @JsonProperty("biztype_number")
+ private String biztypeNumber;
+ /**
+ * 付款客户.编码
+ */
+ @JsonProperty("paymentcustomerid_number")
+ private String paymentcustomeridNumber;
+ /**
+ * 明细分录
+ */
+ private List