alarm_api.md 13 KB

报警系统接口文档

总体说明(重要,必看)

注:userId、groupCode、projectId必须传值,appId可以为空) 除报警条目查询外,groupCode = 0 代表查询所有集团的数据,projectId = 0 代表查询所有项目的数据,appId = 0 代表查询所有子系统的数据

请求方法:POST

重要:除特殊说明外,本文档中所有的查询接口入参,请参照通用查询格式,本文档的查询入参只包含通用查询的criteria部分

API

报警条目

请求路径:/alarm/item/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id

groupCode = 0 代表查询通用的报警条目 groupCode = 集团编码 查询的是(集团私有 + 通用)的报警条目 projectId,appId = 0的查询规则与groupCode相同

query

请求参数:

{
  "id": "1",
  "code": "1033", // 条目编码
  "name": "测试报警",
  "category": "Env",  // 报警类型
  "level": "S", // 报警等级
  "remark": "测试数据",
  "dealFun": "test_deal_fun", // 处理算法
  "createUser": "test",
  "createTime": 1602962584000,
  "updateUser": "test",
  "updateTime": 1602962586000,
  "valid": 1
}

返回值:

{
  "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

请求参数:

{
  "id": "1",
  "itemCode": "1033",   // 报警条目编码
  "classCode": "OBJ_AX_CODE",   // 对象类型编码
  "concern": 1,   // 是否重点关注(敏感度),参考敏感度字典
  "open": 1,  // 屏蔽状态(0:屏蔽,1:不屏蔽)
  "level": "1",   // 报警等级,参照报警等级字典
  "createUser": "test",
  "createTime": 1602963135000,
  "updateUser": "test",
  "updateTime": 1602963138000,
}

返回值:

{
  "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

请求参数:

{
  "itemCode": "1033",
  "classCode": "OBJ_AX_CODE",
  "concern": 1,
  "open": 1,
  "condition": {}
}

update

请求参数:

{
  "id": "1",
  "itemCode": "1033",
  "classCode": "OBJ_AX_CODE",
  "concern": 1,
  "open": 2,
  "condition": {}
}

delete

请求参数:

{
  "id": "1"
}

报警定义

请求路径:/alarm/config/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id

(注:condition 为 query,create,update,delete)

query

请求参数:

{
  "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
}

返回值

{
  "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

请求参数

{
  "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条

{
  "alarmConfigs": [
    {
      // 参考create参数
    }
  ]
}

update

请求参数

{
  "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条

{
  "alarmConfigs": [
    {
      // 参考update参数
    }
  ]
}

delete

请求参数

{
    "id": "1"
}

batch_delete

请求参数

{
  "alarmConfigs": [
    {
      "id": "1"
    }
  ]
}

报警条件约定格式

{ 
  "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

请求参数:

{
  "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中的属性。具体使用请参照通用查询

{"withColumns": ["ignoreTime", "treatEndTime"]}

返回值

{
  "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

请求参数

{
  "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

请求参数

{
  "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

请求参数

{
	alarmRecordModels: [
		{
			// 参考update参数
		}
	]
}

报警批注

请求路径:/alarm/comment/{condition}?userId=用户id&groupCode=集团编码&projectId=项目Id&appId=应用id

(注:condition 为 query,create)

query

请求参数:

{
  "id": "1",
  "recordId": "1033", // 报警记录id
  "content": 1, // 批注内容
  "createUser": "TEST",
  "createTime": 1602953249000,
  "updateTime": 1602953249000,
  "updateUser": "TEST",
  "valid": 1
}

返回值

{
  "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

请求参数:

{
  "recordId": "1033",
  "content": "内容"
}

报警字典

使用数据标准化接口

字典类型的type字段请参照 报警数据字典 菜单括号里的英文