📊 智能配电管理系统 · 系统操作流程图

覆盖:账号登录 · 企业/项目/配电室配置 · 设备接入 · 监控与遥控 · 告警闭环 · 工单运维 · 能耗报表 · 权限模型

◻ 开始/结束▷ 处理◇ 判断🟠 异常/拦截⚠ 问题点(橙框)

0️⃣ 系统操作流程总览(已设计完成)

从系统初始化到日常运维的完整操作链路,节点标注对应原型页面;数据权限与操作日志横切全部环节
graph TD
    subgraph init[【初始化 · 系统管理员】]
      A1["企业管理
+新增企业
company.html"] --> A2["项目管理
+新增项目
system-project.html"] A2 --> A3["配电室/用电单元
project-detail.html"] A3 --> A4["用户+角色
功能/操作/数据范围
system-user / system-role"] end subgraph access[【设备接入 · 实施/运维】] A4 --> B1["设备型号
型号→物模型
device-model.html"] B1 --> B2["点位模板
分组/批量/校验
point-template.html"] B2 --> B3["网关管理
项目/配电室归属
device-gateway.html"] B3 --> B4["设备建档
选型号→自动套点位模板
device-list.html"] B4 --> B5["设备关系
通信+电气
device-gateway.html"] B5 --> B6["设备上线
遥测采集
device-online.html"] B6 --> B7["配置中心:电气拓扑 / 一次图 / 配电箱视图
电气拓扑建模 拖拽+绑定设备
cfg-topology.html / cfg-diagram.html / cfg-box.html"] end subgraph run[【运行监控 · 日常】] B6 --> C1["驾驶舱
项目切换/全部汇总
dashboard.html"] B7 --> C2["一次图监控
红合绿分
mon-diagram.html"] B6 --> C3["设备监控 10Tab
mon-device.html"] C1 --> C4["项目总览
mon-overview.html"] C3 --> C5["告警规则
alarm-rule.html"] C3 --> D1{"告警产生"} D1 --> D2["确认/处理
alarm-record.html"] D2 --> D3["转工单
自动带入设备/告警内容"] D3 --> D4["工单闭环
mon-device 设备工单 Tab"] D2 --> D5["关闭/恢复追溯
确认并关闭"] C1 --> E1["能耗统计/历史报表
energy-stat / report-history"] E1 --> E2["导出
数据权限过滤+留痕"] end subgraph cross[【横切】] F1["数据权限拦截
company_id + project_id IN"] F2["操作日志/审计
P0/P1 留痕"] end init --> access --> run
✓ 本总览反映当前已设计完成状态:初始化(企业→项目→配电室→用户/角色) → 设备接入(型号→点位模板→网关→设备→关系→上线→一次图) → 运行监控(驾驶舱→监控→告警→工单→能耗报表)。

① 账号与登录流程

企业 + 用户名 + 密码 → 首登强制改密 → 进入系统
graph TD
    A["登录
企业名称 + 用户名 + 密码"] --> B{"企业状态?"} B -- "停用" --> B1["拒绝登录
提示企业已停用"] B -- "启用" --> C{"首次登录?"} C -- "是" --> D["强制修改密码
8-20位含字母数字"] C -- "否" --> E["进入系统首页
项目总览"] D --> E E --> F["选择项目维度
或进入任意模块"] F --> G["操作(监控/遥控/告警/工单/能耗)"] G --> H["操作日志记录
P0/P1 高危留痕"] B1 --> Z["结束"] H --> Z["结束"]
问题点:用户可见多个项目时,登录后默认进入哪个项目/企业维度?——建议明确「默认项目」:登录后定位到 default_project_id,总览默认展示该企业全部项目(当前原型默认全部项目,语义需对齐)。

② 企业 / 项目 / 配电室 配置流程

企业为顶层单位,一个企业可建多个项目,项目下分配电室
graph TD
    A["企业管理
+新增企业"] --> B["创建企业
(名称=登录名)"] B --> C["项目管理
+新增项目(选所属企业)"] C --> D["保存并进入项目详情"] D --> E["配电室管理
+新增配电室"] E --> F["配置用电单元
(区域标签)"] F --> G["配电结构树
项目→配电室→柜体→设备"] G --> H["接入设备/网关"] H --> I["监控中心可查看"] E -. "快捷入口" .-> J["+添加设备/网关
配置一次图"] J --> H
✓ 该链路上一轮已闭环:新建项目 → 保存并进入详情 → 配电室 CRUD → 快捷添加设备/网关/电气结构。

③ 设备接入流程(三层模型)

设备型号 → 物模型(属性/服务/事件)→ 点位模板(协议映射)→ 设备 → 网关 → 关系 → 上线
graph TD
    A["设备型号
+新增型号"] --> B["关联物模型
(属性/服务/事件)"] B --> C["配置点位模板
(寄存器地址/倍率/单位)"] C --> D{"点位校验?"} D -- "失败" --> D1["修正点位
重新校验"] D -- "通过" --> E["新增设备
选型号自动带出"] E --> F["选择网关+从站地址
(项目→配电室归属)"] F --> G["配置关系
通信关系/电气关系"] G --> H["设备上线
实时数据采集"]
问题点:① 型号未配置点位模板时,新建设备会"无点位可采"——建议在「设备型号」增加接入引导(未配置点位时提示先配置);② 物模型动态建模为二期,当前新增型号只能选内置模型,若客户有新断路器系列需开发介入——建议明确一期型号扩展边界。

④ 监控与遥控指令流程

实时监控 → 指令下发(P0/P1)→ 二次确认 → 校验 → 下发 → 回执 → 日志
graph TD
    A["实时数据/曲线/历史
(设备监控 10 Tab)"] --> B["点击指令
遥控合/分闸 定值整定 召测"] B --> C{"控制模式?"} C -- "就地" --> C1["强制拦截
提示+日志"] C -- "远方" --> D["二次身份确认
短信验证码/操作密码"] D --> E{"验证码有效?"} E -- "无效/过期" --> E1["拦截
重新获取"] E -- "有效" --> F["下发指令
等待回执(10s/15s)"] F --> G{"回执?"} G -- "成功" --> H["写控制日志
P0/P1 留痕"] G -- "超时" --> I["提示超时
可重试"] G -- "失败" --> J["提示设备错误码"] I --> B C1 --> Z["结束"] E1 --> D H --> Z["结束"]
问题点:指令超时重试是否需要重新二次确认?——建议明确"重试仍走二次确认(安全一致)",避免口头约定;另外遥调(P1)定值整定建议增加"整定前读取当前值"确认步骤,防误设。

⑤ 告警闭环流程

规则 → 产生 → 确认 → 处理 → 关闭(+自动恢复分支)
graph TD
    A["告警规则配置
型号+参数+阈值+通知"] --> B["平台评估/设备事件"] B --> C["告警产生
状态=未确认未恢复"] C --> D{"自动恢复?"} D -- "恢复" --> E["状态=未确认已恢复
(需追溯)"] D -- "未恢复" --> F{"人工确认?"} F -- "确认" --> G["状态=已确认未恢复
(人工干预中)"] F -- "未确认" --> C E -- "确认后" --> H["已处理关闭"] G --> I["处理/关闭"] I --> H["已处理关闭
(闭环完成)"] G -. "建议" .-> J["转工单
(告警→工单联动)"] J --> K["设备工单处理"] K --> H
问题点(重要):① 告警「处理」目前只有状态流转,缺少"转工单"动作——竞品(天屹云电)工单有"事件来源=告警转工单",但我们的告警详情/处理里没有转工单入口,链路断裂;建议在告警"处理"处增加「转工单」按钮(自动带入设备/告警内容)。② 已恢复告警的"确认后闭环"在原型里缺少操作入口(需追溯类如何关闭要明确)。

⑥ 工单运维流程

工单来源 → 派发 → 处理 → 审核 → 关闭
graph TD
    A["工单来源
人工/告警转/巡检转"] --> B["新建工单
类型/负责人/计划"] B --> C["等待处理"] C --> D["处理中
现场执行"] D --> E["已处理-审核中"] E --> F{"审核通过?"} F -- "通过" --> G["已处理"] F -- "驳回" --> D C -. "作废" .-> H["已作废"] D -. "作废" .-> H G --> Z["结束"]
问题点:① 告警转工单入口缺失(见图⑤);② "巡检转工单"在原型中无入口(巡检任务结果页没有"转为工单"按钮)——建议巡检/缺陷回执处增加转工单动作。

⑦ 能耗与报表流程

遥测 → 时序存储 → 能耗统计/历史报表 → 导出(受数据权限约束)
graph TD
    A["设备遥测上报
(电能/负荷)"] --> B["时序存储
按天分表"] B --> C["能耗统计
区域+分项 日/月/年 排名"] B --> D["历史数据查询
曲线/明细"] C --> E["导出
(受数据权限过滤)"] D --> E E --> F["审计留痕"]
✓ 该链路闭环;导出统一走数据权限拦截器过滤(company_id + project_id)。

⑧ 权限模型(RBAC 三层)

企业 → 用户 → 角色(功能/操作/数据)
graph TD
    A["企业管理
(顶层边界)"] --> B["用户管理
用户归属企业"] B --> C["角色分配
功能权限+操作权限"] C --> D["数据范围
企业内 全部/指定项目"] D --> E["登录+鉴权
接口+数据拦截"] E --> F["操作留痕
审计日志"]
✓ 权限链路清晰;建议按 1.6 章节在二期支持代维商跨企业(多企业账号)。

⚠ 流程问题汇总(本次梳理发现)

1️⃣ 告警 → 工单 链路断裂(最优先):告警"处理"无转工单入口;工单"事件来源=告警转工单"是空选项。修复:告警处理操作加「转工单」按钮,自动带入设备与告警内容。
2️⃣ 巡检/缺陷 → 工单 无入口:巡检回执页没有"转为工单"动作。修复:巡检任务/缺陷详情加「转工单」。
3️⃣ 设备接入前置引导缺失:型号未配点位模板时新建设备会采不到数据。修复:设备型号加接入状态引导(未配点位→提示)。
4️⃣ 遥控超时重试规则未明确:超时后重试是否重新二次确认。建议:重试仍走二次确认,安全一致。
5️⃣ 已恢复告警的"需追溯→闭环"缺操作入口:未确认已恢复状态如何关闭需明确。建议:列表中对"未确认已恢复"提供「确认并关闭」操作。
6️⃣ 登录默认项目语义:多项目用户登录后默认上下文。建议:default_project_id 定位 + 企业维度总览。