-- 合作商已拥有光储子菜单权限时,同时补齐父级目录权限。 -- sys_role_menu 的菜单树要求目录(M)本身也被授权,否则前端不会展示整组子菜单。 SET @device_monitoring_menu_id := ( SELECT menu_id FROM sys_menu WHERE parent_id = 0 AND menu_type = 'M' AND (path = '/deviceManagement' OR perms = '/deviceManagement') ORDER BY menu_id LIMIT 1 ); SET @energy_data_menu_id := ( SELECT menu_id FROM sys_menu WHERE parent_id = 0 AND menu_type = 'M' AND (path = '/energyReport' OR perms = '/energyReport') ORDER BY menu_id LIMIT 1 ); -- 光储监控设备管理:监控摄像头、光伏电站、储能电站、逆变器、能量链任一权限。 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT DISTINCT role_menu.role_id, @device_monitoring_menu_id FROM sys_role_menu role_menu INNER JOIN sys_menu child_menu ON child_menu.menu_id = role_menu.menu_id WHERE @device_monitoring_menu_id IS NOT NULL AND ( child_menu.path LIKE '/deviceManagement/%' OR child_menu.perms LIKE '/deviceManagement/%' ); -- 光储监控数据:视频监控、光伏报表、储能日充放电报表任一权限。 INSERT IGNORE INTO sys_role_menu (role_id, menu_id) SELECT DISTINCT role_menu.role_id, @energy_data_menu_id FROM sys_role_menu role_menu INNER JOIN sys_menu child_menu ON child_menu.menu_id = role_menu.menu_id WHERE @energy_data_menu_id IS NOT NULL AND ( child_menu.path LIKE '/energyReport/%' OR child_menu.perms LIKE '/energyReport/%' OR child_menu.path = '/videoMonitor' OR child_menu.perms = '/energyReport/videoMonitor' );