94 lines
3.6 KiB
SQL
94 lines
3.6 KiB
SQL
-- 设备管理菜单,目标菜单表: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
|
||
);
|