-- 工艺路线导入权限:普通导入和完整路线批量导入共用 mes:pro-route:import。 -- 优先挂到“工艺设计 / 工艺路线”菜单;若目标库只有生产模块旧菜单,则挂到旧菜单。 -- 可重复执行;仅自动授权超级管理员角色,其他角色请在角色管理中按需勾选。 SET @route_menu_id := COALESCE( (SELECT id FROM system_menu WHERE component LIKE '%process-design/route%' AND type = 2 AND deleted = 0 ORDER BY id LIMIT 1), (SELECT id FROM system_menu WHERE component LIKE '%mes/pro/route/index%' AND type = 2 AND deleted = 0 ORDER BY id LIMIT 1) ); SET @import_menu_id := ( SELECT id FROM system_menu WHERE permission = 'mes:pro-route:import' AND deleted = 0 ORDER BY id LIMIT 1 ); SET @new_menu_id := (SELECT COALESCE(MAX(id), 0) + 1 FROM system_menu); INSERT INTO system_menu (id, 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 @new_menu_id, '工艺路线导入', 'mes:pro-route:import', 3, 6, @route_menu_id, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @route_menu_id IS NOT NULL AND @import_menu_id IS NULL; SET @import_menu_id := ( SELECT id FROM system_menu WHERE permission = 'mes:pro-route:import' AND deleted = 0 ORDER BY id LIMIT 1 ); INSERT INTO system_role_menu (role_id, menu_id, creator, create_time, updater, update_time, deleted, tenant_id) SELECT r.id, @import_menu_id, '1', NOW(), '1', NOW(), 0, r.tenant_id FROM system_role r WHERE r.id = 1 AND r.deleted = 0 AND @import_menu_id IS NOT NULL AND NOT EXISTS ( SELECT 1 FROM system_role_menu WHERE role_id = r.id AND menu_id = @import_menu_id AND tenant_id = r.tenant_id AND deleted = 0 );