From ef09bfa9cd5102ff7dcaa39a8b509b189cab8450 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 18:36:07 +0800 Subject: [PATCH] =?UTF-8?q?:fix:=20=E7=89=B9=E6=89=B9=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E5=80=BC=E4=B8=8E=E4=B8=9A=E5=8A=A1=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E5=AF=B9=E9=BD=90=EF=BC=8C=E5=8F=98=E6=9B=B4=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E8=A1=A5=E5=85=85=E5=BC=BA=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 提交校验判定值由「特批说明」改为「特批附件」,与业务字典 contract_attachment_type 实际选项一致,修复高风险/黑名单客商已上传特批附件仍报错的问题 - 报错文案同步与前端下拉框一致 - submitChange(变更提交/变更驳回重提交)补充同一校验,堵住变更绕过附件强校验的缺口 - 补充字典幂等脚本 blade_contract_attachment_type_dict_20261013.sql(本地为界面新增未沉淀脚本) --- .../impl/ContractManageServiceImpl.java | 2 + ...contract_attachment_type_dict_20261013.sql | 39 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 doc/sql/transport/blade_contract_attachment_type_dict_20261013.sql diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ContractManageServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ContractManageServiceImpl.java index ec25728e..4a01aa0c 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ContractManageServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ContractManageServiceImpl.java @@ -332,6 +332,8 @@ public class ContractManageServiceImpl extends BaseServiceImpl afterData = buildContractChangeSnapshot(source); retainChangedSnapshotFields(beforeData, afterData); source.setApprovalStatus(STATUS_CHANGE_REVIEWING); diff --git a/doc/sql/transport/blade_contract_attachment_type_dict_20261013.sql b/doc/sql/transport/blade_contract_attachment_type_dict_20261013.sql new file mode 100644 index 00000000..b3d8e9ba --- /dev/null +++ b/doc/sql/transport/blade_contract_attachment_type_dict_20261013.sql @@ -0,0 +1,39 @@ +-- 合同附件类型业务字典(contract_attachment_type):合同文件/双章归档文件/特批附件。 +-- 后端高风险/黑名单客商提交校验按 fileType=特批附件 精确匹配(HcsSyncConstant#ATTACHMENT_TYPE_SPEC_EXPLANATION),缺字典会导致无法上传特批附件。 +-- 本地环境曾走界面新增,未沉淀脚本;本脚本幂等可重复执行,已存在的项跳过。 + +-- ① 字典父项:合同附件类型 +INSERT INTO blade_dict_biz (id, tenant_id, parent_id, code, dict_key, dict_value, sort, remark, is_sealed, status, is_deleted) +SELECT 2099691747182096386, '000000', 0, 'contract_attachment_type', '-1', '合同附件类型', 1, NULL, 0, 1, 0 +WHERE NOT EXISTS ( + SELECT 1 FROM blade_dict_biz + WHERE code = 'contract_attachment_type' AND dict_key = '-1' AND tenant_id = '000000' AND is_deleted = 0 +); + +-- ② 子项:parent_id 动态取父项ID,兼容各环境父项已单独创建的情况 +INSERT INTO blade_dict_biz (id, tenant_id, parent_id, code, dict_key, dict_value, sort, remark, is_sealed, status, is_deleted) +SELECT 2099691808217608194, '000000', + (SELECT id FROM blade_dict_biz WHERE code = 'contract_attachment_type' AND dict_key = '-1' AND tenant_id = '000000' AND is_deleted = 0 LIMIT 1), + 'contract_attachment_type', '合同文件', '合同文件', 1, NULL, 0, 1, 0 +WHERE NOT EXISTS ( + SELECT 1 FROM blade_dict_biz + WHERE code = 'contract_attachment_type' AND dict_key = '合同文件' AND tenant_id = '000000' AND is_deleted = 0 +); + +INSERT INTO blade_dict_biz (id, tenant_id, parent_id, code, dict_key, dict_value, sort, remark, is_sealed, status, is_deleted) +SELECT 2099691889775849473, '000000', + (SELECT id FROM blade_dict_biz WHERE code = 'contract_attachment_type' AND dict_key = '-1' AND tenant_id = '000000' AND is_deleted = 0 LIMIT 1), + 'contract_attachment_type', '双章归档文件', '双章归档文件', 1, NULL, 0, 1, 0 +WHERE NOT EXISTS ( + SELECT 1 FROM blade_dict_biz + WHERE code = 'contract_attachment_type' AND dict_key = '双章归档文件' AND tenant_id = '000000' AND is_deleted = 0 +); + +INSERT INTO blade_dict_biz (id, tenant_id, parent_id, code, dict_key, dict_value, sort, remark, is_sealed, status, is_deleted) +SELECT 2099691980955824130, '000000', + (SELECT id FROM blade_dict_biz WHERE code = 'contract_attachment_type' AND dict_key = '-1' AND tenant_id = '000000' AND is_deleted = 0 LIMIT 1), + 'contract_attachment_type', '特批附件', '特批附件', 1, NULL, 0, 1, 0 +WHERE NOT EXISTS ( + SELECT 1 FROM blade_dict_biz + WHERE code = 'contract_attachment_type' AND dict_key = '特批附件' AND tenant_id = '000000' AND is_deleted = 0 +);