张雨婷 发表于 2023-8-28 14:44:24

ThingJSX - 告警图表处理/关闭 实施详解

本帖最后由 张雨婷 于 2023-8-28 14:52 编辑

https://pan.uinosoft.cn/files/image/2022/10/4e219b3bbb0a409e697244cad847d434.png告警图表展现如上图示,这里可以看出产品提供了两个按钮:“处理”、“关闭”,当然你如果不需要这两个按钮,该资源提供了可隐藏其按钮的设置;
[*]处理
从字面意思看,是要执行某一个动作,点击处理不管要干什么,UI界面上该条告警消息改为“已处理”的状态(这个“已处理”的文本可以自定义配置),不会删除该条告警信息;具体操作可能是请求接口,修改了该告警记录的状态为“已处理”,紧接着可能执行一个操作集等;
[*]关闭
相对处理就比较简单了,通过调用接口删除该条告警记录;

点击进入3.5.x环境推送告警文档点击进入4.x.x环境推送告警文档通过上面的文档可以推送告警信息到指定的孪生体上点击“处理”:就是处理该条告警记录 status:11点击“关闭”:可以理解移除这个告警数据,也就是删除的意思 status:2以ThingJS-X4为例,图表内处理的代码应该这样写:
(obj) => {    console.info('obj',obj) // 查看前端点击的告警对象信息    // 固定获取点击告警记录id的格式    let temp = obj.ALARM.filter((item)=>{      console.log( _.values(item)[0],' _.values(item)')      if(curData.desc == _.values(item)[0].ALARM_INFORMATION && curData.name == _.values(item)[0].ciName){            return true;      }    });    // console.log('obj.ALARM:'+ JSON.stringify(obj.ALARM));    // console.log('temp:'+JSON.stringify(temp));    let curParam = JSON.stringify(temp);    $.post('http://10.100.32.97:10021/http/rest',{'eventId': curParam }, function(res) {       let temp = JSON.parse(res);      //res为接口返回数据      if (temp.data=='success') {            console.log('请求处理业务成功')      }else{            console.log('请求处理业务失败')      }    }); }
DIX接口代码如下://应用http用到的java请求方法var HttpClient = Java.type("com.uinnova.di.dicom.util.HTTPClient");//定义用于存放java对象的mapvar HashMap = Java.type("java.util.HashMap");//定义用于存放java对象的数组var ArrayList = Java.type("java.util.ArrayList");function run(args) {    // 处理args字段省略    // ....         var curl = 'http://10.100.32.97:8088/thing/provider/rest/monitor/alarms/616930059600034'    //定义数组用来封装数据    var list = new ArrayList();    // status 1表示开启,2表示关闭,11表示已处理    list = [            {              "twinID": "设备001",              "severity": 1,              "status": 11,              "sourceAlertKey": "CPU使用率",              "summary": "CPU使用率超过90%,已连续发生超过3次",              "sourceIdentifier": "xxx",              "lastOccurrence": "2020-07-29 09:33:06"            }    ]            //打印需要发送的数据内容    logger.info("\n\n\n发送的模拟数据为" + JSON.stringify(list)+'\n\n\n')    //调用ThingJS-X标准性能API    var result = HttpClient.httpPost(curl, null, JSON.stringify(list), "utf-8");    //打印保存后API返回的结果    logger.info("\n\n\n保存结果为:" + result);    // heartBeat.addOutCount(list.length);    }
页: [1]
查看完整版本: ThingJSX - 告警图表处理/关闭 实施详解