List<VResNeList> vResNeListList = vResNeLists.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(VResNeList::getTypeId))), ArrayList::new));
for (VResNeList vResNeList : vResNeListList) {
List<VResNeList> down = vResNeLists.stream()
.filter(item -> (item.getTypeId().equals(vResNeList.getTypeId()) && (item.getState() == (0))))
.collect(Collectors.toList());
List<VResNeList> up = vResNeLists.stream()
.filter(item -> (item.getTypeId().equals(vResNeList.getTypeId()) && (item.getState() == (1))))
.collect(Collectors.toList());
System.out.println(down.size()+"离线" + up.size()+ "在线");
int total = (up.size()+ down.size());
if (total > 0){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMaximumFractionDigits(2);
String result = numberFormat.format((float)up.size()/ (float)total * 100);
NeReportStateVO neReportStateVO = new NeReportStateVO();
neReportStateVO.setName(vResNeList.getTypeName());
neReportStateVO.setOnlineTotal(up.size());
neReportStateVO.setOfflineTotal(down.size());
neReportStateVO.setOnlineRate(Double.valueOf(result));
neReportStateVO.setTotal(total);
neReportVOS.add(neReportStateVO);
}else {
NeReportStateVO neReportStateVO = new NeReportStateVO();
neReportVOS.add(neReportStateVO);
}
}

- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35