-- 合同变更独立单据 + 菜单 -- 审批通过后再回写 blade_contract_manage CREATE TABLE IF NOT EXISTS `blade_contract_change` ( `id` bigint(20) NOT NULL COMMENT '主键', `tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户ID', `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', `status` int(11) DEFAULT '1' COMMENT '状态', `is_deleted` int(11) DEFAULT '0' COMMENT '是否已删除', `contract_id` bigint(20) NOT NULL COMMENT '原合同ID', `change_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更编号', `change_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更类型', `change_date` date DEFAULT NULL COMMENT '变更日期', `change_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '变更内容', `change_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '变更原因', `change_attachments_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '变更附件JSON', `before_data_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '变更前快照JSON', `contract_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同编号', `contract_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同名称', `project_id` bigint(20) DEFAULT NULL COMMENT '所属项目ID', `project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属项目', `organization_id` bigint(20) DEFAULT NULL COMMENT '合同负责部门ID', `organization_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同负责部门', `contract_category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同类别', `sign_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '签约类型', `party_a` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '甲方', `party_b` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '乙方', `start_date` date DEFAULT NULL COMMENT '开始日期', `end_date` date DEFAULT NULL COMMENT '结束日期', `temporary_start_date` date DEFAULT NULL COMMENT '临时效力起', `temporary_end_date` date DEFAULT NULL COMMENT '临时效力止', `handler_user_id` bigint(20) DEFAULT NULL COMMENT '经办人ID', `handler_user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '经办人', `sign_date` date DEFAULT NULL COMMENT '签订日期', `apply_date` date DEFAULT NULL COMMENT '申请日期', `settlement_mode` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '结算方式', `contract_format` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同格式', `legal_seal_flag` int(11) DEFAULT NULL COMMENT '是否需要加盖法人章', `copy_count` int(11) DEFAULT NULL COMMENT '一式份数', `settlement_currency` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '结算币种', `invoice_cycle` int(11) DEFAULT NULL COMMENT '开票周期(天)', `payment_days` int(11) DEFAULT NULL COMMENT '回款账期(天)', `contract_amount` decimal(18,2) DEFAULT NULL COMMENT '合同金额', `template_flag` int(11) DEFAULT NULL COMMENT '是否范本', `original_contract_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '原件合同编号', `electronic_seal_flag` int(11) DEFAULT NULL COMMENT '是否电子章', `billing_enabled` int(11) DEFAULT NULL COMMENT '计费信息开关', `fee_generation_mode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '费用生成模式', `contract_file_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '合同主文件JSON', `attachments_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '其它附件JSON', `billing_plan_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '计费方案JSON', `settlement_rule_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '结算生成规则JSON', `pre_settlement_config_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '预结算配置JSON', `formal_settlement_config_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '正式结算配置JSON', `payment_ratio_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '付款比例设置JSON', `reconciliation_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '对账配置JSON', `main_content` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同主要内容', `remark` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '其他事项说明', `hcs_risk_level` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合规客商风险等级(展示用)', `hcs_black_status` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合规客商黑名单状态(展示用)', `approval_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '审批状态', `current_node` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '当前节点', `current_processor` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '当前处理人', `approved_time` datetime DEFAULT NULL COMMENT '审核通过时间', `sync_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '同步状态 unsynced/synced/failed', PRIMARY KEY (`id`) USING BTREE, KEY `idx_contract_change_contract` (`contract_id`) USING BTREE, KEY `idx_contract_change_status` (`approval_status`) USING BTREE, KEY `idx_contract_change_type` (`change_type`) USING BTREE, KEY `idx_contract_change_create_time` (`create_time`) USING BTREE, KEY `idx_contract_change_no` (`change_no`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='合同变更'; -- 菜单:合同管理下增加「合同变更」 INSERT IGNORE INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES (2110000000000000200, 2110000000000000000, 'contract_change', '合同变更', 'contract_change', '/business/contract-change', 'iconfont icon-caidanguanli', 20, 1, 0, 1, NULL, '', 0), (2110000000000000201, 2110000000000000200, 'contract_change_view', '查看', 'contract_change_view', '', '', 1, 2, 0, 1, NULL, '', 0), (2110000000000000202, 2110000000000000200, 'contract_change_add', '新增', 'contract_change_add', '', '', 2, 2, 0, 1, NULL, '', 0), (2110000000000000203, 2110000000000000200, 'contract_change_edit', '编辑', 'contract_change_edit', '', '', 3, 2, 0, 1, NULL, '', 0), (2110000000000000204, 2110000000000000200, 'contract_change_delete', '删除', 'contract_change_delete', '', '', 4, 2, 0, 1, NULL, '', 0), (2110000000000000205, 2110000000000000200, 'contract_change_submit', '提交', 'contract_change_submit', '', '', 5, 2, 0, 1, NULL, '', 0), (2110000000000000206, 2110000000000000200, 'contract_change_withdraw', '撤回', 'contract_change_withdraw', '', '', 6, 2, 0, 1, NULL, '', 0), (2110000000000000207, 2110000000000000200, 'contract_change_approve', '审批通过', 'contract_change_approve', '', '', 7, 2, 0, 1, NULL, '', 0), (2110000000000000208, 2110000000000000200, 'contract_change_reject', '审批驳回', 'contract_change_reject', '', '', 8, 2, 0, 1, NULL, '', 0); -- 业务字典 mk_template:提交合同变更审核流(dict_key 需按实际 MK 模板编码配置) INSERT IGNORE INTO `blade_dict_biz` (`id`, `tenant_id`, `parent_id`, `code`, `dict_key`, `dict_value`, `sort`, `remark`, `is_sealed`, `status`, `is_deleted`) SELECT 2110000000000000299, '000000', id, 'mk_template', 'CONTRACT_CHANGE_TEMPLATE', '提交合同变更审核流', 99, '合同变更MK模板编码,请替换为真实 templateCode', 0, 1, 0 FROM `blade_dict_biz` WHERE `code` = 'mk_template' AND `parent_id` = 0 AND `is_deleted` = 0 LIMIT 1;