Files
BMS/bms-back/sql/data/line_product_menu.sql
T
2026-11-06 13:39:26 +08:00

67 lines
4.2 KiB
SQL

-- 数据管理 - 路线产品管理
-- 权限:data:lineProduct:list|query|add|edit|remove|export
SET NAMES utf8mb4;
SET @parentId := (
SELECT menu_id FROM sys_menu
WHERE path = 'data' AND menu_type = 'M' AND parent_id = 0
ORDER BY menu_id ASC LIMIT 1
);
INSERT INTO sys_menu (menu_id, 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, remark)
SELECT 2530, N'路线产品管理', @parentId, 4, 'lineProduct', 'data/lineProduct/index', '', 'LineProduct', 1, 0, 'C', '0', '0', 'data:lineProduct:list', 'list', 'admin', sysdate(), N'路线产品维护,数据表 srv_line_product'
FROM DUAL WHERE @parentId IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2530 OR perms = 'data:lineProduct:list');
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2531, N'查询', 2530, 1, '', NULL, 1, 0, 'F', '0', '0', 'data:lineProduct:query', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2531 OR perms = 'data:lineProduct:query');
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2532, N'新增', 2530, 2, '', NULL, 1, 0, 'F', '0', '0', 'data:lineProduct:add', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2532 OR perms = 'data:lineProduct:add');
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2533, N'修改', 2530, 3, '', NULL, 1, 0, 'F', '0', '0', 'data:lineProduct:edit', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2533 OR perms = 'data:lineProduct:edit');
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2534, N'删除', 2530, 4, '', NULL, 1, 0, 'F', '0', '0', 'data:lineProduct:remove', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2534 OR perms = 'data:lineProduct:remove');
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2535, N'导出', 2530, 5, '', NULL, 1, 0, 'F', '0', '0', 'data:lineProduct:export', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2535 OR perms = 'data:lineProduct:export');
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, m.menu_id FROM (
SELECT 2530 AS menu_id UNION SELECT 2531 UNION SELECT 2532 UNION SELECT 2533 UNION SELECT 2534 UNION SELECT 2535
) m
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, dst.menu_id
FROM sys_role_menu rm
JOIN sys_menu src ON src.menu_id = rm.menu_id AND src.perms = 'data:serviceChannel:list'
JOIN sys_menu dst ON dst.perms IN ('data:lineProduct:list', 'data:lineProduct:query', 'data:lineProduct:export')
WHERE NOT EXISTS (
SELECT 1 FROM sys_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = dst.menu_id
);
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, dst.menu_id
FROM sys_role_menu rm
JOIN sys_menu src ON src.menu_id = rm.menu_id AND src.perms = 'data:serviceChannel:edit'
JOIN sys_menu dst ON dst.perms IN ('data:lineProduct:add', 'data:lineProduct:edit')
WHERE NOT EXISTS (
SELECT 1 FROM sys_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = dst.menu_id
);
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT DISTINCT rm.role_id, dst.menu_id
FROM sys_role_menu rm
JOIN sys_menu src ON src.menu_id = rm.menu_id AND src.perms = 'data:serviceChannel:remove'
JOIN sys_menu dst ON dst.perms = 'data:lineProduct:remove'
WHERE NOT EXISTS (
SELECT 1 FROM sys_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = dst.menu_id
);