2026-09-21.md 2.9 KB

2026-09-21:统一设备报警阈值配置

目标

  • 新增统一报警阈值配置,按设备编码所属设备类型读取 equipment_warning_type 指标元数据。
  • 支持 data_type 0(最小/最大)、1(仅最小)、2(仅最大),支持设备类型批量保存。
  • 供水、排水、燃气、窨井旧阈值入口迁移到生命线统一页面,并按根设备类型隔离。

实现

  • 后端新增 base/warning 下设备指标元数据、阈值视图、保存请求、Mapper 和服务;zksy-admin 新增 /warning/threshold/types|devices|save。
  • 保存按设备编码 + warning_code 幂等更新已有 warning_threshold,并校验设备范围、指标归属和上下限关系。
  • 前端新增 src/views/subSystem/lifeCompany/equipmentWarningType/index.vue 与 API;旧供水/排水/燃气阈值页面改为统一页面兼容入口。
  • 新增 migration_equipment_warning_threshold_config.sql,创建 equipment_warning_type 表、新菜单,并迁移旧菜单路由。

验证

  • 后端 mvn -o -pl zksy-system,zksy-admin -am -DskipTests compile 通过。
  • 前端 npm run build:prod 通过;仅有项目既有 Sass 弃用与大 chunk 警告。
  • 两仓 git diff --check 通过。

风险

  • 菜单脚本需要在 KingbaseES 执行后生效;生产库需先维护各设备类型的 equipment_warning_type 指标数据。
  • 当前统一页面默认根类型为供水,旧入口 wrapper 分别传入 1/2/3;动态菜单通过 query.rootTypeId 传入根类型。

菜单脚本修订

  • 旧阈值入口改为按固定 menu_id 精准更新:2119(供水)、2194(排水)、2017(窨井)、2192(燃气)。
  • 新增固定两级菜单:2241“阈值管理”(parent_id=2006)和 2242“报警阈值”,子菜单指向统一页面。
  • 脚本不再使用菜单名称或模糊路径作为更新条件。

旧功能清理

  • 删除供水、排水、燃气及窨井旧阈值配置 Vue 页面和供水阈值专属测试。
  • 删除旧 /warningThreshold/* 管理 Controller、供水专属阈值 Controller/Service/DTO 及测试。
  • 删除窨井旧阈值设置页、saveWarningThreshold 专属 API/Controller 入口及其入参 DTO;保留报警列表、设备详情读取能力。
  • 删除前端旧阈值 API、payload 工具函数和测试;保留水务 UI 模型中仍被 GIS/设备/报警使用的通用函数。
  • 精简通用 WarningThresholdService 为底层 CRUD,统一管理查询和批量配置由 EquipmentThresholdService 承担;实体与 Mapper 保留供运行时读取和新服务复用。

清理后验证

  • npm run build:prod 通过(仅既有 Sass 弃用及大 chunk 警告)。
  • node --test tests/*.test.mjs:125 项全部通过。
  • mvn -o -pl zksy-system,zksy-admin -am -DskipTests compile 通过。
  • 两仓 git diff --check 通过;旧页面、旧管理路径和已删除 DTO 无残留引用。