diff --git a/src/main/java/com/zhgd/xmgl/base/entity/vo/SectorVo.java b/src/main/java/com/zhgd/xmgl/base/entity/vo/SectorVo.java index a638380b6..69f190af3 100644 --- a/src/main/java/com/zhgd/xmgl/base/entity/vo/SectorVo.java +++ b/src/main/java/com/zhgd/xmgl/base/entity/vo/SectorVo.java @@ -11,6 +11,7 @@ import lombok.NoArgsConstructor; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; @@ -75,9 +76,10 @@ public class SectorVo { * * @param list * @param dictionaryItems + * @param sorted 是否倒序 * @return */ - public static SectorVo getSectorVoByDict(List list, List dictionaryItems) { + public static SectorVo getSectorVoByDict(List list, List dictionaryItems, Boolean sorted) { SectorVo vo = new SectorVo(); List rtList = new ArrayList<>(); Map map = list.stream().collect(Collectors.toMap(SectorOneVo::getEnumType, Function.identity())); @@ -91,12 +93,19 @@ public class SectorVo { vo1.setEnumType(Integer.valueOf(type.getData())); rtList.add(vo1); } + if (Objects.equals(sorted, true)) { + rtList = rtList.stream().sorted((o1, o2) -> Integer.valueOf(o2.getCount()).compareTo(Integer.valueOf(o1.getCount()))).collect(Collectors.toList()); + } vo.setData(rtList); vo.setCount(String.valueOf(rtList.stream().map(o -> Integer.parseInt(o.getCount())).mapToInt(value -> value).sum())); calPercent(vo); return vo; } + public static SectorVo getSectorVoByDict(List list, List dictionaryItems) { + return getSectorVoByDict(list, dictionaryItems, null); + } + /** * 计算总count * diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml index e023b0024..c841292db 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml @@ -126,6 +126,7 @@ where di.dictionary_encoding = 'ai_analyse_hard_ware_alarm_record_type' group by di.data + order by count desc