From e66b0932eb782c6ec771ffaa9957e6d5d5361286 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Tue, 07 Aug 2018 12:49:06 +0800
Subject: [PATCH] 增加 年查询

---
 src/main/java/com/moral/common/util/ParameterUtils.java  |   78 +++++++++++++++++++++++++++++++++++++++
 src/main/java/com/moral/controller/ScreenController.java |   21 ++--------
 2 files changed, 83 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/moral/common/util/ParameterUtils.java b/src/main/java/com/moral/common/util/ParameterUtils.java
new file mode 100644
index 0000000..3c5080a
--- /dev/null
+++ b/src/main/java/com/moral/common/util/ParameterUtils.java
@@ -0,0 +1,78 @@
+package com.moral.common.util;
+
+import java.util.Calendar;
+import java.util.Map;
+
+public class ParameterUtils {
+
+	public static void getTimeType4Time(Map<String, Object> parameters) {
+		if (parameters.containsKey("time")) {
+			int length = ((String) parameters.get("time")).split("-").length;
+			if (length == 2) {
+				parameters.put("type", "month");
+			} else if (length == 3) {
+				parameters.put("type", "day");
+			} else if (length == 1) {
+				parameters.put("type", "year");
+			}
+		}
+	}
+
+	public static void getRegionType4RegionCode(Map<String, Object> parameters) {
+		String regionType = "village";
+		String nextLevel = "";
+		if (parameters.containsKey("regionCode")) {
+			String regionCode = parameters.get("regionCode").toString();
+			if (regionCode.length() == 6) {
+				if (regionCode.endsWith("0000")) {
+					regionType = "province";
+					nextLevel = "city";
+				} else if (regionCode.endsWith("00")) {
+					regionType = "city";
+					nextLevel = "area";
+				} else {
+					regionType = "area";
+					nextLevel = "town";
+				}
+			} else if (regionCode.length() == 12) {
+				if (regionCode.endsWith("000")) {
+					regionType = "town";
+					nextLevel = "village";
+				}
+			}
+		}
+		parameters.put("regionType", regionType);
+		parameters.put("nextLevel", nextLevel);
+	}
+
+	public static void  getElementByType(Map<String, Object> parameters){
+		if (parameters.containsKey("type")) {
+			switch (parameters.get("type").toString()) {
+			case "year":
+				parameters.put("format", "yyyy");
+				parameters.put("typeFormat", "%Y-%m");
+				parameters.put("timeLength", 12);
+				parameters.put("field", Calendar.YEAR);
+				break;
+			case "month":
+				parameters.put("format", "yyyy-MM");
+				parameters.put("typeFormat", "%Y-%m-%d");
+				parameters.put("timeLength", 28);
+				parameters.put("field", Calendar.MONTH);
+				break;
+			case "day":
+				parameters.put("format", "yyyy-MM-dd");
+				parameters.put("typeFormat", "%Y-%m-%d %H");
+				parameters.put("timeLength", 24);
+				parameters.put("field", Calendar.DATE);
+				break;
+			case "hour":
+				parameters.put("format", "yyyy-MM-dd HH");
+				parameters.put("typeFormat", "%Y-%m-%d %H:%i");
+				parameters.put("timeLength", 60);
+				parameters.put("field", Calendar.HOUR);
+				break;
+			}
+		}
+	}
+}
diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index ba2a89e..286fa38 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -10,6 +10,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 import com.alibaba.fastjson.*;
+import com.moral.common.util.ParameterUtils;
 import com.moral.common.util.StringUtils;
 import com.moral.entity.*;
 import com.moral.entity.alarm.AlarmConfig;
@@ -528,17 +529,10 @@
 	@GetMapping("report_avg_datas")
 	public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgData(HttpServletRequest request) throws Exception {
 		Map<String, Object> parameters = getParametersStartingWith(request, null);
-		int length = ((String)parameters.get("time")).split("-").length;
-		if (length == 2) {
-			parameters.put("type", "month");
-		} else if (length == 3){
-			parameters.put("type", "day");
-		}
+		ParameterUtils.getTimeType4Time(parameters);
 		parameters.put("monitorPointId", parameters.remove("monitorPoint"));
-		String sensorKey = parameters.remove("sensorKey").toString();
-		List<String> sensorKeys = new ArrayList<String>();
-		sensorKeys.add(sensorKey);
-		parameters.put("sensors", sensorKeys);
+		Object sensorKey = parameters.remove("sensorKey");
+		parameters.put("sensors", Arrays.asList(sensorKey));
 		List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
 		
 		for (Map<String, Object> map : list) {
@@ -652,12 +646,7 @@
 	})
 	public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgDataBySensorKey(HttpServletRequest request) throws Exception {
 		Map<String, Object> parameters = getParametersStartingWith(request, null);
-		int length = ((String)parameters.get("time")).split("-").length;
-		if (length == 2) {
-			parameters.put("type", "month");
-		} else if (length == 3){
-			parameters.put("type", "day");
-		}
+		ParameterUtils.getTimeType4Time(parameters);
 		parameters.put("monitorPointId", parameters.remove("monitorPoint"));
 		String[] sensorKeys = parameters.remove("sensorKey").toString().split(",");
 		parameters.put("sensors", Arrays.asList(sensorKeys));

--
Gitblit v1.8.0