From bfae0be9c3980b6ec09f86bcb543bb8960927e14 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Thu, 13 Jul 2023 08:24:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into cjl

---
 screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 85c0244..0707182 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -219,7 +219,17 @@
                 wrapper.between("time", startDate, endDate);
                 List<HistoryHourly> historyHourlies = multiTableQuery(wrapper, tableNames);
                 historyHourlies = historyHourlies.stream().distinct().collect(Collectors.toList());
+                List<HistoryHourly> distinctHistoryHourlies = new ArrayList<>();
+                Map<String, Object> disMap = new HashMap<>();
                 for (HistoryHourly historyHourly:historyHourlies) {
+                    Date time = historyHourly.getTime();
+                    String timeStr = DateUtils.dateToDateString(time,DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
+                    if (!disMap.containsKey(timeStr)){
+                        distinctHistoryHourlies.add(historyHourly);
+                        disMap.put(timeStr,true);
+                    }
+                }
+                for (HistoryHourly historyHourly:distinctHistoryHourlies) {
                     Map<String,Object> historyHourlyMap = new HashMap<>();
                     historyHourlyMap.put("mac",mac);
                     JSONObject value = JSONObject.parseObject(historyHourly.getValue());
@@ -323,6 +333,11 @@
                         List<Map<String,Object>> deviceData = new ArrayList<>();
                         deviceData = (List<Map<String,Object>>)resultMap.get("deviceData");
                         deviceData.add(deviceMap);
+                        Collections.sort(deviceData, (map1,map2) -> {
+                            String name1 = map1.get("name").toString();//name1���������list������������������������
+                            String name2 = map2.get("name").toString(); //name1���������list���������������������������name
+                            return name1.compareTo(name2);
+                        });
                         resultMap.put("deviceData",deviceData);
                         //result.add(resultMap);
                         flag = false;
@@ -332,6 +347,11 @@
                 if (flag){
                     List<Map<String,Object>> deviceData = new ArrayList<>();
                     deviceData.add(deviceMap);
+                    Collections.sort(deviceData, (map1,map2) -> {
+                        String name1 = map1.get("name").toString();//name1���������list������������������������
+                        String name2 = map2.get("name").toString(); //name1���������list���������������������������name
+                        return name1.compareTo(name2);
+                    });
                     Map<String,Object> resultMap = new HashMap<>();
                     resultMap.put("deviceData",deviceData);
                     resultMap.put("time",time);
@@ -340,6 +360,11 @@
             }else {
                 List<Map<String,Object>> deviceData = new ArrayList<>();
                 deviceData.add(deviceMap);
+                Collections.sort(deviceData, (map1,map2) -> {
+                    String name1 = map1.get("name").toString();//name1���������list������������������������
+                    String name2 = map2.get("name").toString(); //name1���������list���������������������������name
+                    return name1.compareTo(name2);
+                });
                 Map<String,Object> resultMap = new HashMap<>();
                 resultMap.put("deviceData",deviceData);
                 resultMap.put("time",time);

--
Gitblit v1.8.0