EARLY_WARNING_README.md 8.1 KB

预警管理系统集成说明

一、系统概述

本预警管理系统为城市地下管网及设施建设改造智能化系统提供完整的预警发布、处置、督办等功能。

二、数据库配置

2.1 执行建表SQL

# 执行SQL文件
pipe-network-service/sql/early-warning-system.sql

2.2 数据库表说明

表名 说明
early_warning 预警信息主表
alarm_warning_rel 报警预警关联表
warning_attachment 预警附件表
warning_disposal 预警处置记录表
warning_supervision 预警督办表
leader_instruction 领导批示表
warning_todo 预警待办表
warning_type_config 预警类型配置表
warning_level_config 预警级别配置表

三、Flowable工作流引擎集成(可选)

3.1 添加Maven依赖

pipe-network-service/zksy-system/pom.xml 中添加:

<dependency>
    <groupId>org.flowable</groupId>
    <artifactId>flowable-spring-boot-starter</artifactId>
    <version>6.8.0</version>
</dependency>

3.2 配置Flowable数据源

application.yml 中添加:

flowable:
  database-schema-update: true
  async-executor-activate: false
  process-definition-location-prefix: classpath*:/processes/
  history-level: audit

3.3 部署流程定义

early-warning-process.bpmn20.xml 放置在 src/main/resources/processes/ 目录下,启动时会自动部署。

四、后端API接口说明

4.1 预警管理接口 (/warning)

接口 方法 说明
/warning/list GET 分页查询预警列表
/warning/detail/{warningId} GET 预警详情
/warning/save POST 保存预警信息
/warning/publish/{warningId} POST 发布预警
/warning/upgrade POST 预警升级
/warning/resolve POST 解除预警
/warning/return POST 退回重办
/warning/supervision POST 预警督办
/warning/instruction POST 领导批示
/warning/link/alarms POST 关联报警信息
/warning/link/alarms/{warningId} GET 获取关联报警列表
/warning/disposal/{warningId} GET 获取处置记录列表
/warning/statistics GET 获取统计数据
/warning/config/types GET 预警类型配置
/warning/config/levels GET 预警级别配置

4.2 待办预警接口

接口 方法 说明
/warning/todo/list GET 待办预警列表

4.3 工作流接口 (/workflow)

接口 方法 说明
/workflow/start POST 启动流程
/workflow/task/complete POST 完成任务
/workflow/task/todo/{userId} GET 待办任务列表
/workflow/task/history/{processInstanceId} GET 历史任务列表
/workflow/diagram/{processInstanceId} GET 获取流程路线图(可视化)
/workflow/task/current/{processInstanceId} GET 获取当前任务信息

五、工作流路线图可视化

5.1 数据结构

{
  "nodes": [
    {
      "id": "start",
      "name": "开始",
      "type": "startEvent",
      "x": 50,
      "y": 150,
      "status": "completed"
    },
    {
      "id": "publish",
      "name": "发布预警",
      "type": "userTask",
      "x": 180,
      "y": 150,
      "status": "completed"
    },
    {
      "id": "handle",
      "name": "处理预警",
      "type": "userTask",
      "x": 360,
      "y": 150,
      "status": "active"
    },
    {
      "id": "decision",
      "name": "是否解除",
      "type": "exclusiveGateway",
      "x": 540,
      "y": 150,
      "status": "waiting"
    },
    {
      "id": "resolve",
      "name": "解除预警",
      "type": "userTask",
      "x": 720,
      "y": 100,
      "status": "waiting"
    },
    {
      "id": "return",
      "name": "退回重办",
      "type": "userTask",
      "x": 720,
      "y": 200,
      "status": "waiting"
    },
    {
      "id": "end",
      "name": "结束",
      "type": "endEvent",
      "x": 900,
      "y": 150,
      "status": "waiting"
    }
  ],
  "edges": [
    {
      "source": "start",
      "target": "publish",
      "status": "completed"
    },
    {
      "source": "publish",
      "target": "handle",
      "status": "completed"
    },
    {
      "source": "handle",
      "target": "decision",
      "status": "active"
    },
    {
      "source": "decision",
      "target": "resolve",
      "label": "是",
      "status": "waiting"
    },
    {
      "source": "decision",
      "target": "return",
      "label": "否",
      "status": "waiting"
    },
    {
      "source": "resolve",
      "target": "end",
      "status": "waiting"
    },
    {
      "source": "return",
      "target": "handle",
      "status": "waiting"
    }
  ],
  "processDefinitionName": "预警处置流程"
}

5.2 节点类型和状态

类型 说明
startEvent 开始事件
endEvent 结束事件
userTask 用户任务
exclusiveGateway 排他网关
状态 说明 颜色
completed 已完成 绿色
active 进行中 橙色
waiting 等待中 灰色

六、预警级别说明

级别编码 级别名称 驾驶舱展示颜色 说明
1 一级事件 红色 最高等级
2 二级事件 黄色 高关注
3 三级事件 蓝色 一般关注
4 四级事件 绿色 常态提示

驾驶舱统一使用 1 红、2 黄、3 蓝、4 绿的事件展示颜色。该颜色只用于前端事件列表、设备详情和事件徽标,不改变 warning_level/alarm_level 的数值含义;监测点主图标另行使用点位状态色。

七、预警状态说明

状态值 状态名称 说明
DRAFT 草稿 预警信息已保存,未发布
PENDING 待办 已发布,等待处置
PROCESSING 处置中 正在处理中
RELEASED 已发布 已发布
HANDLED 已处置 已处理完毕
CLOSED 已解除 已解除预警

八、快速开始

  1. 执行 early-warning-system.sql 初始化数据库表
  2. 启动应用
  3. 访问 Swagger 文档(如:http://localhost:8080/swagger-ui/index.html
  4. 使用接口进行测试

九、文件结构

pipe-network-service/
├── sql/
│   └── early-warning-system.sql          # 数据库建表SQL
├── zksy-system/
│   └── src/main/java/com/zksy/base/warning/
│       ├── domain/                       # 实体类
│       │   ├── EarlyWarning.java
│       │   ├── AlarmWarningRel.java
│       │   ├── WarningAttachment.java
│       │   ├── WarningDisposal.java
│       │   ├── WarningTodo.java
│       │   ├── WarningTypeConfig.java
│       │   └── WarningLevelConfig.java
│       ├── mapper/                       # Mapper接口
│       │   ├── EarlyWarningMapper.java
│       │   ├── AlarmWarningRelMapper.java
│       │   ├── WarningAttachmentMapper.java
│       │   ├── WarningDisposalMapper.java
│       │   ├── WarningTodoMapper.java
│       │   ├── WarningTypeConfigMapper.java
│       │   └── WarningLevelConfigMapper.java
│       └── service/                      # Service层
│           ├── EarlyWarningService.java
│           ├── WorkflowService.java
│           └── impl/
│               ├── EarlyWarningServiceImpl.java
│               └── WorkflowServiceImpl.java
├── zksy-admin/
│   └── src/main/java/com/zksy/web/controller/warning/
│       ├── EarlyWarningController.java   # 预警管理Controller
│       └── WorkflowController.java       # 工作流Controller
└── zksy-system/src/main/resources/
    ├── mapper/warning/                   # MyBatis XML
    │   ├── EarlyWarningMapper.xml
    │   ├── AlarmWarningRelMapper.xml
    │   └── WarningDisposalMapper.xml
    └── processes/                        # Flowable流程定义
        └── early-warning-process.bpmn20.xml