2026-10-25-mini-dispatch-calendar-menu.sql 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. -- 小程序运输管理 -> 派车日历。MySQL 5.7;仅新增查看入口和祖先授权。
  2. -- 沿用运输计划/派车日历查看角色,不恢复管理员软删除的菜单或授权。
  3. SET NAMES utf8mb4;
  4. START TRANSACTION;
  5. INSERT INTO sys_menu (
  6. id,menu_name,parent_id,menu_type,path,component,perms,is_frame,visible,status,
  7. tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
  8. )
  9. SELECT '9c3e5ab2-3ef2-4c71-a385-7335d08df4ba','派车日历',p.id,'C','mp-webview',NULL,
  10. 'mini:pl:dispatch-calendar:list',1,'1','1',p.tenant_no,7,'小程序 H5 按日期纵向派车日历','system','',NOW(),NOW(),0
  11. FROM sys_menu p
  12. JOIN sys_menu root ON root.id=p.parent_id AND root.tenant_no=p.tenant_no
  13. WHERE p.id='MINI_PL_ROOT' AND p.path='/mini/pl' AND p.del_flag=0 AND p.tenant_no='shanxia2.0'
  14. AND root.parent_id='0' AND root.path='/mini' AND root.del_flag=0
  15. AND NOT EXISTS (SELECT 1 FROM sys_menu existing WHERE existing.id='9c3e5ab2-3ef2-4c71-a385-7335d08df4ba'
  16. OR (existing.tenant_no=p.tenant_no AND existing.perms='mini:pl:dispatch-calendar:list'));
  17. INSERT INTO sys_role_menu (
  18. id,role_id,menu_id,tenant_no,order_num,remark,create_by,create_dept_id,create_time,update_time,del_flag
  19. )
  20. SELECT UUID(),r.id,target.id,r.tenant_no,0,'派车日历:沿用运输查看权限','system','',NOW(),NOW(),0
  21. FROM sys_role r
  22. JOIN sys_menu leaf ON leaf.perms='mini:pl:dispatch-calendar:list' AND leaf.tenant_no=r.tenant_no AND leaf.del_flag=0
  23. JOIN sys_menu p ON p.id=leaf.parent_id AND p.tenant_no=r.tenant_no AND p.del_flag=0
  24. JOIN sys_menu root ON root.id=p.parent_id AND root.tenant_no=r.tenant_no AND root.del_flag=0
  25. JOIN sys_menu target ON target.id IN (leaf.id,p.id,root.id) AND target.tenant_no=r.tenant_no
  26. WHERE r.tenant_no='shanxia2.0' AND r.del_flag=0
  27. AND p.id='MINI_PL_ROOT' AND p.path='/mini/pl' AND root.parent_id='0' AND root.path='/mini'
  28. AND EXISTS (
  29. SELECT 1 FROM sys_role_menu access_row JOIN sys_menu source ON source.id=access_row.menu_id
  30. WHERE access_row.role_id=r.id AND access_row.tenant_no=r.tenant_no AND source.tenant_no=r.tenant_no
  31. AND access_row.del_flag=0 AND source.del_flag=0
  32. AND source.perms IN ('pl:plan:list','pl:dispatch-calendar:list','mini:pl:plan:manage')
  33. )
  34. AND NOT EXISTS (SELECT 1 FROM sys_role_menu existing
  35. WHERE existing.role_id=r.id AND existing.menu_id=target.id AND existing.tenant_no=r.tenant_no);
  36. COMMIT;