From 66fd957202742202804a614c766b9b973a26d836 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 07 May 2020 17:15:04 +0800
Subject: [PATCH] update

---
 src/main/java/com/moral/controller/ReportController.java |   89 +++++++++++++++++++++++++++++---------------
 1 files changed, 58 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/moral/controller/ReportController.java b/src/main/java/com/moral/controller/ReportController.java
index 5d90395..d3c7e6c 100644
--- a/src/main/java/com/moral/controller/ReportController.java
+++ b/src/main/java/com/moral/controller/ReportController.java
@@ -4,6 +4,8 @@
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -99,23 +101,13 @@
     @GetMapping("newExcel")
     public ResultBean<Boolean> getNExcelReport(HttpServletRequest request, HttpServletResponse response) throws Exception {
         Map<String, Object> parameters = getParametersStartingWith(request, null);
-        List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
-        ArrayList<String> sensorKeys = (ArrayList<String>) parameters.get("sensorKeys");
-        for (Map<String, Object> map : list) {
-            for (String sensorKey : sensorKeys) {
-                if (map.get(sensorKey) == null) {
-                    map.put(sensorKey, "");
-                }
-            }
-        }
-
         String type = parameters.get("type").toString();
         String time = parameters.get("time").toString();
-        String timeb = "";
+        String timeb;
         if (parameters.get("timeb") == null) {
-            timeb = parameters.get("time").toString();
-        } else {
-            timeb = parameters.get("timeb").toString();
+            timeb = time;
+        }else {
+            timeb=parameters.get("timeb").toString();
         }
 
         String[] endTimes = timeb.split("-");
@@ -123,21 +115,12 @@
         String beginTime = "";
         String endTime = "";
         List<String> monthList1 = new ArrayList<>();
-        monthList1.add("01");
-        monthList1.add("03");
-        monthList1.add("05");
-        monthList1.add("07");
-        monthList1.add("08");
-        monthList1.add("10");
-        monthList1.add("12");
+        Collections.addAll(monthList1,"01","03","05","07","08","10","12");
         List<String> monthList2 = new ArrayList<>();
-        monthList2.add("04");
-        monthList2.add("06");
-        monthList2.add("09");
-        monthList2.add("11");
+        Collections.addAll(monthList2,"04","06","09","11");
+
         Integer year = Integer.valueOf(endTimes[0]);
         int i = 0;
-
         if (type.equals("year")) {
             dateFormat = "yyyy-MM";
             beginTime = time + "-01";
@@ -163,11 +146,11 @@
             beginTime = time + " 00";
             endTime = timeb + " 23";
             i = Calendar.HOUR_OF_DAY;
-        } else if (type.equals("hour")) {
-            dateFormat = "yyyy-MM-dd HH:mm";
-            beginTime = time + ":00:00";
-            endTime = timeb + ":59:00";
-            i = Calendar.MINUTE;
+        }else if(type.equals("hour")){
+            dateFormat="yyyy-MM-dd HH:mm";
+            beginTime=time+":00:00";
+            endTime=timeb+":59:00";
+            i=Calendar.MINUTE;
         }
 
         SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
@@ -182,6 +165,50 @@
             resultList.add(map);
         }
 
+        if(type.equals("year")){
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy");
+            Date dt = sd.parse(timeb);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(dt);
+            calendar.add(Calendar.YEAR, 1);
+            Date dt1 = calendar.getTime();
+            timeb = sd.format(dt1);
+        }else if(type.equals("month")){
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM");
+            Date dt = sd.parse(timeb);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(dt);
+            calendar.add(Calendar.MONTH, 1);
+            Date dt1 = calendar.getTime();
+            timeb = sd.format(dt1);
+        }else if(type.equals("day")){
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
+            Date dt = sd.parse(timeb);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(dt);
+            calendar.add(Calendar.DAY_OF_MONTH, 1);
+            Date dt1 = calendar.getTime();
+            timeb = sd.format(dt1);
+        }else if(type.equals("hour")){
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH");
+            Date dt = sd.parse(timeb);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(dt);
+            calendar.add(Calendar.HOUR_OF_DAY, 1);
+            Date dt1 = calendar.getTime();
+            timeb = sd.format(dt1);
+        }
+        parameters.put("timeb",timeb);
+        List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
+        ArrayList<String> sensorKeys = (ArrayList<String>)parameters.get("sensorKeys");
+        for (Map<String, Object> map : list) {
+            for (String sensorKey : sensorKeys) {
+                if(map.get(sensorKey)==null){
+                    map.put(sensorKey,"");
+                }
+            }
+        }
+
         for (Map<String, Object> map : resultList) {
             for (Map<String, Object> resultMap : list) {
                 if (resultMap.get("time").equals(map.get("time"))) {

--
Gitblit v1.8.0