"设备状态统计及展示实现方法详解"

需积分: 0 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; } } 通过以上的代码实现,系统可以获取到所有设备的数量和离线设备的数量,从而实现设备不同状态的统计和分析。这些数据可以被前端页面调用,以饼图的方式展示不同状态设备的占比百分比分布。这样,用户可以更直观地了解设备的工作状态,及时采取相应的措施。