From 64a14875fa552e91711d3edee3f012330ec68bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Sat, 17 Oct 2026 14:52:15 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20":fix:=20HCS=E5=B1=A5=E7=BA=A6?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=8E=A8=E9=80=81=E5=B1=A5=E7=BA=A6=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E7=AD=89=E5=AD=97=E5=85=B8=E5=AD=97=E6=AE=B5=E6=94=B9?= =?UTF-8?q?=E4=BC=A0=E4=B8=AD=E6=96=87=E5=AD=97=E5=85=B8=E5=90=8D"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit d69ec1a3b4190ca0865ac90ade82c5ed57a0bd62. --- .../support/hcs/HcsExeStageSyncSupport.java | 50 +++---------------- 1 file changed, 8 insertions(+), 42 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsExeStageSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsExeStageSyncSupport.java index 07ad6d4d..262e547e 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsExeStageSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsExeStageSyncSupport.java @@ -51,7 +51,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.function.UnaryOperator; /** * HCS 履约规则同步支撑组件(C103-9 新版行级同步,设计文档 §5.3,ADR-0002) @@ -130,37 +129,20 @@ public class HcsExeStageSyncSupport { } // 【必填】行级操作:add / update / delete stage.setFdEopExeplanOperateType(row.getRowOp()); - // 【必填】履约类型:传中文字典名(2026-10-17 确认;此前传枚举键,合规侧字典不命中) - stage.setFdPerformType(dictName("履约类型", row.getPerformType(), code -> switch (code) { - case HcsSyncConstant.PERFORM_TYPE_PAYMENT -> "付款"; - case HcsSyncConstant.PERFORM_TYPE_COLLECTION -> "收款"; - default -> null; - })); - // 【必填】款项性质:传中文字典名 - stage.setFdFundNature(dictName("款项性质", row.getFundNature(), code -> switch (code) { - case "prepayment" -> "预付款"; - case HcsSyncConstant.FUND_NATURE_PROGRESS -> "进度款"; - case "acceptance" -> "验收款"; - case "retention" -> "质保金"; - default -> null; - })); + // 【必填】履约类型:payment=付款 / collection=收款 + stage.setFdPerformType(row.getPerformType()); + // 【必填】款项性质:prepayment/progress/acceptance/retention + stage.setFdFundNature(row.getFundNature()); // 【必填】计划金额(元) stage.setFdFundAmount(row.getFundAmount()); // 【必填】资金日期(毫秒时间戳) stage.setFdFundDate(toMillis(row.getFundDate())); - // 【必填】开票规则:传中文字典名 - stage.setFdInvoiceRule(dictName("开票规则", row.getInvoiceRule(), code -> switch (code) { - case "payFirst" -> "先款后票"; - case "invoiceFirst" -> "先票后款"; - default -> null; - })); + // 【必填】开票规则:payFirst=先款后票 / invoiceFirst=先票后款 + stage.setFdInvoiceRule(row.getInvoiceRule()); // 【必填】账期(天) stage.setFdInvoiceCycle(row.getInvoiceCycle()); - // 金额类型:行维护值(空取配置 thirdParty.hcs.exe-stage.fund-type),传中文字典名 - stage.setFdFundType(dictName("金额类型", StringUtil.isBlank(row.getFundType()) ? hcsProperties.getExeStage().getFundType() : row.getFundType(), code -> switch (code) { - case "byAmount" -> "按金额"; - default -> null; - })); + // 金额类型:行维护值,空取配置 thirdParty.hcs.exe-stage.fund-type(默认 byAmount) + stage.setFdFundType(StringUtil.isBlank(row.getFundType()) ? hcsProperties.getExeStage().getFundType() : row.getFundType()); // 是否完成 stage.setFdIsFinish(row.getIsFinish() != null && row.getIsFinish() > 0); // 扩展内容 JSON 字符串:固定 "{}" @@ -171,22 +153,6 @@ public class HcsExeStageSyncSupport { return param; } - /** - * 字典编码 → 合规中文字典名(2026-10-17 确认合规侧按中文命中字典);空值原样传, - * 未命中原值直传并告警(照 HcsProjectSyncSupport#mapSettlementType 惯例) - */ - private String dictName(String fieldLabel, String value, UnaryOperator mapping) { - if (StringUtil.isBlank(value)) { - return value; - } - String name = mapping.apply(value); - if (name == null) { - log.warn("HCS履约规则{}编码[{}]未命中中文字典映射,原值直传", fieldLabel, value); - return value; - } - return name; - } - /** * 回填:fdExeplanId → 合同 hcs_exeplan_id;变更阶段 fdId 按行回填 hcs_stage_fd_id 并清除行级操作标记 *