From 9b790d284324a54bd54de12a336e488e748a2b61 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 12 Aug 2021 14:57:15 +0800
Subject: [PATCH] 监测因子趋势图时间精简

---
 screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java |    7 +++++--
 screen-common/src/main/java/com/moral/util/DateUtils.java                  |   20 ++++++++++++++------
 2 files changed, 19 insertions(+), 8 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 561c8b6..23efdd1 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
@@ -91,7 +91,7 @@
         String sensorCode = params.get("sensorCode").toString();
         String end;
         String timeUnits;
-
+        String dateFormat;
         //���������������,time=data
         List<Map<String, Object>> result = new ArrayList<>();
 
@@ -99,18 +99,21 @@
             if ("hour".equals(type)) {
                 end = DateUtils.getDateAddDay(start, 1);
                 timeUnits = "hourly";
+                dateFormat = "%Y-%m-%d %H";
             } else if ("day".equals(type)) {
                 end = DateUtils.getDateAddMonth(start, 1);
                 timeUnits = "daily";
+                dateFormat = "%Y-%m-%d";
             } else {
                 end = DateUtils.getDateAddYear(start, 1);
                 timeUnits = "monthly";
+                dateFormat = "%Y-%m";
             }
             params.put("timeUnits", timeUnits);
             params.put("start", start);
             params.put("end", end);
             params.put("macs", macs);
-            params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
+            params.put("dateFormat", dateFormat);
             //���������������������������������
             List<Map<String, Object>> list = deviceMapper.getTrendChartData(params);
 
diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java
index 7fe7e86..51034a8 100644
--- a/screen-common/src/main/java/com/moral/util/DateUtils.java
+++ b/screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -1367,23 +1367,27 @@
         Calendar cal = Calendar.getInstance();
         String end;
         String dateFormat;
+        String df;
         int i;
         if (length == 10) {//���
             end = getDateAddDay(time, 1);
-            dateFormat = yyyy_MM_dd_EN;
+            dateFormat = yyyy_MM_dd_HH_EN;
+            df = yyyy_MM_dd_EN;
             i = Calendar.HOUR_OF_DAY;
         } else if (length == 7) {//���
             end = getDateAddMonth(time, 1);
-            dateFormat = yyyy_MM_EN;
+            dateFormat = yyyy_MM_dd_EN;
+            df = yyyy_MM_EN;
             i = Calendar.DAY_OF_MONTH;
         } else {//���
             end = getDateAddYear(time, 1);
-            dateFormat = yyyy;
+            dateFormat = yyyy_MM_EN;
+            df = yyyy;
             i = Calendar.MONTH;
         }
-        cal.setTime(getDate(time, dateFormat));
-        for (long d = cal.getTimeInMillis(); d < getDate(end, dateFormat).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) {
-            String format = dateToDateString(new Date(d));
+        cal.setTime(getDate(time, df));
+        for (long d = cal.getTimeInMillis(); d < getDate(end, df).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) {
+            String format = dateToDateString(new Date(d),dateFormat);
             result.add(format);
         }
         return result;
@@ -1403,4 +1407,8 @@
         stringBuffer.replace(15, 16, String.valueOf(i));
         return getDate(stringBuffer.toString(), yyyy_MM_dd_HH_mm_EN);
     }
+
+    public static void main(String[] args) {
+        System.out.println(getTimeLag("2021"));
+    }
 }

--
Gitblit v1.8.0