Commit ec6ec8ed authored by 高建强's avatar 高建强

item:消防系统4小,近一周告警趋势数据结构修改

parent 53910120
...@@ -672,7 +672,7 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec ...@@ -672,7 +672,7 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec
LinkedHashSet<String> xAxis = new LinkedHashSet<>(); LinkedHashSet<String> xAxis = new LinkedHashSet<>();
List<Map<String, Object>> yAxis = new ArrayList<>(); List<Map<String, Object>> yAxis = new ArrayList<>();
// 取出所有非空indexName // 取出所有非空indexNamesortMap = {TreeMap@15960} size = 7
Set<String> indexKNameSet = list.stream().map(EquipAlarmLineVo::getIndexName).filter(StringUtils::isNotBlank).collect(Collectors.toSet()); Set<String> indexKNameSet = list.stream().map(EquipAlarmLineVo::getIndexName).filter(StringUtils::isNotBlank).collect(Collectors.toSet());
Map<String, List<EquipAlarmLineVo>> dateCollect = list.stream().collect(Collectors.groupingBy(EquipAlarmLineVo::getDate)); Map<String, List<EquipAlarmLineVo>> dateCollect = list.stream().collect(Collectors.groupingBy(EquipAlarmLineVo::getDate));
Map<String, List<EquipAlarmLineVo>> sortMap = new TreeMap<>((o1, o2) -> o2.compareTo(o1)); Map<String, List<EquipAlarmLineVo>> sortMap = new TreeMap<>((o1, o2) -> o2.compareTo(o1));
...@@ -680,33 +680,32 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec ...@@ -680,33 +680,32 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec
// 迭代器倒序遍历map // 迭代器倒序遍历map
String date = null; String date = null;
for (String indexName : indexKNameSet) { HashSet<String> dateSet = new HashSet<>();
for (int i = 0; i < indexKNameSet.size(); i++) {
HashMap<String, Object> dataMap = new HashMap<>(); HashMap<String, Object> dataMap = new HashMap<>();
LinkedList<Object> yData = new LinkedList<>(); LinkedList<Object> yData = new LinkedList<>();
dataMap.put("data", yData);
yAxis.add(dataMap);
}
int index = 0;
for (String indexName : indexKNameSet) {
HashMap<String, Object> dataMap = (HashMap<String, Object>) yAxis.get(index++);
LinkedList<Object> yData = (LinkedList<Object>) dataMap.get("data");
// 解决迭代器遍历一次的问题 // 解决迭代器遍历一次的问题
ListIterator<Map.Entry<String, List<EquipAlarmLineVo>>> i = new ArrayList<Map.Entry<String, List<EquipAlarmLineVo>>>(sortMap.entrySet()).listIterator(sortMap.size()); ListIterator<Map.Entry<String, List<EquipAlarmLineVo>>> i = new ArrayList<Map.Entry<String, List<EquipAlarmLineVo>>>(sortMap.entrySet()).listIterator(sortMap.size());
while (i.hasPrevious()) { while (i.hasPrevious()) {
Map.Entry<String, List<EquipAlarmLineVo>> entry = i.previous(); Map.Entry<String, List<EquipAlarmLineVo>> entry = i.previous();
String key = entry.getKey(); String key = entry.getKey();
List<EquipAlarmLineVo> value = entry.getValue(); List<EquipAlarmLineVo> collect = entry.getValue().stream().filter(x -> indexName.equals(x.getIndexName())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(collect)) {
for (EquipAlarmLineVo vo : value) { yData.add(collect.get(0).getTotal());
String name = vo.getIndexName(); } else {
if (key.equals(date)) { yData.add(0);
yData = (LinkedList<Object>) yAxis.get(i.previousIndex()).get("data");
}
if (indexName.equals(name)) {
yData.add(vo.getTotal());
} else {
yData.add(0);
}
} }
xAxis.add(key.substring(5)); xAxis.add(key.substring(5));
date = key;
} }
dataMap.put("data", yData); dataMap.put("data", yData);
dataMap.put("name", indexName); dataMap.put("name", indexName);
yAxis.add(dataMap);
} }
resultMap.put("legend", indexKNameSet); resultMap.put("legend", indexKNameSet);
resultMap.put("axisData", xAxis); resultMap.put("axisData", xAxis);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment