"设备状态统计及展示实现方法详解"
需积分: 0 24 浏览量
更新于2024-04-13
收藏 607KB PDF 举报
第四章报表分析主要是针对设备不同状态进行统计和分析。在系统中,需要在首页以饼图的方式显示不同状态设备的占比百分比分布。具体要实现的效果是根据设备的状态,统计出断网设备总数、断网数量、告警数量,并通过运算得到正常设备数,最终将数据组合成前端需要的数据格式返回。下面是具体的实现思路和代码实现步骤:
实现思路:
1. 编写从ElasticSearch中获取断网设备总数、断网数量、告警数量的方法;
2. 通过运算得到正常设备数,将数据组合成前端需要的数据格式返回。
代码实现:
1. 在ESRepository中添加统计全部设备数量的方法:
public Long getAllDeviceCount() {
CountRequest countRequest = new CountRequest("devices");
countRequest.query(QueryBuilders.matchAllQuery());
try {
CountResponse response = client.count(countRequest);
return response.getCount();
} catch (IOException e) {
e.printStackTrace();
return 0L;
}
}
2. 在ESRepository中添加统计离线设备数量的方法:
public Long getOfflineDeviceCount() {
SearchRequest searchRequest = new SearchRequest("devices");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.termQuery("status", "offline"));
searchRequest.source(sourceBuilder);
try {
SearchResponse response = client.search(searchRequest);
return response.getHits().getTotalHits().value;
} catch (IOException e) {
e.printStackTrace();
return 0L;
}
}
通过以上的代码实现,系统可以获取到所有设备的数量和离线设备的数量,从而实现设备不同状态的统计和分析。这些数据可以被前端页面调用,以饼图的方式展示不同状态设备的占比百分比分布。这样,用户可以更直观地了解设备的工作状态,及时采取相应的措施。
2022-08-03 上传
2021-10-08 上传
陌陌的日记
- 粉丝: 18
- 资源: 318
最新资源
- StickyMayhem
- Face-Tracker-Haar-Kanade:使用Lucas-Kanade和Haar Cascade算法即使在数据集有限的情况下也可以跟踪人脸
- dodgeballs:躲开球!
- 女性美容养生护理手机网站模板
- template-cpanel-adminiziolite:模板 CPanel Adminiziolite
- raw-connect:具有Polkadot JS WasmProvider实现的基板Wasm客户端的原始模板
- 基于三菱PLC程序的花样喷泉控制程序.zip
- Yoda-to-sl:尤达告诉你怎么走!
- soko-city:崇光市
- 防京东商城手机网站模板
- Awesome-Trajectory-Prediction
- 易语言-易语言简单的多线程例子
- 模板-tmp7
- 间歇交替输出PLC程序.rar
- ecommerce-bikeshop:一个电子商务网络应用程序,受在线自行车商店网站的启发,让您使用Google身份验证创建帐户,添加购物车中的商品,使用Stripe进行付款等等
- django-dropboxchooser-field:Django的Dropbox选择器字段