Commit 7b95a7a4988032985787e39b751b5ca7b81353d0
1 parent
252a387f
fix: 数据查询出来后,对数据的总量进行排序(大->小),防止数组下标越界
Showing
1 changed file
with
16 additions
and
2 deletions
... | ... | @@ -329,8 +329,16 @@ public class TkReportGenerateRecordServiceImpl |
329 | 329 | String deviceName, |
330 | 330 | List<List<String>> heads, |
331 | 331 | List<List<Object>> values) { |
332 | - int firstKey = 0; | |
332 | + Map<String,List<BasicData>> valuesMap = new HashMap<>(); | |
333 | 333 | for (String key : result.keySet()) { |
334 | + List<BasicData> basicData = result.get(key); | |
335 | + valuesMap.put(key,basicData); | |
336 | + } | |
337 | + int firstKey = 0; | |
338 | + //排序后进行循环 | |
339 | + for (Map.Entry<String, List<BasicData>> map:sortMap(valuesMap)) | |
340 | + { | |
341 | + String key = map.getKey(); | |
334 | 342 | List<String> headValue = new ArrayList<>(); |
335 | 343 | headValue.add(deviceName); |
336 | 344 | headValue.add(key + "采集值"); |
... | ... | @@ -339,7 +347,7 @@ public class TkReportGenerateRecordServiceImpl |
339 | 347 | tsValue.add(key + "采集时间"); |
340 | 348 | heads.add(headValue); |
341 | 349 | heads.add(tsValue); |
342 | - List<BasicData> basicData = result.get(key); | |
350 | + List<BasicData> basicData = map.getValue(); | |
343 | 351 | for (int i = 0; i < basicData.size(); i++) { |
344 | 352 | BasicData item = basicData.get(i); |
345 | 353 | List<Object> listValue; |
... | ... | @@ -402,4 +410,10 @@ public class TkReportGenerateRecordServiceImpl |
402 | 410 | saveOrUpdateReportGenerateRecord(recordDTO); |
403 | 411 | } |
404 | 412 | } |
413 | + | |
414 | + private List<Map.Entry<String, List<BasicData>>> sortMap(Map<String,List<BasicData>> sortedMap){ | |
415 | + List<Map.Entry<String, List<BasicData>>> sortedList = new ArrayList<>(sortedMap.entrySet()); | |
416 | + Collections.sort(sortedList, (o1, o2) -> o2.getValue().size() - o1.getValue().size()); | |
417 | + return sortedList; | |
418 | + } | |
405 | 419 | } | ... | ... |