xufenglei
2018-08-07 e66b0932eb782c6ec771ffaa9957e6d5d5361286
增加 年查询
1 files added
1 files modified
99 ■■■■ changed files
src/main/java/com/moral/common/util/ParameterUtils.java 78 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/ScreenController.java 21 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/common/util/ParameterUtils.java
New file
@@ -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;
            }
        }
    }
}
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));