From a08832337f8de6a53edebbab1fb0b5a3bd1785aa Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 27 八月 2026 17:23:04 +0800
Subject: [PATCH] feat(srm): 供应商准入审核接入协同办公(BPM)

---
 docs/sql/mes_process_param_bind_full.sql |  145 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 145 insertions(+), 0 deletions(-)

diff --git a/docs/sql/mes_process_param_bind_full.sql b/docs/sql/mes_process_param_bind_full.sql
new file mode 100644
index 0000000..576234c
--- /dev/null
+++ b/docs/sql/mes_process_param_bind_full.sql
@@ -0,0 +1,145 @@
+-- ============================================================================
+-- 闇�姹傦細鍩虹鍙傛暟(宸ヨ壓鍙傛暟)鍙笌宸ュ簭缁戝畾锛岀粦瀹氬悗鎶ュ伐闇�濉啓鍙傛暟瀛楁
+-- 涓�閿暣鍚堣剼鏈細鍙洿鎺ユ墜鍔ㄦ墽琛岋紙鍚箓绛変繚鎶わ紝閲嶅鎵ц涓嶆姤閿欙級
+--
+-- 绗竴閮ㄥ垎锛氬姛鑳借縼绉伙紙宸ュ簭-鍙傛暟缁戝畾锛�
+-- 绗簩閮ㄥ垎锛氭椿搴撴紓绉讳慨澶嶏紙浠g爜宸插紩鐢ㄤ絾搴撶己澶辩殑鍒�/琛紝闇�琛ラ綈鎵嶈兘寤轰换鍔�/鎶ュ伐锛�
+-- ============================================================================
+
+-- ============================================================================
+-- 绗竴閮ㄥ垎锛氬姛鑳借縼绉�
+-- ============================================================================
+
+-- ---------- 1.1 宸ュ簭/浠诲姟/宸ュ崟宸ュ簭 澧炲姞 param_template_id锛堝弬鏁版ā鏉垮叧鑱旓紝鍔熻兘閾捐矾鍓嶇疆锛� ----------
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_task' AND column_name = 'param_template_id');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_task ADD COLUMN param_template_id bigint DEFAULT NULL COMMENT ''宸ヨ壓鍙傛暟妯℃澘缂栧彿'' AFTER process_id',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_route_process' AND column_name = 'param_template_id');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_route_process ADD COLUMN param_template_id bigint DEFAULT NULL COMMENT ''宸ヨ壓鍙傛暟妯℃澘缂栧彿'' AFTER process_id',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_work_order_process' AND column_name = 'param_template_id');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_work_order_process ADD COLUMN param_template_id bigint DEFAULT NULL COMMENT ''宸ヨ壓鍙傛暟妯℃澘缂栧彿'' AFTER process_id',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ---------- 1.2 鏂板缓 宸ュ簭-宸ヨ壓鍙傛暟缁戝畾琛� ----------
+CREATE TABLE IF NOT EXISTS `mes_pro_process_param` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `process_id` bigint NOT NULL COMMENT '宸ュ簭缂栧彿锛堝叧鑱� mes_pro_process锛�',
+  `process_param_id` bigint NOT NULL COMMENT '宸ヨ壓鍙傛暟缂栧彿锛堝叧鑱� mes_pd_process_param锛�',
+  `required` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁蹇呭~',
+  `sort` int NULL DEFAULT NULL COMMENT '鎺掑簭',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  INDEX `idx_process_id`(`process_id` ASC) USING BTREE,
+  INDEX `idx_process_param_id`(`process_param_id` ASC) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'MES 宸ュ簭-宸ヨ壓鍙傛暟缁戝畾' ROW_FORMAT = DYNAMIC;
+
+-- ---------- 1.3 鍙傛暟璁板綍涓昏〃妯℃澘瀛楁鍏佽涓虹┖锛堝伐搴忕粦瀹氬弬鏁扮敓鎴愭椂鏃犳ā鏉匡級 ----------
+ALTER TABLE mes_pro_work_order_param_record MODIFY COLUMN template_id bigint NULL DEFAULT NULL COMMENT '鍙傛暟妯℃澘缂栧彿锛堝伐搴忕粦瀹氬弬鏁扮敓鎴愭椂涓虹┖锛�';
+ALTER TABLE mes_pro_work_order_param_record MODIFY COLUMN template_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '妯℃澘鍚嶇О锛堝揩鐓э級';
+
+-- ---------- 1.4 鍙傛暟璁板綍鏄庣粏澧炲姞 required 蹇収锛堟姤宸ュ繀濉牎楠岀敤锛� ----------
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_work_order_param_record_detail' AND column_name = 'required');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_work_order_param_record_detail ADD COLUMN required bit(1) NOT NULL DEFAULT b''0'' COMMENT ''鏄惁蹇呭~锛堝揩鐓э級'' AFTER param_type',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ============================================================================
+-- 绗簩閮ㄥ垎锛氭椿搴撴紓绉讳慨澶嶏紙浠g爜宸插紩鐢ㄤ絾搴撶己澶憋紱鑻ヤ綘鐨勫簱宸叉湁杩欎簺鍒�/琛ㄥ彲蹇界暐锛�
+-- ============================================================================
+
+-- ---------- 2.1 mes_pro_work_order 缂哄け鍒楋紙鎶ュ伐瀹℃壒 BPM 鐩稿叧锛� ----------
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_work_order' AND column_name = 'is_feedback_approve');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_work_order ADD COLUMN is_feedback_approve tinyint(1) DEFAULT NULL COMMENT ''鏄惁寮�鍚姤宸ュ鎵� (1: 寮�鍚�, 0/NULL: 鍏抽棴)'' AFTER deleted',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_work_order' AND column_name = 'process_definition_key');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_work_order ADD COLUMN process_definition_key varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ''BPM 娴佺▼瀹氫箟 Key'' AFTER is_feedback_approve',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_work_order' AND column_name = 'feedback_role');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_work_order ADD COLUMN feedback_role varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ''鎶ュ伐瑙掕壊 (澶氫釜瑙掕壊浠ラ�楀彿鍒嗛殧)'' AFTER process_definition_key',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ---------- 2.2 mes_pro_feedback 缂哄け鍒楋紙鎶ュ伐 BPM 鐩稿叧锛� ----------
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_feedback' AND column_name = 'process_instance_id');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_feedback ADD COLUMN process_instance_id varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ''BPM 娴佺▼瀹炰緥缂栧彿'' AFTER remark',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+SET @exists = (SELECT COUNT(*) FROM information_schema.columns
+               WHERE table_schema = DATABASE() AND table_name = 'mes_pro_feedback' AND column_name = 'process_definition_key');
+SET @sql = IF(@exists = 0,
+              'ALTER TABLE mes_pro_feedback ADD COLUMN process_definition_key varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ''BPM 娴佺▼瀹氫箟 Key'' AFTER process_instance_id',
+              'SELECT 1');
+PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
+
+-- ---------- 2.3 缂哄け琛細浠诲姟鎸囧畾鎶ュ伐浜哄憳銆佷换鍔″仠宸ヨ褰曪紙姝ゅ墠杩佺Щ鏈簲鐢級 ----------
+CREATE TABLE IF NOT EXISTS `mes_pro_task_assignee` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint(20) NOT NULL COMMENT '鐢熶骇浠诲姟 ID',
+  `user_id` bigint(20) NOT NULL COMMENT '绯荤粺鐢ㄦ埛 ID (鎸囧畾鎶ュ伐浜哄憳)',
+  `creator` varchar(64) DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`),
+  KEY `idx_task_id` (`task_id`),
+  KEY `idx_user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='鐢熶骇浠诲姟鎸囧畾鎶ュ伐浜哄憳琛�';
+
+CREATE TABLE IF NOT EXISTS `mes_pro_task_pause_record` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '缂栧彿',
+  `task_id` bigint(20) NOT NULL COMMENT '浠诲姟缂栧彿',
+  `work_order_id` bigint(20) DEFAULT NULL COMMENT '宸ュ崟缂栧彿',
+  `workstation_id` bigint(20) DEFAULT NULL COMMENT '宸ヤ綔绔欑紪鍙�',
+  `reason` varchar(255) NOT NULL COMMENT '鍋滃伐鍘熷洜',
+  `pause_time` datetime NOT NULL COMMENT '鍋滃伐鏃堕棿',
+  `pause_user_id` bigint(20) NOT NULL COMMENT '鍋滃伐鎿嶄綔浜篒D',
+  `resume_time` datetime DEFAULT NULL COMMENT '澶嶅伐鏃堕棿',
+  `resume_user_id` bigint(20) DEFAULT NULL COMMENT '澶嶅伐鎿嶄綔浜篒D',
+  `remark` varchar(500) DEFAULT NULL COMMENT '澶囨敞',
+  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鍒涘缓鑰�',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '鏇存柊鑰�',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '鏄惁鍒犻櫎',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_task_id` (`task_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='鐢熶骇浠诲姟鍋滃伐璁板綍琛�';
+
+-- ============================================================================
+-- 鎵ц瀹屾垚銆傚彲鎵ц浠ヤ笅璇彞鏍稿锛�
+--   SHOW TABLES LIKE 'mes_pro_process_param';
+--   SHOW COLUMNS FROM mes_pro_work_order_param_record_detail LIKE 'required';
+-- ============================================================================

--
Gitblit v1.9.3