migration_water_supply_device_menu_order.sql 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. -- 供水设备管理菜单顺序迁移(KingbaseES)
  2. -- 目的:将“设备异常管理”排在“设备维修派单”之前。
  3. BEGIN;
  4. DO $$
  5. DECLARE
  6. root_id bigint;
  7. device_id bigint;
  8. BEGIN
  9. SELECT menu_id INTO root_id
  10. FROM app_user.sys_menu
  11. WHERE parent_id = 0
  12. AND (path = 'subSystem/waterSupply' OR menu_name = '供水管网安全运行监测系统')
  13. ORDER BY menu_id
  14. LIMIT 1;
  15. IF root_id IS NULL THEN
  16. RAISE EXCEPTION '供水根菜单不存在,未执行设备菜单顺序调整';
  17. END IF;
  18. SELECT menu_id INTO device_id
  19. FROM app_user.sys_menu
  20. WHERE parent_id = root_id
  21. AND (menu_name = '监测设备管理' OR path IN ('subSystem/waterSupply/device', 'device'))
  22. ORDER BY menu_id
  23. LIMIT 1;
  24. IF device_id IS NULL THEN
  25. RAISE EXCEPTION '供水设备管理菜单不存在,未执行设备菜单顺序调整';
  26. END IF;
  27. UPDATE app_user.sys_menu
  28. SET order_num = 2
  29. WHERE parent_id = device_id
  30. AND path = 'abnormal';
  31. UPDATE app_user.sys_menu
  32. SET order_num = 3
  33. WHERE parent_id = device_id
  34. AND path = 'maintain';
  35. END $$;
  36. COMMIT;