编辑 | blame | 历史 | 原始文档

能耗管理

范围

新增一级菜单「能耗管理」,下设「能耗记录」「数据分析」「能耗预警」。按天手动录入,独立业务表,无设备、生产工单、部门、产品等外键或业务调用。后端复用现有 MES 运行容器及系统权限/租户基础设施。预警仅使用系统管理员用户和站内信基础服务。

录入

日期、能源(水/电/蒸汽)、使用区域、产品类别、用途、用量、单价、录入人、备注。水单位 m³,电 kWh,蒸汽 t。区域与用途支持自由填写,建议项适用于燕窝、滋补品原浆的生产场景,可按实际厂区调整。产品类别包含燕窝、滋补品原浆、公用能耗、其他。仅录用量时单价填 0。

同一天可录入多个区域、用途或班次的记录;请统一计量口径,避免同时录入总表与分表造成重复统计。用量直接填本次统计用量,不填写累计表读数。费用由后端按用量×单价计算,四舍五入到分。

分析

按日期区间、能源、区域关键词、产品类别筛选,支持按日/月汇总(每次不超过两年)。分别显示三种能源用量,费用可以合计。图表包含用量趋势、能源费用占比、区域费用前十、能源费用趋势、区域费用占比、单种能源区域用量前十,共6张。区域费用占比中的其他区域合并显示,保证占比覆盖全部区域。未录入日期留空,不视为零消耗。删除或修改记录后,重新分析即可更新统计。

图表右上角支持下载PNG图片。分析报表导出XLSX,包含统计口径、能源汇总、日期趋势、区域汇总4个工作表,使用最近一次成功分析时的筛选条件。台账按当前筛选条件导出全部记录,不限当前页,单次最多50000条,超出时需缩小日期范围。

能耗预警

规则包括名称、能源、统计指标(每日用量、每日费用、每月用量、每月费用)、阈值、使用区域、产品类别、接收人及启用状态。区域留空表示全部区域,否则精确匹配;产品类别留空表示全部产品。相同周期、范围的多条台账汇总比较,实际值严格大于阈值时触发,等于阈值不通知。月度按自然月(当月1日至下月1日之前)汇总所有已录入数据,累计超限即通知,不必等到月底。

台账新增、修改、删除提交成功后自动检查受影响日期及所属自然月;修改日期时检查原日期和新日期,跨月时检查两个自然月。预警检查使用独立事务,通知异常不回滚已提交的台账。成功站内信和成功日志一同提交;同一租户、规则、统计周期、接收人只成功通知一次(规则行锁和数据库唯一索引同时保护并发检查)。月度日志以月首日存储,界面显示年月,筛选某天时会同时展示该天及所属月份的通知。通知记录保存规则/阈值/实际值快照,即使规则删除也保留历史。

配置新规则或修改阈值后,使用「检查预警 / 重试失败通知」检查今天或历史日期。发送失败会留下记录,再次检查该日期时仅重试仍超限的失败接收人。已成功通知的历史日期不会因编辑规则或修改台账而重复发送;台账回落后不撤回已发送消息。接收人必须是当前租户启用的系统用户。通知出现在右上角站内通知及「我的站内信」,通过系统原有查询刷新。

站内信模板编码为 energy_daily_warning(每日)和 energy_monthly_warning(每月);请保持模板启用。脚本不创建规则、不指定接收人、不发送任何通知。首次使用请根据现场实际用能设置阈值。

部署

  1. 在目标 MySQL 数据库依次执行 sql/mysql/energy_management_init.sql、sql/mysql/energy_alert_analysis_upgrade.sql、sql/mysql/energy_menu_patch.sql、sql/mysql/energy_monthly_alert_upgrade.sql。创建台账、预警规则及通知历史表、每日/月度通知模板、菜单及超级管理员权限。菜单补齐脚本同时校准父子层级、组件路径、启用/可见状态。月度迁移保留历史日通知并调整周期去重索引,应在发布新版后端前执行。四个脚本均可重复执行,不写入示例业务数据。
  2. 构建并重启后端(实现位于 yudao-module-mes),发布 mom-pro2-before 前端。
  3. 重新登录刷新菜单;普通角色在角色管理分配能耗记录查询、新增、修改、删除以及数据分析权限。非系统租户还需在对应租户套餐中分配新增菜单。

接口

/admin-api/energy/record 下的 create、update、delete、get、page、analysis。分析权限为 energy:analysis:query,记录权限为 energy:record:query/create/update/delete。业务表 mes_energy_record 支持逻辑删除、租户隔离及创建/修改审计。

导出接口 /admin-api/energy/record/export-excel、analysis-export,权限分别为 energy:record:export、energy:analysis:export。预警接口 /admin-api/energy/alert 下的 page、logs、recipients、create、update、delete、check?date=YYYY-MM-DD,权限为 energy:alert:query/create/update/delete/check。预警规则和通知历史均按租户隔离。

验证(2026-10-12)

  • 后端编译通过,EnergyRecordServiceTest 7项单元测试通过。
  • 前端生产构建通过;新增能耗文件未发现类型错误。全项目 vue-tsc 仍有其他现有文件错误(例如采购申请重复字段、部分 IM 导入路径),未修改这些无关文件。
  • 使用独立内存模拟数据验证了录入、费用计算、编辑、删除、能源切换、区域筛选、按月汇总与无数据提示,并检查桌面及390px窄屏布局。模拟数据和临时验证服务未纳入交付。
  • 2026-10-12 已在当前后端配置的 mom-hm 数据库创建台账表及6个菜单/按钮节点,并为现有超级管理员(role_id=1)分配权限。菜单编号为1075425至1075430;数据库回查确认均已启用。重新登录刷新前端菜单。其他部署数据库仍需执行初始化脚本;尚未完成实际业务接口联调。
  • 2026-10-12 已按用户要求将同一初始化SQL同步到 36.213.150.237:10000 的 mom-hm 数据库,创建17字段台账表、6个菜单/按钮节点及6条超级管理员授权。已通过新连接回查提交结果,未导入业务数据;连接密码未保存到项目文件。
  • 2026-10-12 预警升级SQL已同步到同一远程 mom-hm,新连接回查确认新增2张表、1个已启用通知模板、7个菜单/按钮节点及7条超级管理员授权;预警规则0条,未向真实用户发送测试通知。代码尚需发布前后端并重新登录。
  • 预警边界、去重、失败重试、单个接收人失败、停用规则、SQL参数绑定及实际Excel工作簿内容已通过自动化验证;本地模拟页面验证了规则新增、阈值显示、接收人选择、检查通知记录和重复检查,以及6张图表的窄屏渲染。未连接远程业务API进行通知联调。
  • 本次最终后端能耗专项测试17项通过,前端生产构建通过。全项目类型检查仍存在已有无关错误,能耗目录未发现类型错误。
  • 2026-10-12 已补齐当前本地 localhost:3306/mom-hm 的预警升级与菜单,并向 36.213.150.237:10000/mom-hm 同步完整菜单修复。分别使用新连接回查,均为1个目录、3个页面、9个按钮(共13个启用且可见节点),超级管理员均有13项菜单授权。管理员重新登录即可拉取完整菜单;普通角色仍按需分配权限。
  • 2026-10-12 新增每月用量/费用指标,专项测试共19项通过,前端生产构建通过,能耗目录无类型错误。月度迁移已同步本地和指定远程mom-hm,新连接回查确认周期字段默认DAY、新周期去重索引和启用的月度通知模板。未发送真实测试通知。发布前后端后可选用新增月度指标。