From f13ee1f11b624b7b5ecdc7c5bf51e8bd2fc1787a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Tue, 13 Oct 2026 17:47:32 +0800 Subject: [PATCH] =?UTF-8?q?:feat:=20HCS=E5=90=88=E5=90=8C=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E6=96=B0=E5=A2=9E=E7=BB=93=E7=AE=97=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?fdContractGwNature=E5=9B=BA=E5=AE=9A=E4=BC=A0=E5=BC=80=E5=8F=A3?= =?UTF-8?q?=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/HcsContractFieldConstant.java | 17 +++++++++++++++++ .../support/hcs/HcsContractSyncSupport.java | 6 ++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/HcsContractFieldConstant.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/HcsContractFieldConstant.java index 5dcd6fcd..5de8fa5a 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/HcsContractFieldConstant.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/HcsContractFieldConstant.java @@ -167,6 +167,11 @@ public final class HcsContractFieldConstant { */ public static final String FIELD_FD_DESC = "fdDesc"; + /** + * 合同结算模式:open=开口合同,close=闭口合同 + */ + public static final String FIELD_FD_CONTRACT_GW_NATURE = "fdContractGwNature"; + // ==================== 结算类型枚举值 ==================== /** @@ -189,6 +194,18 @@ public final class HcsContractFieldConstant { */ public static final String SETTLEMENT_TYPE_NONE = "none"; + // ==================== 结算模式枚举值 ==================== + + /** + * 合同结算模式取值:开口合同(fdContractGwNature,TMS 固定取此值) + */ + public static final String CONTRACT_GW_NATURE_OPEN = "open"; + + /** + * 合同结算模式取值:闭口合同(fdContractGwNature) + */ + public static final String CONTRACT_GW_NATURE_CLOSE = "close"; + // ==================== 期限枚举值 ==================== /** diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java index f20107b9..81090586 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsContractSyncSupport.java @@ -210,7 +210,7 @@ public class HcsContractSyncSupport { } /** - * 筛选合同「特批说明」类型附件(fileType=特批说明,业务字典 contract_attachment_type)并转传合规(C103-2), + * 筛选合同「特批附件」类型附件(fileType=特批附件,业务字典 contract_attachment_type)并转传合规(C103-2), * 返回特批附件引用(fdEntityKey=eopCdraftSpecial);无特批说明附件返回空列表(提交时已强制校验,此处由 C103-8 防御性拦截) */ private List transferSpecExplanationAttachments(ContractManage contractManage) { @@ -407,6 +407,8 @@ public class HcsContractSyncSupport { } else { log.warn("HCS合同结算类型无法确定:contractCategory=[{}] 非承运商合同/客户合同,fdSettlementType 不传", contractManage.getContractCategory()); } + // 结算模式:TMS 合同固定开口合同(open,v4 字段说明) + fields.add(field(HcsContractFieldConstant.FIELD_FD_CONTRACT_GW_NATURE, "结算模式", HcsContractFieldConstant.CONTRACT_GW_NATURE_OPEN)); // 特批流程:fdSepcailContract 固定 false(原文拼写笔误必须沿用,D15,配置项预留) fields.add(field(HcsContractFieldConstant.FIELD_FD_SEPCAIL_CONTRACT, "特批流程", hcsProperties.getContract().isSpecialContractEnabled() ? "true" : "false")); // 合同类型:ContractManage.contractCategory @@ -443,7 +445,7 @@ public class HcsContractSyncSupport { fields.add(field(HcsContractFieldConstant.FIELD_FD_DESC, "合同说明", contractManage.getRemark())); // TODO 待联调(v4 选填字段,暂不传):fdCoTakers 协办人(TMS 无对应)、fdUnderTaker/fdUnderTakerDept 承办人及部门(组织架构对象传值方式待确认)、 // fdRelations 关联合同(数组)、fdProject 关联项目 {"fdId": 合规项目ID}(对象传值方式待确认,TMS projectId 可经立项 hcs_fd_id 关联)、 - // fdContractGwNature 结算模式 open/close、fdContractAttribute 合同属性(枚举值文档未给出,TMS 无对应)、fdUrgencyLevel 紧急程度(TMS 无对应) + // fdContractAttribute 合同属性(枚举值文档未给出,TMS 无对应)、fdUrgencyLevel 紧急程度(TMS 无对应) return fields; }