diff --git a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java index 5e0ca285..919b333f 100644 --- a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java +++ b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/config/HcsProperties.java @@ -124,6 +124,10 @@ public class HcsProperties { * 收票单(C109)配置 */ private ReceiptBill receiptBill = new ReceiptBill(); + /** + * 收款认领链(C103-9 更新履约计划 + C107-1 认领记录 + C108-1 履约流水)配置 + */ + private Claim claim = new Claim(); /** * 附件转传(C103-2)配置 */ @@ -322,6 +326,14 @@ public class HcsProperties { private String xformId = ""; } + @Data + public static class Claim { + /** + * 收款认领链同步开关(金蝶认领推送 A301-3 成功后推 C103-9/C107-1/C108-1,默认关) + */ + private boolean syncEnabled = false; + } + @Data public static class Attachment { /** diff --git a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsCollectionFlowVO.java b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsCollectionFlowVO.java new file mode 100644 index 00000000..ebc3af2a --- /dev/null +++ b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsCollectionFlowVO.java @@ -0,0 +1,74 @@ +/** + * 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 + * is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for their own commercial purposes. + *
+ * Using this software signifies agreement to this license agreement and terms of use, + * and you expressly agree to be bound by the terms of use of this software. + *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + *
+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.hcs.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 合同合规系统(HCS)C104-2 收款流水分页行(认领记录推送前按明细流水号定位合规侧收款流水ID) + *
+ * 合规侧收款流水由合规自 ERP 侧同步(fdDataSource 默认 erp),TMS 以明细流水号(fdDetailSerialNumber)
+ * 精确匹配取 fdId,供 C107-1 认领记录的 fdCollectionFlow.fdId 引用。
+ *
+ * @author Chill
+ */
+@Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class HcsCollectionFlowVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 合规收款流水ID(C107-1 fdCollectionFlow.fdId 引用)
+ */
+ private String fdId;
+ /**
+ * 认领公告
+ */
+ private String fdClaimNotice;
+ /**
+ * 明细流水号(与 TMS blade_kingdee_receipt_flow.detail_serial_no 同源)
+ */
+ private String fdDetailSerialNumber;
+ /**
+ * 收款金额
+ */
+ private BigDecimal fdCollectionAmount;
+ /**
+ * 认领状态:0=未认领,1=部分认领,2=认领完成
+ */
+ private Integer fdClaimStatus;
+ /**
+ * 已认领金额
+ */
+ private BigDecimal fdClaimedAmount;
+}
diff --git a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsPerfRecordPropsDTO.java b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsPerfRecordPropsDTO.java
index 20fcbcf3..2ba5302f 100644
--- a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsPerfRecordPropsDTO.java
+++ b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsPerfRecordPropsDTO.java
@@ -92,6 +92,16 @@ public class HcsPerfRecordPropsDTO implements Serializable {
*/
@JsonProperty("fd_id")
private String fdId;
+ /**
+ * 履约计划id(关联履约阶段 hcs_stage_fd_id,接口必填,HCS 只认自己的阶段ID)
+ */
+ @JsonProperty("fd_plan_id")
+ private String fdPlanId;
+ /**
+ * 金蝶单据号(溯源用)
+ */
+ @JsonProperty("fd_jd_doc_no")
+ private String fdJdDocNo;
/**
* 合同ID(HCS 合同ID)
*/
diff --git a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/feign/IHcsClient.java b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/feign/IHcsClient.java
index a119b917..916c36f0 100644
--- a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/feign/IHcsClient.java
+++ b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/feign/IHcsClient.java
@@ -31,6 +31,7 @@ import org.springblade.hcs.dto.HcsAttachmentDownloadDTO;
import org.springblade.hcs.dto.HcsAttachmentVO;
import org.springblade.hcs.dto.HcsCategoryVO;
import org.springblade.hcs.dto.HcsClaimRecordAddDTO;
+import org.springblade.hcs.dto.HcsCollectionFlowVO;
import org.springblade.hcs.dto.HcsContractDetailQueryDTO;
import org.springblade.hcs.dto.HcsContractDetailVO;
import org.springblade.hcs.dto.HcsContractDraftDTO;
@@ -107,6 +108,7 @@ public interface IHcsClient {
String INVOICE_REG_ADD_URL = "${thirdParty.hcs.invoiceRegAddUrl:/openapi/eop-data/eopDataInvoiceRegistrationOpen/add}";
String INVOICE_REG_UPDATE_URL = "${thirdParty.hcs.invoiceRegUpdateUrl:/openapi/eop-data/eopDataInvoiceRegistrationOpen/update}";
String CLAIM_RECORD_ADD_URL = "${thirdParty.hcs.claimRecordAddUrl:/openapi/eop-data/eopDataCollectionFlowClaimRecordOpen/add}";
+ String COLLECTION_FLOW_LIST_URL = "${thirdParty.hcs.collectionFlowListUrl:/openapi/eop-data/eopDataCollectionFlowOpen/list}";
/**
* C102-1 项目立项新建
@@ -338,4 +340,13 @@ public interface IHcsClient {
*/
@PostMapping(CLAIM_RECORD_ADD_URL)
HcsResult