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