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 无残留引用。