diff --git a/jeecg-module-data-analyze/src/main/java/org/jeecg/service/impl/SampleStatAnalysisService.java b/jeecg-module-data-analyze/src/main/java/org/jeecg/service/impl/SampleStatAnalysisService.java index a0ca737..32fc7e1 100644 --- a/jeecg-module-data-analyze/src/main/java/org/jeecg/service/impl/SampleStatAnalysisService.java +++ b/jeecg-module-data-analyze/src/main/java/org/jeecg/service/impl/SampleStatAnalysisService.java @@ -220,13 +220,28 @@ public class SampleStatAnalysisService extends ServiceImpl> groupedByNuclideName = nuclideActConcIntvlList.stream() .filter(p -> p.getNuclideName() != null) .collect(Collectors.groupingBy(NuclideActConcIntvl::getNuclideName)); + + Map> sortedByCount = groupedByNuclideName.entrySet().stream() + .sorted(Map.Entry.>comparingByValue( + Comparator.comparingInt(List::size) + ).reversed()) // .reversed() 表示从多到少 + .collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue, + (e1, e2) -> e1, + LinkedHashMap::new // 使用 LinkedHashMap + )); + + + //查询级别 getSample List nuclideNames = new ArrayList<>(groupedByNuclideName.keySet()); if (CollectionUtils.isNotEmpty(nuclideNames)) { //通过台站ID、核素名称查找阈值 thresholdResultHisDataList = this.baseMapper.selectByStationAndNuclides(schemaName, Integer.valueOf(stationCode), nuclideNames, startTime, endTime); } - resultMap.put("nuclideActConcIntvlList", groupedByNuclideName); + // resultMap.put("nuclideActConcIntvlList", groupedByNuclideName); + resultMap.put("nuclideActConcIntvlList", sortedByCount); resultMap.put("sampleLevelDataList", sampleLevelDataList); resultMap.put("thresholdResultHisDataList", thresholdResultHisDataList); result.setSuccess(true); @@ -239,6 +254,7 @@ public class SampleStatAnalysisService extends ServiceImpl> entry : groupByStation.entrySet()) { String displayCode = entry.getKey(); @@ -606,6 +626,8 @@ public class SampleStatAnalysisService extends ServiceImpl