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