-- 合同管理 - 导入按钮权限(父菜单:合同管理 id=2398) -- 动态 id(MAX(id)+1),避免与既有菜单撞车;可重复执行(幂等)。 SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'crm:contract:import'); SET @import_menu_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 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, '合同导入', 'crm:contract:import', 3, 8, 2398, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @perm_exists = 0; SET @menu_id := (SELECT id FROM system_menu WHERE permission = 'crm:contract: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;