| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- -- =====================================================================
- -- 各业务菜单统一复用运维工单处置页面 dispose.vue
- --
- -- 背景:燃气 / 排水 / 案件三个业务菜单原本各有一套重复实现的工单页面,
- -- 现统一指向 subSystem/pipeNetwork/ops/workOrder/dispose.vue。
- --
- -- 业务口径:按菜单收窄为各自业务设备产生的工单,过滤链路统一为
- -- work_order.device_id -> equipment_base.equipment_id
- -- equipment_base.equipment_type_id -> equipment_type.id
- -- equipment_type.parent_type_id = 各业务的父类别ID
- --
- -- 父类别取值:
- -- 燃气 parent_type_id = '3' 菜单 燃气工单-工单管理 → dispose.vue
- -- 排水 parent_type_id = '2' 菜单 工单管理-排水工单 → dispose.vue
- -- 案件 parent_type_id = '4' 菜单 案件管理-工单处置管理 → dispose.vue
- -- 供水 parent_type_id = '1' 菜单 设备维修派单 → dispose.vue
- -- 供水 parent_type_id = '1' 菜单 设备维修记录 → index.vue(列表页)
- --
- -- 该过滤由前端固定传 deviceTypeParentId、后端 WorkOrderPageDTO /
- -- WorkOrderServiceImpl#applyDeviceTypeScope 实现;
- -- 运维工单菜单不匹配任何业务口径,不传该参数,仍查全量。
- --
- -- 本脚本幂等,重复执行无副作用。执行前请备份数据!
- -- =====================================================================
- -- 1. 燃气:工单管理
- UPDATE sys_menu
- SET component = 'subSystem/pipeNetwork/ops/workOrder/dispose'
- WHERE component = 'subSystem/basic/BusinessWorkOrder';
- -- 2. 排水:工单管理 - 排水工单
- UPDATE sys_menu
- SET component = 'subSystem/pipeNetwork/ops/workOrder/dispose'
- WHERE component = 'subSystem/drainage/DrainageWorkOrder';
- -- 3. 案件:案件管理 - 工单处置管理
- -- 已核实 sys_menu 中实际值为 caseHandling 路径,不存在 subSystem/manholeCover/orderDisposal
- UPDATE sys_menu
- SET component = 'subSystem/pipeNetwork/ops/workOrder/dispose'
- WHERE component = 'subSystem/manholeCover/caseHandling/orderDisposal';
- -- 4. 监测设备 - 设备维修派单:复用工单处置页 dispose.vue(parent_type_id = 1)
- -- 用 LIKE 匹配,兼容 component 实际值带 .vue 后缀或前缀写法不同的情况
- UPDATE sys_menu
- SET component = 'subSystem/pipeNetwork/ops/workOrder/dispose'
- WHERE component LIKE '%waterSupply/device/maintain%'
- AND component NOT LIKE '%ops/workOrder%';
- -- 5. 监测设备 - 设备维修记录:复用工单列表页 index.vue(parent_type_id = 1)
- -- 注意这里是 index.vue(列表页),不是 dispose.vue
- UPDATE sys_menu
- SET component = 'subSystem/pipeNetwork/ops/workOrder/index'
- WHERE component LIKE '%waterSupply/device/record%'
- AND component NOT LIKE '%ops/workOrder%';
- -- 5.1 【诊断】若执行后 maintain 菜单仍未生效,先查它当前的真实 component / path:
- -- SELECT menu_id, menu_name, parent_id, path, component
- -- FROM sys_menu
- -- WHERE component LIKE '%maintain%' OR path LIKE '%maintain%'
- -- ORDER BY menu_id;
- -- 把查到的 path 值发出来,用于核对前端 MENU_DEVICE_TYPE_SCOPE 的 pathKey 是否能命中。
- -- =====================================================================
- -- 6. 校验:确认各菜单已更新
- -- SELECT menu_id, menu_name, path, component FROM sys_menu
- -- WHERE component IN ('subSystem/pipeNetwork/ops/workOrder/dispose',
- -- 'subSystem/pipeNetwork/ops/workOrder/index');
- --
- -- 若上面查不到某业务菜单,说明其 component 与本脚本写法不一致,
- -- 请先执行下句确认实际值,再按实际路径调整上面的 UPDATE:
- -- SELECT menu_id, menu_name, path, component FROM sys_menu
- -- WHERE component LIKE '%DrainageWorkOrder%'
- -- OR component LIKE '%orderDisposal%'
- -- OR component LIKE '%BusinessWorkOrder%'
- -- OR component LIKE '%waterSupply/device/%';
- --
- -- 7. 说明
- -- - 不修改 path 与 perms:原菜单的访问权限标识保持不变,
- -- 已分配的 sys_role_menu 授权无需调整。
- -- - 路由判定:组件依据「路由 path 关键字 → 设备父类别」映射(前端常量
- -- MENU_DEVICE_TYPE_SCOPE)判定业务来源,两个组件各有一份:
- --
- -- dispose.vue(工单处置页):
- -- BusinessWorkOrder -> 3 燃气
- -- DrainageWorkOrder -> 2 排水
- -- orderDisposal -> 4 案件
- -- maintain -> 1 设备维修派单
- --
- -- index.vue(工单列表页):
- -- record -> 1 设备维修记录
- --
- -- 若菜单 path 非上述值,需同步调整对应常量,否则会退化为查全量(不会报错但范围不对)。
- -- 注意:运维自身菜单(pworkOrder/dispose、pworkOrder/index)不含上述关键字,仍查全量。
- -- - 已无菜单引用、确认后可删除的旧页面:
- -- subSystem/basic/BusinessWorkOrder.vue(已删除)
- -- subSystem/drainage/DrainageWorkOrder.vue(已删除)
- -- subSystem/manholeCover/caseHandling/orderDisposal.vue(已删除)
- -- subSystem/waterSupply/device/maintain.vue(本次替换,暂保留)
- -- subSystem/waterSupply/device/record.vue(本次替换,暂保留)
- -- =====================================================================
|