✨ 解耦MK表单实例与业务ID,公开页按formInstanceId反查业务数据
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
-- MK 业务ID与表单实例ID绑定
|
||||
CREATE TABLE IF NOT EXISTS `blade_mk_form_bind`
|
||||
(
|
||||
`id` bigint NOT NULL COMMENT '主键',
|
||||
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
|
||||
`biz_type` varchar(64) NOT NULL DEFAULT '' COMMENT '业务类型',
|
||||
`biz_id` bigint NOT NULL COMMENT '业务主键',
|
||||
`form_instance_id` bigint NOT NULL COMMENT 'MK表单实例id',
|
||||
`process_instance_id` varchar(64) DEFAULT NULL COMMENT 'MK流程实例id',
|
||||
`is_current` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否当前生效(1是0否)',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_blade_mk_form_bind_form_instance_id` (`form_instance_id`) USING BTREE,
|
||||
KEY `idx_blade_mk_form_bind_biz_current` (`biz_type`, `biz_id`, `is_current`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT ='MK表单实例绑定表';
|
||||
|
||||
-- 业务流程表增加表单实例id
|
||||
ALTER TABLE `blade_business_process`
|
||||
ADD COLUMN `form_instance_id` bigint DEFAULT NULL COMMENT 'MK表单实例id' AFTER `biz_id`;
|
||||
|
||||
-- 历史数据:原 biz_id 即 formInstanceId,回填并写入绑定表
|
||||
UPDATE `blade_business_process`
|
||||
SET `form_instance_id` = `biz_id`
|
||||
WHERE `form_instance_id` IS NULL;
|
||||
|
||||
INSERT INTO `blade_mk_form_bind` (`id`, `tenant_id`, `biz_type`, `biz_id`, `form_instance_id`,
|
||||
`process_instance_id`, `is_current`, `create_time`, `update_time`)
|
||||
SELECT `id`,
|
||||
IFNULL(`tenant_id`, '000000'),
|
||||
'',
|
||||
`biz_id`,
|
||||
`biz_id`,
|
||||
`process_instance_id`,
|
||||
1,
|
||||
IFNULL(`create_time`, NOW()),
|
||||
IFNULL(`update_time`, NOW())
|
||||
FROM `blade_business_process` bp
|
||||
WHERE NOT EXISTS (SELECT 1
|
||||
FROM `blade_mk_form_bind` b
|
||||
WHERE b.`form_instance_id` = bp.`biz_id`);
|
||||
Reference in New Issue
Block a user