# 报警系统接口文档 ## 总体说明(重要,必看) >注:userId、groupCode、projectId必须传值,appId可以为空) >除报警条目查询外,groupCode = 0 代表查询所有集团的数据,projectId = 0 代表查询所有项目的数据,appId = 0 代表查询所有子系统的数据 > >请求方法:POST > >**重要:除特殊说明外,本文档中所有的查询接口入参,请参照[通用查询](/utils/query.md)格式,本文档的查询入参只包含通用查询的criteria部分** ## API ### 报警条目 请求路径:/alarm/item/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id > groupCode = 0 代表查询通用的报警条目 > groupCode = 集团编码 查询的是(集团私有 + 通用)的报警条目 > projectId,appId = 0的查询规则与groupCode相同 #### query 请求参数: ```json5 { "id": "1", "code": "1033", // 条目编码 "name": "测试报警", "category": "Env", // 报警类型 "level": "S", // 报警等级 "remark": "测试数据", "dealFun": "test_deal_fun", // 处理算法 "createUser": "test", "createTime": 1602962584000, "updateUser": "test", "updateTime": 1602962586000, "valid": 1 } ``` 返回值: ```json { "result": "success", "data": [ { "id": "45", "code": "1044", "name": "高温报警", "category": "Eq", "level": "S", "createUser": "System", "valid": 1, "projectId": "Pj1101050029", "groupCode": "WD" }, { "id": "145", "code": "1044", "name": "高温报警", "category": "Eq", "level": "S", "createUser": "System", "valid": 1, "projectId": "Pj1101050029", "groupCode": "XG" }, { "id": "245", "code": "1044", "name": "高温报警", "category": "Eq", "level": "S", "createUser": "System", "valid": 1, "projectId": "Pj4403050019", "groupCode": "ZS" } ], "count": 171 } ``` ### 报警匹配规则 请求路径:/alarm/target/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id #### query 请求参数: ```json5 { "id": "1", "itemCode": "1033", // 报警条目编码 "classCode": "OBJ_AX_CODE", // 对象类型编码 "concern": 1, // 是否重点关注(敏感度),参考敏感度字典 "open": 1, // 屏蔽状态(0:屏蔽,1:不屏蔽) "level": "1", // 报警等级,参照报警等级字典 "createUser": "test", "createTime": 1602963135000, "updateUser": "test", "updateTime": 1602963138000, } ``` 返回值: ```json { "result": "success", "data": [ { "id": "01ec6dd9-73a9-4bf0-ab14-35c2d99089bc", "itemCode": "1005", "classCode": "ACCC", "condition": { "end": "onlineStatus>0.5", "time": { "type": "period", "period": { "$gt": "090000", "$lt": "210000" } }, "trigger": "onlineStatus<0.5", "infoCode": [ "onlineStatus" ], "endUphold": 0, "triggerUphold": 0 }, "concern": 0, "level": "S", "open": 0, "createUser": "System", "createTime": 1604890777000, "valid": 1, "projectId": "Pj1101050029", "groupCode": "WD" } ], "count": 120 } ``` #### create 请求参数: ```json { "itemCode": "1033", "classCode": "OBJ_AX_CODE", "concern": 1, "open": 1, "condition": {} } ``` #### update 请求参数: ```json { "id": "1", "itemCode": "1033", "classCode": "OBJ_AX_CODE", "concern": 1, "open": 2, "condition": {} } ``` #### delete 请求参数: ```json { "id": "1" } ``` ### 报警定义 请求路径:/alarm/config/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id (注:condition 为 query,create,update,delete) #### query 请求参数: ```json5 { "id": "1", "objId": "OBJ_1", // 报警对象id "classCode": "ACATAH", // 报警对象所属对象类 "projectId": "PRJ_WD_001", "itemCode": "1033", // 报警条目编码 "category": "Env", // 报警类型 "level": "S", // 报警等级 "remark": "测试数据", "open": 1, // 是否屏蔽, 0:屏蔽,1:不屏蔽 "concern": 1, // 关注程度(敏感度) "userDefined": 1, // 用户自定义标志 "createUser": "test", "createTime": 1602962781000, "updateUser": "test", "updateTime": 1602962783000, "valid": 1 } ``` 返回值 ```json5 { "result": "success", "data": [ { "id": "0023d50f-316a-4ba7-8405-beb96e7c1647", "objId": "Eq1101050029b24be1bfec1d412395d0cb967c2afe17", "classCode": "ACATAH", "projectId": "Pj1101050029", "itemCode": "1008", "category": "Eq", "level": "S", "condition": { // 报警条件 "end": "faultStatus<0.5", "time": { "type": "period", "period": { "$gt": "090000", "$lt": "210000" } }, "trigger": "faultStatus>0.5", "infoCode": [ "faultStatus" ], "endUphold": 0, "triggerUphold": 0 }, "open": 0, "concern": 0, "userDefined": 0, "createUser": "System", "createTime": 1604890777000, "valid": 1, "groupCode": "WD" } ], "count": 8244 } ``` #### create 请求参数 ```json5 { "objId": "OBJ_1", // 必填 "classCode": "ACATAH", // 必填 "itemCode": "1033", // 必填 "condition": "报警条件", // 必填 "level": "S", // 必填 "remark": "测试数据", "open": 1, "concern": 1, "userDefined": 1, "createUser": "test", "createTime": 1602962781000, "updateUser": "test", "updateTime": 1602962783000, "valid": 1 } ``` #### batch_create 一次最多创建200条 ```json5 { "alarmConfigs": [ { // 参考create参数 } ] } ``` #### update 请求参数 ```json5 { "id": "1", // 必填 "itemCode": "1033", "condition": "报警条件", "level": "S", "remark": "测试数据", "open": 1, "concern": 1, "userDefined": 1, "createUser": "test", "createTime": 1602962781000, "updateUser": "test", "updateTime": 1602962783000, "valid": 1 } ``` #### batch_update 一次最多更新200条 ```json5 { "alarmConfigs": [ { // 参考update参数 } ] } ``` #### delete 请求参数 ```json5 { "id": "1" } ``` #### batch_delete 请求参数 ``` { "alarmConfigs": [ { "id": "1" } ] } ``` #### 报警条件约定格式 ```json5 { "configs": { // 用户页面的配置信息 "aerfa": 0.3, "beita": 3, "type": "1", //0:默认;1:自定义 }, "infoCode": ["X", "Y", "PClose"], // 触发和恢复条件中包含的信息点 // 设备多开示例: "trigger": "(X>(1-0.3)*Y) && (X-Y) > seq.max(seq.list(decimal(PClose),decimal(1)))", // 触发条件, "end": "!((X>(1-0.3)*Y) && (X-Y) > seq.max(seq.list(decimal(PClose),decimal(1))))", // 恢复条件 "triggerUphold": 45, // 触发条件持续时长 "endUphold": 5, // 结束条件持续时长 "effectTime": { // 有效期 "type": "always" // 有效期类型 } } ``` ### 报警记录 请求路径:/alarm/record/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id (注:condition 为 query,create,update) #### query 请求参数: ```json5 { "id": "1", "itemCode": "1033", // 条目编码 "projectId": "PRJ_WD_001", "objId": "OBJ_1", // 报警对象id "level": "S", // 报警等级 "remark": "测试数据", "name": '报警名称', "category": '报警分类', "concern": 1, "nature": "报警性质", "treatMode": "处理方式", "treatState": "处理状态", "state": "报警状态", "effectStartTime": 1602953256000 , "effectEndTime": 1602953256000 , "createUser": "test", "createTime": 1602953249000, "updateUser": "test", "updateTime": 1602953256000, "valid": 1, "orderId": "工单id", "orderState": "工单状态" } ``` 支持的withColumns: > 接口返回值中默认不包含withColumns中的属性,只有在查询条件中添加withColumns,才能查询到withColumns中的属性。具体使用请参照[通用查询](/utils/query.md) ```json5 {"withColumns": ["ignoreTime", "treatEndTime"]} ``` 返回值 ```json { "result": "success", "data": [ { "id": "957cc32c-8579-480e-b7ce-37b6c45c1a06", "itemCode": "1005", "projectId": "Pj1101050029", "objId": "Eq1101050029a90b5c93692e49c68bd27174ba9f7169", "classCode": "WSDWPP", "level": "S", "remark": "东坝万达地下二层 设备-S8L8M 13m³/h - 90m - 5.5kW-B2产生报警", "name": "生活给水水泵 产生报警", "category": "Eq", "concern": 0, "state": 2, "createUser": "system", "condition": { "end": "onlineStatus<0.5", "trigger": "onlineStatus>0.5", "infoCode": [ "onlineStatus" ], "endUphold": 0, "infoCodes": [ { "funcId": "901", "meterId": "WSDWPP_21_onlineStatus", "infoCode": "onlineStatus" } ], "triggerUphold": 0 }, "triggerInfo": { "onlineStatus": 1 }, "triggerTime": 1605853815000, "endInfo": { "onlineStatus": 0 }, "endTime": 1605855610000, "createTime": 1605854329000, "updateUser": "system", "updateTime": 1605855628000, "valid": 1, "groupCode": "WD", "orderId": "1", "orderState": "5" } ], "count": 27213 } ``` #### create 请求参数 ```json5 { "id": "957cc32c-8579-480e-b7ce-37b6c45c1a06", // 如果创建时未传入id,系统自动生成id;否则使用传入的值; "itemCode": "1005", // 条目编码,必填 "objId": "Eq1101050029a90b5c93692e49c68bd27174ba9f7169", // 报警对象id,必填 "classCode": "WSDWPP", // 报警对象所属对象类,必填 "level": "S", // 报警等级,必填 "remark": "东坝万达地下二层 设备-S8L8M 13m³/h - 90m - 5.5kW-B2产生报警", "name": "生活给水水泵 产生报警", // 报警名称,必填 "category": "Eq", // 报警类型,必填 "concern": 0, "state": 2, // 报警状态 "treatState": 1, // 报警处理状态 "treatMode": 1, // 报警处理方式 "nature": 1, // 报警性质 "createUser": "system", "condition": { // 报警条件 "end": "onlineStatus<0.5", "trigger": "onlineStatus>0.5", "infoCode": [ "onlineStatus" ], "endUphold": 0, "infoCodes": [ { "funcId": "901", "meterId": "WSDWPP_21_onlineStatus", "infoCode": "onlineStatus" } ], "triggerUphold": 0 }, "triggerInfo": { // 报警触发信息 "onlineStatus": 1 }, "triggerTime": 1605853815000, // 触发时间 "endInfo": { // 报警恢复信息 "onlineStatus": 0 }, "endTime": 1605855610000, // 恢复时间 "createTime": 1605854329000, "updateUser": "system", "updateTime": 1605855628000, "valid": 1, "supplement": {} // 补充说明 } ``` #### update 请求参数 ```json5 { "id": "957cc32c-8579-480e-b7ce-37b6c45c1a06", // 必填 "remark": "东坝万达地下二层 设备-S8L8M 13m³/h - 90m - 5.5kW-B2产生报警", "name": "生活给水水泵 产生报警", // 报警名称,必填 "state": 2, "triggerInfo": { // 报警触发信息 "onlineStatus": 1 }, "triggerTime": 1605853815000, // 触发时间 "endInfo": { // 报警恢复信息 "onlineStatus": 0 }, "endTime": 1605855610000, // 恢复时间 "createTime": 1605854329000, "updateUser": "system", "updateTime": 1605855628000, "valid": 1, "nature": "报警性质", "treatMode": "处理方式", "treatState": "处理状态", "supplement": {}, // 补充说明, "orderId": "工单id", "orderState": "工单状态" } ``` #### batch_update 请求参数 ```json5 { alarmRecordModels: [ { // 参考update参数 } ] } ``` ### 报警批注 请求路径:/alarm/comment/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id (注:condition 为 query,create) #### query 请求参数: ```json5 { "id": "1", "recordId": "1033", // 报警记录id "content": 1, // 批注内容 "createUser": "TEST", "createTime": 1602953249000, "updateTime": 1602953249000, "updateUser": "TEST", "valid": 1 } ``` 返回值 ```json5 { "result": "success", "data": [ { "id": "037bab48-5e4f-4b31-840b-7f0f3e18efff", "recordId": "将以便于", "content": "00266eb0-be08-4c81-9521-765d4f567f63", "createUser": "systemId", "createTime": 1605770036000, "projectId": "Pj1101050029", "groupCode": "WD" } ], "count": 44 } ``` #### create 请求参数: ```json5 { "recordId": "1033", "content": "内容" } ``` ### 报警字典 使用[数据标准化](/dic/dic_api.md)接口 字典类型的type字段请参照 [报警数据字典](/alarm/alarm_dict.md) 菜单括号里的英文