-- ============================================================================ -- 新疆-新高力 项目:单据审核状态机改造 + 电力作业计划生成工单 待执行数据库变更 -- 目标库:mom-xgdl -- 说明:本脚本幂等,可重复执行;已存在的字段/菜单会自动跳过。 -- 开发库(192.168.197.128)已全部执行过,本脚本用于向其它环境(如测试/生产)同步。 -- 对应代码提交: -- refactor(crm/erp/hrm/mes): 单据审核改为审批配置状态机 -- fix(mes): 电力作业计划生成工单补充编码规则取号 -- ============================================================================ SET NAMES utf8mb4; -- ============================================================================ -- 第一部分:20 张单据表新增审核人四字段 -- reviewer_id / reviewer_name / review_time / review_remark -- ============================================================================ DROP TABLE IF EXISTS _tmp_xgdl_review_cols; CREATE TABLE _tmp_xgdl_review_cols ( tbl VARCHAR(64) NOT NULL, col VARCHAR(64) NOT NULL, coldef VARCHAR(255) NOT NULL ); INSERT INTO _tmp_xgdl_review_cols (tbl, col, coldef) VALUES -- CRM ('crm_cancellation', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('crm_cancellation', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('crm_cancellation', 'review_time', 'datetime COMMENT ''审核时间'''), ('crm_cancellation', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('crm_contract', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('crm_contract', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('crm_contract', 'review_time', 'datetime COMMENT ''审核时间'''), ('crm_contract', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('crm_invoice', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('crm_invoice', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('crm_invoice', 'review_time', 'datetime COMMENT ''审核时间'''), ('crm_invoice', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('crm_refund', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('crm_refund', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('crm_refund', 'review_time', 'datetime COMMENT ''审核时间'''), ('crm_refund', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), -- ERP ('erp_finance_payment', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('erp_finance_payment', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('erp_finance_payment', 'review_time', 'datetime COMMENT ''审核时间'''), ('erp_finance_payment', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('erp_purchase_request', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('erp_purchase_request', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('erp_purchase_request', 'review_time', 'datetime COMMENT ''审核时间'''), ('erp_purchase_request', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), -- HRM ('hrm_leave_application', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('hrm_leave_application', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('hrm_leave_application', 'review_time', 'datetime COMMENT ''审核时间'''), ('hrm_leave_application', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('hrm_regularize_application', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('hrm_regularize_application', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('hrm_regularize_application', 'review_time', 'datetime COMMENT ''审核时间'''), ('hrm_regularize_application', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('hrm_resignation_application', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('hrm_resignation_application', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('hrm_resignation_application', 'review_time', 'datetime COMMENT ''审核时间'''), ('hrm_resignation_application', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('hrm_transfer_application', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('hrm_transfer_application', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('hrm_transfer_application', 'review_time', 'datetime COMMENT ''审核时间'''), ('hrm_transfer_application', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('hrm_attendance_exception', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('hrm_attendance_exception', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('hrm_attendance_exception', 'review_time', 'datetime COMMENT ''审核时间'''), ('hrm_attendance_exception', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('hrm_performance_appraise', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('hrm_performance_appraise', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('hrm_performance_appraise', 'review_time', 'datetime COMMENT ''审核时间'''), ('hrm_performance_appraise', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), -- MES ('mes_pd_project', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_pd_project', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_pd_project', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_pd_project', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('product_tech_confirm', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('product_tech_confirm', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('product_tech_confirm', 'review_time', 'datetime COMMENT ''审核时间'''), ('product_tech_confirm', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('mes_wm_equipment_receipt', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_wm_equipment_receipt', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_wm_equipment_receipt', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_wm_equipment_receipt', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('mes_wm_item_receipt', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_wm_item_receipt', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_wm_item_receipt', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_wm_item_receipt', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('mes_wm_misc_issue', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_wm_misc_issue', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_wm_misc_issue', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_wm_misc_issue', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('mes_wm_misc_receipt', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_wm_misc_receipt', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_wm_misc_receipt', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_wm_misc_receipt', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('mes_wm_return_vendor', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_wm_return_vendor', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_wm_return_vendor', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_wm_return_vendor', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''), ('mes_wm_stock_taking_task', 'reviewer_id', 'bigint COMMENT ''审核人用户编号(提交审批时指定)'''), ('mes_wm_stock_taking_task', 'reviewer_name', 'varchar(64) COMMENT ''审核人姓名(冗余)'''), ('mes_wm_stock_taking_task', 'review_time', 'datetime COMMENT ''审核时间'''), ('mes_wm_stock_taking_task', 'review_remark', 'varchar(500) COMMENT ''审核意见(不通过时即不通过原因)'''); DROP PROCEDURE IF EXISTS xgdl_add_review_cols; DELIMITER $$ CREATE PROCEDURE xgdl_add_review_cols() BEGIN DECLARE v_done INT DEFAULT 0; DECLARE v_tbl VARCHAR(64); DECLARE v_col VARCHAR(64); DECLARE v_def VARCHAR(255); DECLARE cur CURSOR FOR SELECT tbl, col, coldef FROM _tmp_xgdl_review_cols; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = 1; OPEN cur; read_loop: LOOP FETCH cur INTO v_tbl, v_col, v_def; IF v_done = 1 THEN LEAVE read_loop; END IF; IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = v_tbl) AND NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = v_tbl AND column_name = v_col) THEN SET @ddl = CONCAT('ALTER TABLE `', v_tbl, '` ADD COLUMN `', v_col, '` ', v_def); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END LOOP; CLOSE cur; END$$ DELIMITER ; CALL xgdl_add_review_cols(); DROP PROCEDURE IF EXISTS xgdl_add_review_cols; DROP TABLE IF EXISTS _tmp_xgdl_review_cols; -- ============================================================================ -- 第二部分:审核按钮菜单(system_menu,type=3 按钮) -- 挂载位置:与同资源「修改」按钮同父级;已存在则跳过 -- ============================================================================ -- 逐条插入:名称、权限、锚点权限(同资源的 :update 按钮) INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '销户申请审核' AS name, 'crm:cancellation:audit' AS perm, 'crm:cancellation:update' AS anchor) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'crm:cancellation:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'crm:cancellation:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '合同审核' AS name, 'crm:contract:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'crm:contract:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'crm:contract:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '发票审核' AS name, 'crm:invoice:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'crm:invoice:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'crm:invoice:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '退费单审核' AS name, 'crm:refund:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'crm:refund:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'crm:refund:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '付款单审核' AS name, 'erp:finance-payment:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'erp:finance-payment:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'erp:finance-payment:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '采购申请审核' AS name, 'erp:purchase-request:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'erp:purchase-request:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'erp:purchase-request:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '请假申请审核' AS name, 'hrm:leave:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'hrm:leave:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'hrm:leave:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '转正申请审核' AS name, 'hrm:regularize:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'hrm:regularize:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'hrm:regularize:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '离职申请审核' AS name, 'hrm:resignation:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'hrm:resignation:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'hrm:resignation:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '调动申请审核' AS name, 'hrm:transfer:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'hrm:transfer:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'hrm:transfer:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '考勤异常审核' AS name, 'hrm:attendance-exception:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'hrm:attendance-exception:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'hrm:attendance-exception:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '项目审核' AS name, 'mes:pd-project:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:pd-project:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:pd-project:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '技术确认函审核' AS name, 'mes:pd-tech-confirm:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:pd-tech-confirm:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:pd-tech-confirm:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '采购入库单审核' AS name, 'mes:wm-item-receipt:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:wm-item-receipt:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:wm-item-receipt:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '杂项出库单审核' AS name, 'mes:wm-misc-issue:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:wm-misc-issue:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:wm-misc-issue:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '采购退货单审核' AS name, 'mes:wm-return-vendor:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:wm-return-vendor:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:wm-return-vendor:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '盘点任务审核' AS name, 'mes:wm-stock-taking-task:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:wm-stock-taking-task:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:wm-stock-taking-task:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '设备入库单审核' AS name, 'mes:wm:equipment-receipt:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:wm:equipment-receipt:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:wm:equipment-receipt:audit') m); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) SELECT t.name, t.perm, 3, 99, a.parent_id, '', '', NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0' FROM (SELECT '杂项入库单审核' AS name, 'mes:wm:misc-receipt:audit' AS perm) t JOIN (SELECT MIN(x.parent_id) AS parent_id FROM system_menu x WHERE x.deleted = 0 AND x.permission = 'mes:wm:misc-receipt:update') a ON 1 = 1 WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_menu WHERE deleted = 0 AND permission = 'mes:wm:misc-receipt:audit') m); -- ============================================================================ -- 第三部分:电力作业计划生成工单 —— 工单编码取号规则(无变更,仅说明) -- fix(mes) 使用 PRO_WORK_ORDER_CODE 编码规则自动生成工单编码。 -- 该规则(WO_ + yyyyMMdd + 4 位循环流水号,规则组成 3 段)在 -- mes_md_auto_code_rule / mes_md_auto_code_part 中已存在,无需执行 SQL。 -- 全新环境请执行 sql/mysql/mes_auto_code_rule_init.sql 初始化全部编码规则 -- (注意:该脚本会 TRUNC 式重建规则表,仅适用于首次初始化,勿在已有数据的环境执行)。 -- ============================================================================ -- 完成。可执行以下语句校验: -- SELECT table_name, column_name FROM information_schema.columns -- WHERE table_schema = DATABASE() AND column_name = 'reviewer_id'; -- SELECT permission FROM system_menu WHERE deleted = 0 AND permission LIKE '%:audit';