From e745dd38c5a413eaa000c7c5434621fbcd1800d5 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Wed, 23 Dec 2020 13:55:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/moral/service/impl/HistoryServiceImpl.java |   37 +++++++++++++++++--------------------
 1 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
index 3f5d6d6..498bcec 100644
--- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
@@ -74,12 +74,10 @@
         Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
         accountService.setOrgIdsByAccount(parameters);
         LocalDateTime time = LocalDateTime.now();
-        // ������������ -10������
-        LocalDateTime start = time.minusMinutes(10);
-        parameters.put("start", start);
+        parameters.put("end", time);
         // ������������ -5������
-        LocalDateTime end = time.minusMinutes(5);
-        parameters.put("end", end);
+        LocalDateTime start = time.minusMinutes(5);
+        parameters.put("start", start);
         List<Sensor> Sensors = sensorMapper.getSensorsByCriteria(parameters);
         List<String> sensorKeys = new ArrayList<String>();
         for (Sensor sensor : Sensors) {
@@ -87,7 +85,7 @@
         }
         parameters.put("sensorKeys", sensorKeys);
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMM");
-        parameters.put("timeUnits", "minutely_" + df.format(start));
+        parameters.put("timeUnits", "five_minutely_" + df.format(time));
         List<Map<String, Object>> list = historyMapper.getAreaAllDataByAccount(parameters);
         resultMap.putAll(list.get(0));
         return resultMap;
@@ -111,7 +109,6 @@
         parameters.put("sensorKeys", sensorKeys);
         parameters.put("timeUnits", "hourly");
         List<Map<String, Object>> list = historyMapper.getAreaAllDataByAccount(parameters);
-
         for (Map<String, Object> map : list) {
             result.put((String) map.get("name"), map.get(macKey.toString()));
         }
@@ -386,7 +383,6 @@
             resultMap.put(map.remove("sensor_key").toString(), map);
         }
         return resultMap;
-
     }
 
     @Override
@@ -410,14 +406,17 @@
         String timeUnits = startTime.substring(0, 10).replace("-", "");
         Map<String, Object> map = historyMapper.getAVGValueByMacAndTimeslot(mac, startTime, endTime, timeUnits);
         Map<String, Object> returnMap = new HashMap<>();
-        if (map.isEmpty()) {
-            returnMap.put("AQI", "N/V");
+        if (ObjectUtils.isEmpty(map) || map.isEmpty()) {
+             returnMap.put("AQI", "N/V");
+             return returnMap;
         } else {
             Map<String, Double> AQIMap = new HashMap<>();
             for (Map.Entry<String, Object> entry : map.entrySet()) {
                 String key = entry.getKey();
-                Double value = Double.parseDouble(entry.getValue().toString());
-                AQIMap.put(key, value);
+                if (entry.getValue() != null) {
+                    Double value = Double.parseDouble(entry.getValue().toString());
+                    AQIMap.put(key, value);
+                }
             }
             returnMap = AQICalculation.hourlyAQI(AQIMap);
         }
@@ -541,8 +540,8 @@
         String startTime = parameters.get("startTime").toString();
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         LocalDateTime startTimeLocalDateTime = LocalDateTime.parse(startTime, dateTimeFormatter);
-        LocalDateTime today = LocalDateTime.now().truncatedTo(ChronoUnit.DAYS);
-        LocalDateTime startTimeDay = startTimeLocalDateTime.truncatedTo(ChronoUnit.DAYS);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
+        int format = Integer.parseInt(sdf.format(new Date()));
         int year = startTimeLocalDateTime.getYear();
         int month = startTimeLocalDateTime.getMonthValue();
         String monthStr = month < 10 ? ("0" + month) : month + "";
@@ -554,17 +553,15 @@
         }
         parameters.put("sensorKeys", sensorKeys);
         List<Map<String, Object>> listMap = null;
-        /*if (today.compareTo(startTimeDay) == 0) {
-            listMap = historyMapper.listGetSensorData(parameters);
-        }*/
-        //if (CollectionUtils.isEmpty(listMap)) {
         listMap = historyMapper.getCarSensorData(parameters);
         if (CollectionUtils.isEmpty(listMap)) {
             if (year <= 2019) {
                 listMap = historyMinutelyMapper.getSensorData(parameters);
             } else {
-                parameters.put("yearAndMonth", yearAndMonth);
-                listMap = historyMinutelyMapper.getSensorData2020(parameters);
+                if (Integer.parseInt(yearAndMonth) <= format) {
+                    parameters.put("yearAndMonth", yearAndMonth);
+                    listMap = historyMinutelyMapper.getSensorData2020(parameters);
+                }
             }
         }
         //}

--
Gitblit v1.8.0