-- 采购订单 - 导入按钮权限(父菜单:采购订单 id=2666) -- 修正说明:原脚本写死 id=602511,与“生产计划-新增(mes:pro-mps:create)”撞车导致 INSERT 被跳过。 -- 现改为动态取 system_menu 最大 id + 1,并用变量预判,可重复执行(幂等)。 SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'erp:purchase-order:import'); SET @import_menu_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 1; -- 1) 新增“采购订单导入”按钮权限(已存在则不插) 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 @import_menu_id, '采购订单导入', 'erp:purchase-order:import', 3, 8, 2666, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @perm_exists = 0; -- 2) 授予超级管理员角色(role_id=1)该按钮权限(已授权则不插) SET @menu_id := (SELECT id FROM system_menu WHERE permission = 'erp:purchase-order:import'); SET @grant_exists := (SELECT COUNT(*) FROM system_role_menu WHERE role_id = 1 AND menu_id = @menu_id); INSERT INTO system_role_menu (role_id, menu_id, creator, create_time, updater, update_time, deleted) SELECT 1, @menu_id, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @menu_id IS NOT NULL AND @grant_exists = 0;