# 报警系统

## 数据结构

### 报警条目(alarm_item)

|   字段    |      字段说明      |   数据类型   | 是否非空 |           备注           |
| :-------: | :----------------: | :----------: | -------- | :----------------------: |
|    id     | 主键(无业务含义) | varchar(80)  | Y        | 全局唯一,UUID无实际意义 |
|   code    |    报警条目编码    | varchar(80)  | Y        |                          |
|   name    |    报警条目名称    | varchar(40)  | Y        |                          |
| category  |      报警分类      | varchar(200) |          |                          |
|   level   |      严重程度      | varchar(10)  |          |                          |
| deal_fun  |      处理算法      |   datetime   | Y        |                          |
| condition |      触发条件      |     Json     |          |                          |
|   valid   |      删除标记      | varchar(40)  | Y        |      1:true,0:false      |
|  remark   |      备注信息      | varchar(200) |          |                          |

### 报警匹配规则(alarm_target)

用于保存 报警条目与对象信息点 的 匹配规则

|    字段    |  字段说明  |   数据类型   | 是否非空 |           备注           |
| :--------: | :--------: | :----------: | -------- | :----------------------: |
|     id     |            | varchar(80)  | Y        | 全局唯一,UUID无实际意义 |
| item_code  | 报警条目id | varchar(80)  | Y        |                          |
| class_code |  对象类型  | varchar(80)  | Y        |                          |
| condition  |  触发条件  |     Json     | Y        |                          |
|   valid    |  删除标记  |     int      | Y        |      1:true,0:false      |
|   remark   |  备注信息  | varchar(200) |          |                          |

### 报警定义(alarm_config)

|     字段     |   字段说明   |   数据类型   |      |           备注           |
| :----------: | :----------: | :----------: | ---- | :----------------------: |
|      id      |     主键     | varchar(80)  | Y    | 全局唯一,UUID无实际意义 |
|    obj_id    |    对象id    | varchar(80)  | Y    |                          |
|  project_id  |    项目id    | varchar(80)  | Y    |                          |
|  item_code   | 报警条目编码 | varchar(20)  | Y    |                          |
|   category   |   报警类型   | varchar(80)  | Y    |                          |
|    level     |   严重程度   | varchar(40)  | Y    |                          |
|  condition   |   触发条件   |     json     | Y    |                          |
|     open     |   屏蔽状态   |   datetime   |      |                          |
|   concern    | 是否重点关注 |     int      |      |                          |
| user_defined |  是否自定义  |     int      |      |                          |
|    valid     |   删除标记   |     int      | Y    |      1:true,0:false      |
|    remark    |     备注     | varchar(200) |      |                          |

### 报警记录(alarm_record)

|    字段    |      字段说明      |   数据类型   |      |           备注           |
| :--------: | :----------------: | :----------: | ---- | :----------------------: |
|     id     | 主键(无业务含义) | varchar(80)  | Y    | 全局唯一,UUID无实际意义 |
| item_code  |    报警条目编码    | varchar(20)  | Y    |      对应字典数据id      |
| project_id |       项目id       | varchar(40)  | Y    |       对应字典类型       |
|   obj_id   |       对象id       | varchar(20)  | Y    |                          |
|   level    |      严重程度      | varchar(20)  | Y    |            1             |
|   valid    |      删除标记      |     int      | Y    |      1:true,0:false      |
|   remark   |      报警描述      | varchar(200) |      |                          |