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 claimRecordAdd(@RequestBody HcsClaimRecordAddDTO param); + + /** + * C104-2 查询收款流水列表(认领记录推送前按明细流水号定位合规侧收款流水ID) + * + * @param param 分页查询参数(conditions.fdDetailSerialNumber 按明细流水号精确查询) + * @return 收款流水分页数据 + */ + @PostMapping(COLLECTION_FLOW_LIST_URL) + HcsResult> collectionFlowList(@RequestBody HcsPageQueryDTO param); }