Files
FT576WCS/sql/sys_menu_wcs_device_management_20260730.sql
1009473166@qq.com ca32a48223 first commit
2026-07-31 13:57:52 +08:00

94 lines
3.6 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 设备管理菜单,目标菜单表:sys_menu_wcs
-- 可重复执行,不会重复插入同名同路径菜单。
INSERT INTO sys_menu_wcs
(menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark)
SELECT
'设备管理', 0, 1, 'deviceManagement', NULL, NULL, 'DeviceManagement',
1, 0, 'M', '0', '0', '', 'monitor',
'admin', NOW(), '', NULL, 'WCS设备管理目录'
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu_wcs
WHERE parent_id = 0 AND path = 'deviceManagement'
);
SET @device_parent_id = (
SELECT menu_id FROM sys_menu_wcs
WHERE parent_id = 0 AND path = 'deviceManagement'
ORDER BY menu_id LIMIT 1
);
INSERT INTO sys_menu_wcs
(menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark)
SELECT
'设备监控', @device_parent_id, 1, 'monitoring', 'device/monitoring', NULL, 'DeviceMonitoring',
1, 0, 'C', '0', '0', 'device:monitor:view', 'dashboard',
'admin', NOW(), '', NULL, '输送机、堆垛机、RGV、机械手实时监控'
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu_wcs
WHERE parent_id = @device_parent_id AND path = 'monitoring'
);
INSERT INTO sys_menu_wcs
(menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark)
SELECT
'设备报警记录', @device_parent_id, 2, 'warring', 'device/warring/index', NULL, 'DeviceWarring',
1, 0, 'C', '0', '0', 'device:warring:list', 'bug',
'admin', NOW(), '', NULL, 'device_warring设备报警记录'
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu_wcs
WHERE parent_id = @device_parent_id AND path = 'warring'
);
SET @device_warring_id = (
SELECT menu_id FROM sys_menu_wcs
WHERE parent_id = @device_parent_id AND path = 'warring'
ORDER BY menu_id LIMIT 1
);
INSERT INTO sys_menu_wcs
(menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark)
SELECT
'报警记录导出', @device_warring_id, 1, '#', '', NULL, '',
1, 0, 'F', '0', '0', 'device:warring:export', '#',
'admin', NOW(), '', NULL, '设备报警记录导出按钮权限'
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu_wcs
WHERE parent_id = @device_warring_id AND perms = 'device:warring:export'
);
-- 将设备管理目录、页面和导出权限授予当前所有启用角色。
-- 后续新建角色仍可在角色管理页面中按需勾选。
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT role.role_id, menu.menu_id
FROM sys_role role
JOIN sys_menu_wcs menu
ON menu.menu_id IN (
@device_parent_id,
(SELECT monitor_menu.menu_id
FROM sys_menu_wcs monitor_menu
WHERE monitor_menu.parent_id = @device_parent_id
AND monitor_menu.path = 'monitoring'
ORDER BY monitor_menu.menu_id LIMIT 1),
@device_warring_id,
(SELECT export_menu.menu_id
FROM sys_menu_wcs export_menu
WHERE export_menu.parent_id = @device_warring_id
AND export_menu.perms = 'device:warring:export'
ORDER BY export_menu.menu_id LIMIT 1)
)
WHERE role.status = '0'
AND NOT EXISTS (
SELECT 1 FROM sys_role_menu role_menu
WHERE role_menu.role_id = role.role_id
AND role_menu.menu_id = menu.menu_id
);