From fa08c1dd90754e292dfdc68c4cf9772187c254c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Thu, 22 Oct 2026 19:10:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20HCS=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=96=B0?= =?UTF-8?q?=E5=A2=9EC104-2=E6=94=B6=E6=AC=BE=E6=B5=81=E6=B0=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3=E4=B8=8E=E8=AE=A4=E9=A2=86=E9=93=BE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=BC=80=E5=85=B3=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - IHcsClient 新增 C104-2 collectionFlowList 接口(按明细流水号定位合规收款流水ID) - 新增 HcsCollectionFlowVO 收款流水分页行出参 - HcsPerfRecordPropsDTO 补充接口新版 fd_plan_id(必填)与 fd_jd_doc_no 字段 - HcsProperties 新增 claim 认领链同步开关(thirdParty.hcs.claim.sync-enabled,默认关) --- .../springblade/hcs/config/HcsProperties.java | 12 +++ .../hcs/dto/HcsCollectionFlowVO.java | 74 +++++++++++++++++++ .../hcs/dto/HcsPerfRecordPropsDTO.java | 10 +++ .../org/springblade/hcs/feign/IHcsClient.java | 11 +++ 4 files changed, 107 insertions(+) create mode 100644 blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsCollectionFlowVO.java 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