58 lines
3.7 KiB
SQL
58 lines
3.7 KiB
SQL
-- 派车日历:运输管理 -> 库存管理之后。MySQL 5.7 / Web 菜单。
|
|
-- 目录+页面符合侧栏分组机制。沿用运输计划查看角色,不新增业务写权限。
|
|
-- 可重复执行;不恢复管理员已软删除的菜单或角色授权。
|
|
SET NAMES utf8mb4;
|
|
START TRANSACTION;
|
|
|
|
INSERT INTO sys_menu (
|
|
id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status,
|
|
tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
|
|
)
|
|
SELECT '54d662d4-e392-46ca-af4d-008de4c69379','派车日历',parent.id,'M','calendar-module',NULL,NULL,
|
|
1,'1','1',parent.tenant_no,COALESCE(stock.order_num,6)+1,'派车日历目录','system','',NOW(),NOW(),0
|
|
FROM sys_menu parent
|
|
JOIN sys_menu root ON root.id=parent.parent_id AND root.tenant_no=parent.tenant_no
|
|
JOIN sys_menu stock ON stock.parent_id=parent.id AND stock.tenant_no=parent.tenant_no
|
|
WHERE parent.id='PL_MENU_ROOT' AND parent.path='/pl' AND parent.del_flag=0 AND parent.tenant_no='shanxia2.0'
|
|
AND root.parent_id='0' AND root.path='/web' AND root.del_flag=0
|
|
AND stock.id='PL_GROUP_STOCK' AND stock.del_flag=0
|
|
AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id='54d662d4-e392-46ca-af4d-008de4c69379'
|
|
OR (existing.tenant_no=parent.tenant_no AND existing.parent_id=parent.id AND existing.path='calendar-module'));
|
|
|
|
INSERT INTO sys_menu (
|
|
id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status,
|
|
tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
|
|
)
|
|
SELECT 'f9ec4b5b-44f8-4520-a1da-21ac070b2ed0','派车日历',folder.id,'C','dispatch-calendar',
|
|
'pl/dispatch-calendar/index','pl:dispatch-calendar:list',1,'1','1',folder.tenant_no,1,
|
|
'按计划日期查看车辆运输任务','system','',NOW(),NOW(),0
|
|
FROM sys_menu folder
|
|
JOIN sys_menu parent ON parent.id=folder.parent_id AND parent.tenant_no=folder.tenant_no AND parent.del_flag=0
|
|
JOIN sys_menu root ON root.id=parent.parent_id AND root.tenant_no=folder.tenant_no AND root.del_flag=0
|
|
WHERE folder.id='54d662d4-e392-46ca-af4d-008de4c69379' AND folder.del_flag=0 AND folder.tenant_no='shanxia2.0'
|
|
AND parent.id='PL_MENU_ROOT' AND root.path='/web' AND root.parent_id='0'
|
|
AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id='f9ec4b5b-44f8-4520-a1da-21ac070b2ed0'
|
|
OR (existing.tenant_no=folder.tenant_no AND existing.perms='pl:dispatch-calendar:list'));
|
|
|
|
INSERT INTO sys_role_menu (
|
|
id,role_id,menu_id,tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
|
|
)
|
|
SELECT UUID(),r.id,target.id,r.tenant_no,0,'沿用运输计划查看权限:派车日历','system','',NOW(),NOW(),0
|
|
FROM sys_role r
|
|
JOIN sys_menu leaf ON leaf.perms='pl:dispatch-calendar:list' AND leaf.tenant_no=r.tenant_no AND leaf.del_flag=0
|
|
JOIN sys_menu folder ON folder.id=leaf.parent_id AND folder.tenant_no=r.tenant_no AND folder.del_flag=0
|
|
JOIN sys_menu parent ON parent.id=folder.parent_id AND parent.tenant_no=r.tenant_no AND parent.del_flag=0
|
|
JOIN sys_menu root ON root.id=parent.parent_id AND root.tenant_no=r.tenant_no AND root.del_flag=0
|
|
JOIN sys_menu target ON target.id IN (leaf.id,folder.id,parent.id,root.id) AND target.tenant_no=r.tenant_no
|
|
WHERE r.tenant_no='shanxia2.0' AND r.del_flag=0
|
|
AND parent.id='PL_MENU_ROOT' AND root.parent_id='0' AND root.path='/web'
|
|
AND EXISTS (
|
|
SELECT 1 FROM sys_role_menu access_row JOIN sys_menu plan_menu ON plan_menu.id=access_row.menu_id
|
|
WHERE access_row.role_id=r.id AND access_row.tenant_no=r.tenant_no AND plan_menu.tenant_no=r.tenant_no
|
|
AND access_row.del_flag=0 AND plan_menu.del_flag=0 AND plan_menu.perms='pl:plan:list'
|
|
)
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM sys_role_menu existing WHERE existing.role_id=r.id AND existing.menu_id=target.id AND existing.tenant_no=r.tenant_no
|
|
);
|
|
COMMIT;
|