feat(flow): support dynamic countersign add-sign

This commit is contained in:
PIGCLOUD committed 2026-08-01 13:32:20 +08:00
1 parent 5931a5d6d7
commit 2b6a4d2e85
32 files changed
+1916 -37

No files matched your search

+33 -1
View File
@@ -1753,12 +1753,44 @@ CREATE TABLE `process_node_record_assign_user` (
`node_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' 节点名称',
`task_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '任务类型',
`local_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '表单本地数据',
`node_record_id` bigint NOT NULL COMMENT '本轮节点执行记录id',
`assignment_origin` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'ORIGINAL' COMMENT '分配来源 ORIGINAL/ADD_SIGN',
`initial_user_id` bigint NOT NULL COMMENT '本份待办最初分配用户id',
`add_sign_record_id` bigint DEFAULT NULL COMMENT '动态加签批次记录id',
`tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '所属租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `user_idx_id` (`id`) USING BTREE
UNIQUE KEY `uk_node_record_user` (`tenant_id`,`node_record_id`,`user_id`) USING BTREE,
KEY `user_idx_id` (`id`) USING BTREE,
KEY `idx_add_sign_record_id` (`add_sign_record_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=597 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='流程节点记录-执行人';
-- ----------------------------
-- Table structure for process_task_add_sign_record
-- ----------------------------
DROP TABLE IF EXISTS `process_task_add_sign_record`;
CREATE TABLE `process_task_add_sign_record` (
`id` bigint NOT NULL COMMENT '主键id',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志',
`create_time` datetime COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
`flow_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程id',
`process_instance_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程实例id',
`node_record_id` bigint NOT NULL COMMENT '本轮节点执行记录id',
`node_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '节点id',
`source_task_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发起加签的任务id',
`added_by_user_id` bigint NOT NULL COMMENT '加签发起人id',
`reason` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '加签原因',
`target_user_ids` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本批次目标用户快照',
`participant_user_ids_before` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作前参与人快照',
`participant_user_ids_after` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作后参与人快照',
`tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '所属租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_add_sign_node_record` (`tenant_id`,`node_record_id`) USING BTREE,
KEY `idx_add_sign_process_instance` (`tenant_id`,`process_instance_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='流程动态加签批次记录';
-- ----------------------------
-- Table structure for process_starter
-- ----------------------------
+33 -1
View File
@@ -194,12 +194,44 @@ CREATE TABLE `process_node_record_assign_user` (
`node_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' 节点名称',
`task_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '任务类型',
`local_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '表单本地数据',
`node_record_id` bigint NOT NULL COMMENT '本轮节点执行记录id',
`assignment_origin` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'ORIGINAL' COMMENT '分配来源 ORIGINAL/ADD_SIGN',
`initial_user_id` bigint NOT NULL COMMENT '本份待办最初分配用户id',
`add_sign_record_id` bigint DEFAULT NULL COMMENT '动态加签批次记录id',
`tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '所属租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `user_idx_id` (`id`) USING BTREE
UNIQUE KEY `uk_node_record_user` (`tenant_id`,`node_record_id`,`user_id`) USING BTREE,
KEY `user_idx_id` (`id`) USING BTREE,
KEY `idx_add_sign_record_id` (`add_sign_record_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=597 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='流程节点记录-执行人';
-- ----------------------------
-- Table structure for process_task_add_sign_record
-- ----------------------------
DROP TABLE IF EXISTS `process_task_add_sign_record`;
CREATE TABLE `process_task_add_sign_record` (
`id` bigint NOT NULL COMMENT '主键id',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志',
`create_time` datetime COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
`flow_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程id',
`process_instance_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程实例id',
`node_record_id` bigint NOT NULL COMMENT '本轮节点执行记录id',
`node_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '节点id',
`source_task_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发起加签的任务id',
`added_by_user_id` bigint NOT NULL COMMENT '加签发起人id',
`reason` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '加签原因',
`target_user_ids` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本批次目标用户快照',
`participant_user_ids_before` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作前参与人快照',
`participant_user_ids_after` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作后参与人快照',
`tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '所属租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_add_sign_node_record` (`tenant_id`,`node_record_id`) USING BTREE,
KEY `idx_add_sign_process_instance` (`tenant_id`,`process_instance_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='流程动态加签批次记录';
-- ----------------------------
-- Table structure for process_starter
-- ----------------------------
+30
View File
@@ -0,0 +1,30 @@
-- 动态会签加签:存量数据库一次性升级脚本
ALTER TABLE `process_node_record_assign_user`
ADD COLUMN `node_record_id` bigint DEFAULT NULL COMMENT '本轮节点执行记录id' AFTER `local_data`,
ADD COLUMN `assignment_origin` varchar(20) NOT NULL DEFAULT 'ORIGINAL' COMMENT '分配来源 ORIGINAL/ADD_SIGN' AFTER `node_record_id`,
ADD COLUMN `initial_user_id` bigint DEFAULT NULL COMMENT '本份待办最初分配用户id' AFTER `assignment_origin`,
ADD COLUMN `add_sign_record_id` bigint DEFAULT NULL COMMENT '动态加签批次记录id' AFTER `initial_user_id`,
ADD UNIQUE KEY `uk_node_record_user` (`tenant_id`, `node_record_id`, `user_id`),
ADD KEY `idx_add_sign_record_id` (`add_sign_record_id`);
CREATE TABLE `process_task_add_sign_record` (
`id` bigint NOT NULL COMMENT '主键id',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`flow_id` varchar(255) NOT NULL COMMENT '流程id',
`process_instance_id` varchar(50) NOT NULL COMMENT '流程实例id',
`node_record_id` bigint NOT NULL COMMENT '本轮节点执行记录id',
`node_id` varchar(50) NOT NULL COMMENT '节点id',
`source_task_id` varchar(255) NOT NULL COMMENT '发起加签的任务id',
`added_by_user_id` bigint NOT NULL COMMENT '加签发起人id',
`reason` varchar(100) NOT NULL COMMENT '加签原因',
`target_user_ids` longtext NOT NULL COMMENT '本批次目标用户快照',
`participant_user_ids_before` longtext NOT NULL COMMENT '操作前参与人快照',
`participant_user_ids_after` longtext DEFAULT NULL COMMENT '操作后参与人快照',
`tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '所属租户id',
PRIMARY KEY (`id`),
KEY `idx_add_sign_node_record` (`tenant_id`, `node_record_id`),
KEY `idx_add_sign_process_instance` (`tenant_id`, `process_instance_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='流程动态加签批次记录';