2026-09-01.md 4.6 KB

2026-09-01:供水管网数据统计分析 T3

目标

完成 Gogs Issue #7「T3 管网数据统计分析」的增量交付:统计筛选、导出参数一致性、空数据兜底、KingbaseES 年代分组兼容和六个固定导出工作表契约。

结论

  • 后端提交:0a5cc990fe55a9ce3a343c97f874b2b8d7f081a3
  • 前端提交:8f9a740f95db2921a77e87230c6e3cf59c7af889
  • 统计仪表盘与 Excel 导出共用设施类型、状态筛选;取消全部设施类型时清空页面数据并禁用导出。
  • 后端空数据库返回五类设施零值概览,管网年代分组使用 FLOOR 保持 KingbaseES 兼容。
  • Excel 导出通过公共导出服务测试锁定六个固定工作表:综合概览、管网统计、水厂统计、泵站统计、水源地统计、用水户统计。

验证

  • 后端 mvn test 通过。
  • 前端 node --test tests/waterFacilityStatistics.test.mjs 4/4 通过。
  • 前端 npm run build:prod 通过,仅存在既有 Sass 弃用警告。
  • 前端全量 Node 测试为 27/29;两个失败均为 T3 外遗留问题:monitor/job 只读详情仍使用居中弹窗、waterFacilityDetailLabels 与当前遗留修改不一致。

风险与后续

  • 本次未连接真实 KingbaseES 执行集成验收;最终验收仍需以 KingbaseES 作为唯一生产真相源。
  • Issue #7 尚未在 Gogs 关闭,等待用户人工验收。

人工验收修正轮次

目标

针对用户对 T3「管网数据统计分析」的人工验收反馈,在原边界内优化视觉表现、恢复“展示全部”筛选,并统一五类设施的状态口径。

结论

  • 统计卡片拆分图标与文字区域,图表改用渐变堆叠柱状图与中心总数环形图,底部表格改为中文字段、状态标签和提示说明。
  • 状态筛选增加显式“展示全部”选项;查询构造忽略空状态,切换设施类型时先归一化状态,清除筛选只触发一次加载。
  • 建立设施专属状态契约:水源地正常/异常,水厂正常/停产,泵站正常/故障停运/检修中,管网正常/停用,用水户正常/欠费/停用;未知状态统一显示为“未知”。
  • 后端总览统计增加 warningCountunknownCount,约定外状态计入未知,保证总数与状态分项闭合; Excel 导出使用设施专属状态文案。
  • 前端针对性测试 16/16 通过,后端针对性契约测试 4/4 通过,后端全量测试 42/42 通过;前端生产构建通过。前端全量 Node 测试 44/45,唯一失败为 T3 外既有 monitor/job 详情居中弹窗规则问题。

风险与后续

  • 本轮仍未连接真实 KingbaseES 做人工验收,最终验收需以 KingbaseES 环境确认统计口径、筛选和 Excel 导出。

2026-09-01:供水管网运行监测 T4

目标

完成 Gogs Issue #8「T4 供水运行监测」:流量、压力、漏失三类页面的时间与数值筛选、趋势范围查询、真实 Excel 导出、空态与错误态,以及 KingbaseES 测试数据。

结论

  • 前后端仍分别提交;供水监测三个页面继续复用 WaterMonitoringPage,保持页面独立可用。
  • 查询构造统一清理空值、归一化数值,并把 Date 或字符串时间范围转换为 yyyy-MM-dd HH:mm:ss
  • 页面增加采集时间范围、显式空态、加载失败重试、趋势加载/空态/失败重试和 Blob XLSX 保存。
  • 后端按设备取时间与数值范围内最新一条测量值,再手动分页,分页总数与筛选结果一致;流量兼容雷达与遥测数据。
  • 三类趋势接口支持显式时间范围;仅结束时间时不再隐式套用近 24 小时起点,双空才使用默认近 24 小时。
  • 导出接口输出真实 XLSX 文件,包含设备编码、名称、位置、数值、单位和采集时间,导出筛选与分页筛选一致。
  • water_supply_monitoring_test_data.sql 已在真实 KingbaseES app_user schema 校验表与列,并连续执行两次,最终测试行数量保持为类型 3、设备 5、三类测量各 3。

验证

  • 后端 mvn test 通过。
  • 后端导出契约测试通过。
  • 前端 node --test tests/waterSupplyMonitoring.test.mjs 通过。
  • 前端全量 Node 测试 46 个中 45 个通过;唯一失败为 T4 外既有 monitor/job 只读详情仍使用居中弹窗。
  • 前端 npm run build:prod 通过,仅存在既有 Sass 弃用警告。

风险与后续

  • Issue #8 尚未在 Gogs 关闭,等待用户人工验收。
  • KingbaseES 已完成测试数据脚本验证;页面级人工验收仍建议在真实服务与浏览器中确认导出文件和趋势交互。