ZhuDongming
2020-06-30 67a7a24b47d71dd843dd0b17c5cdf9f519e29d5d
src/main/java/com/moral/controller/ScreenController.java
@@ -9,35 +9,20 @@
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import org.xml.sax.InputSource;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -94,6 +79,29 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import org.xml.sax.InputSource;
import static com.moral.common.util.ResourceUtil.getValue;
import static com.moral.common.util.WebUtils.getParametersStartingWith;
@@ -594,6 +602,12 @@
        return sensorsMapList;
    }
    @GetMapping("/getSensorsAllMap")
    public List<Map<String, String>> getSensorsAllMap(String mac) {
        List<Map<String, String>> sensorsMapList = sensorService.getSensorsAllMap();
        return sensorsMapList;
    }
    @RequestMapping(value = "/get-monitorpoints", method = RequestMethod.GET)
    @ResponseBody
    public ResultBean getMonitorpointList(@RequestParam("orgId") String orgId, MapBounds mapBounds,
@@ -612,6 +626,15 @@
    @RequestMapping(value = "/get-devices", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation(value = "设备信息", notes = "设备信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "orgId",defaultValue = "5", value = "组织Id", required = true, paramType = "query", dataType = "Integer"),
            @ApiImplicitParam(name = "regionCode",defaultValue = "320583", value = "地区编码", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "Fe", defaultValue = "31.485018",value = "东北角纬度", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "Ge", defaultValue = "121.378395",value = "东北角经度", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "Ke", defaultValue = "31.296614",value = "西南角纬度", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "Le", defaultValue = "120.59651",value = "西南角经度", required = true, paramType = "query", dataType = "String")
    })
    public ResultBean getDevices(@RequestParam("orgId") Integer orgId, MapBounds mapBounds,
                                 @RequestParam("regionCode") String regionCode) {
        ResultBean<List<Device>> resultBean = new ResultBean();
@@ -838,123 +861,134 @@
        parameters.put("monitorPointId", parameters.remove("monitorPoint"));
        parameters.put("areaCode", parameters.remove("areaCode"));
        String[] sensorKeys = parameters.remove("sensorKey").toString().split(",");
        String type = parameters.get("type").toString();
        String s = sensorKeys[0];
        parameters.put("sensors", Arrays.asList(sensorKeys));
        parameters.put("sensors2", s);
        List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
        for (Map<String, Object> monitorMap : monitorList) {
            String time = monitorMap.get("time").toString();
            time = time.substring(time.length() - 2);
            monitorMap.put("time", Integer.valueOf(time));
        }
        Integer maxTime = 0;
        Integer max1 = 0;
        if (monitorList.size() != 0) {
            Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1);
            max1 = Integer.valueOf(monitorMap.get("time").toString());
        } else {
            max1 = 0;
        }
        String sensorKey1 = s;
        switch (s) {
            case "e1":
                sensorKey1 = "PM2_5";
                break;
            case "e2":
                sensorKey1 = "PM10";
                break;
            case "e10":
                sensorKey1 = "CO";
                break;
            case "e11":
                sensorKey1 = "SO2";
                break;
            case "e15":
                sensorKey1 = "O3";
                break;
            case "e16":
                sensorKey1 = "NO2";
                break;
            default:
                break;
        }
        parameters.put("sensors1", sensorKey1);
        List<Map<String, Object>> areaList = historyMinutelyService.getAreaAvgDataByAreaCode(parameters);
        if (areaList.isEmpty()) {
            Integer areaCode = Integer.valueOf(request.getParameter("areaCode"));
            areaCode = hangzhouAqiService.queryCityCode(areaCode);
            parameters.remove("areaCode");
            parameters.put("areaCode", String.valueOf(areaCode));
            areaList = historyMinutelyService.getAreaAvgDataByAreaCode(parameters);
        }
        for (Map<String, Object> areaMap : areaList) {
            String time = areaMap.get("time").toString();
            time = time.substring(time.length() - 2);
            areaMap.put("time", Integer.valueOf(time));
        }
        Integer max = 0;
        if (areaList.size() != 0) {
            Map<String, Object> areaMap = areaList.get(areaList.size() - 1);
            max = Integer.valueOf(areaMap.get("time").toString());
        } else {
            max = 0;
        }
        if (max1 >= max) {
            maxTime = max1;
        } else {
            maxTime = max;
        }
        ArrayList<Map<String, Object>> resultList = new ArrayList<>();
        for (int i = 0; i <= maxTime; i++) {
        List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
        List<Map<String, Object>> areaList = hangzhouAqiService.getAreaAvgDataByAreaCode(parameters);
        if (areaList.isEmpty() && monitorList.isEmpty()) {
            return new ResultBean<List<Map<String, Object>>>(resultList);
        } else if (areaList.isEmpty()) {
            resultList.addAll(monitorList);
            for (Map<String, Object> resultMap : resultList) {
                String time = resultMap.get("time").toString();
                time = time.substring(time.length() - 2);
                resultMap.put("time", Integer.valueOf(time));
                List<String> values = new ArrayList<>();
                values.add("");
                values.add(resultMap.remove(s).toString());
                resultMap.put("values", values);
            }
            return new ResultBean<List<Map<String, Object>>>(resultList);
        } else if (monitorList.isEmpty()) {
            resultList.addAll(areaList);
            for (Map<String, Object> resultMap : resultList) {
                String time = resultMap.get("time").toString();
                time = time.substring(time.length() - 2);
                resultMap.put("time", Integer.valueOf(time));
                List<String> values = new ArrayList<>();
                values.add(resultMap.remove(s).toString());
                values.add("");
                resultMap.put("values", values);
            }
            return new ResultBean<List<Map<String, Object>>>(resultList);
        }
        for (Map<String, Object> map : areaList) {
            String time = map.get("time").toString();
            time = time.substring(time.length() - 2);
            map.put("time", Integer.valueOf(time));
        }
        for (Map<String, Object> m : monitorList) {
            String time = m.get("time").toString();
            time = time.substring(time.length() - 2);
            m.put("time", Integer.valueOf(time));
        }
        Integer maxTime;
        Map<String, Object> areaMap = areaList.get(areaList.size() - 1);
        Integer areaMax = Integer.valueOf(areaMap.get("time").toString());
        Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1);
        Integer monitorMax = Integer.valueOf(monitorMap.get("time").toString());
        if (type.equals("day")) {
            if (areaMax >= monitorMax) {
                maxTime = areaMax + 1;
            } else {
                maxTime = monitorMax + 1;
            }
        } else {
            if (areaMax >= monitorMax) {
                maxTime = areaMax;
            } else {
                maxTime = monitorMax;
            }
        }
        for (int i = 0; i < maxTime; i++) {
            resultList.add(null);
        }
        for (Map<String, Object> areaMap : areaList) {
            Integer time = Integer.valueOf(areaMap.get("time").toString());
            resultList.set(time, areaMap);
        for (Map<String, Object> map : areaList) {
            Integer time = Integer.valueOf(map.get("time").toString());
            if (type.equals("day")) {
                resultList.set(time, map);
            } else {
                resultList.set(time - 1, map);
            }
        }
        for (Map<String, Object> resultMap : resultList) {
            for (Map<String, Object> monitorMap : monitorList) {
                ArrayList<String> values = new ArrayList<>();
                String monitorTime = monitorMap.get("time").toString();
                if (resultMap != null) {
                    String resultTime = resultMap.get("time").toString();
                    if (resultTime.equals(monitorTime)) {
                        String value = resultMap.remove(s).toString();
                        String value1 = monitorMap.remove(s).toString();
                        values.add(value);
                        values.add(value1);
                        resultMap.put("values", values);
                    }
        for (int i = 0; i < resultList.size(); i++) {
            if (resultList.get(i) == null) {
                Map<String, Object> hashMap = new HashMap<>();
                if (type.equals("day")) {
                    hashMap.put("time", i);
                } else {
                    String value1 = monitorMap.get(s).toString();
                    values.add(null);
                    values.add(value1);
                    hashMap.put("time", i + 1);
                }
                hashMap.put(s, "");
                resultList.set(i, hashMap);
            }
        }
        resultList.removeAll(Collections.singleton(null));
        for (Map<String, Object> map1 : monitorList) {
            ArrayList<String> values = new ArrayList<>();
            Integer time = Integer.valueOf(map1.get("time").toString());
            Map<String, Object> map;
            if (type.equals("day")) {
                map = resultList.get(time);
            } else {
                map = resultList.get(time - 1);
            }
            values.add(map.remove(s).toString());
            values.add(map1.get(s).toString());
            map.put("values", values);
        }
        for (Map<String, Object> resultMap : resultList) {
            if (resultMap.containsKey(s)) {
        for (Map<String, Object> map : resultList) {
            if (map.containsKey(s)) {
                ArrayList<String> values = new ArrayList<>();
                values.add(resultMap.remove(s).toString());
                values.add(null);
                resultMap.put("values", values);
                values.add(map.remove(s).toString());
                values.add("");
                map.put("values", values);
            }
        }
        Iterator<Map<String, Object>> it = resultList.iterator();
        while (it.hasNext()) {
            Map<String, Object> next = it.next();
            ArrayList<String> values = (ArrayList<String>) next.get("values");
            if (values.get(0).equals("") && values.get(1).equals("")) {
                it.remove();
            }
        }
        return new ResultBean<List<Map<String, Object>>>(resultList);
    }
    @GetMapping("getmpoint-byid")
@@ -1513,6 +1547,54 @@
        }
    }
    @GetMapping("/trajectoryDataShow")
    @ApiOperation(value = "轨迹及数据", notes = "轨迹及数据")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "mac", value = "设备mac(格式:p5dnd7a0392081)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "startTime", value = "开始时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "endTime", value = "结束时间(格式:2020-03-19-17)", required = true, paramType = "query", dataType = "String")
    })
    public ModelAndView trajectoryDataShow(ModelAndView model, HttpServletRequest request) throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String st = parameters.get("startTime").toString();
        String startYearAndDay = st.substring(0, st.lastIndexOf("-"));
        String startHour = st.substring(st.lastIndexOf("-") + 1);
        String startTime = startYearAndDay + " " + startHour + ":00:00";
        String et = parameters.get("endTime").toString();
        String endHour = et.substring(et.lastIndexOf("-") + 1);
        int endHourValue = Integer.valueOf(endHour);
        int startHourValue = Integer.valueOf(startHour);
        if (endHourValue <= startHourValue) {
            endHourValue = startHourValue + 1;
        }
        String endTime = startYearAndDay + " " + endHourValue + ":00:00";
        parameters.put("startTime", startTime);
        parameters.put("endTime", endTime);
        String mac = parameters.get("mac").toString();
        if (mac != null && mac.length() != 0) {
            List<List<Map<String, Object>>> sensorData = historyService.getCarSensorData(parameters);
            Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters);
            List<Map<String, Object>> sensorList = new ArrayList<>();
            if (sensorData.size() == 3) {
                sensorList = sensorData.get(0);
            }
            JSONObject params = new JSONObject();
            params.put("sensorInfo", sensorList);
            params.put("sensorsMap", sensorsMap);
            String paramsJson = params.toJSONString();
            model.addObject("trajectoryParams", paramsJson);
            model.setViewName("trajectorydatashow");
            return model;
        } else {
            StringBuilder msg = new StringBuilder();
            msg.append(" param[0] mac:");
            msg.append(mac);
            log.warn(msg);
            model.setViewName("403");
            return model;
        }
    }
    @GetMapping("device-excel")
    @ApiOperation(value = "获取设备数据报表", notes = "获取设备数据报表")
    @ApiImplicitParams(value = {
@@ -1540,4 +1622,248 @@
        return new ResultBean<List<Map<String, Object>>>(list);
    }
    @RequestMapping(value = "/newMap-page", method = RequestMethod.GET)
    public ModelAndView newMap(ModelAndView model, @RequestParam("areaCode") long code,
                            @RequestParam("accountId") int accountId) {
        Account account = accountService.getAccountById(accountId);
        String regionName = areaService.queryFullNameByCode(code);
        if (account != null && regionName != null) {
            Object sensors = sensorService.queryAll();
            JSONObject params = new JSONObject();
            params.put("regionCode", code);
            params.put("regionName", regionName);
            params.put("accountId", accountId);
            params.put("orgId", account.getOrganizationId());
            params.put("sensors", sensors);
            String paramsJson = params.toJSONString();
            model.addObject("mapParams", paramsJson);
            model.setViewName("newmap");
            return model;
        } else {
            StringBuilder msg = new StringBuilder();
            msg.append(" param[0] areaCode:");
            msg.append(code);
            msg.append(" param[0] accountId:");
            msg.append(accountId);
            log.warn(msg);
            model.setViewName("403");
            return model;
        }
    }
    @GetMapping("/uavDroppoint")
    @ApiOperation(value = "无人机落点应用", notes = "无人机落点应用")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "mac", value = "设备mac(格式:p5dnd7a0392068)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "sensorKey", value = "传感器key", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "startTime", value = "开始时间(格式:2019-07-17-17)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "endTime", value = "结束时间(格式:2019-07-17-18)", required = true, paramType = "query", dataType = "String")
    })
    public ModelAndView uavDroppoint(ModelAndView model, HttpServletRequest request) throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String st = parameters.get("startTime").toString();
        String startYearAndDay = st.substring(0, st.lastIndexOf("-"));
        String startHour = st.substring(st.lastIndexOf("-") + 1);
        String startTime = startYearAndDay + " " + startHour + ":00:00";
        String et = parameters.get("endTime").toString();
        String endHour = et.substring(et.lastIndexOf("-") + 1);
        int endHourValue = Integer.valueOf(endHour);
        int startHourValue = Integer.valueOf(startHour);
        if (endHourValue <= startHourValue) {
            endHourValue = startHourValue + 1;
        }
        String endTime = startYearAndDay + " " + endHourValue + ":00:00";
        parameters.put("startTime", startTime);
        parameters.put("endTime", endTime);
        String mac = parameters.get("mac").toString();
        if (mac != null && mac.length() != 0) {
            List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters);
            Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters);
            JSONObject params = new JSONObject();
            params.put("sensorInfo", sensorData);
            params.put("sensorsMap", sensorsMap);
            params.put("sensorKey",parameters.get("sensorKey"));
            params.put("unit",parameters.get("unit"));
            params.put("description",parameters.get("description"));
            String paramsJson = params.toJSONString();
            model.addObject("uavDroppointParams", paramsJson);
            model.setViewName("uavdroppoint");
            return model;
        } else {
            StringBuilder msg = new StringBuilder();
            msg.append(" param[0] mac:");
            msg.append(mac);
            log.warn(msg);
            model.setViewName("403");
            return model;
        }
    }
    @GetMapping("/uavChannel")
    @ApiOperation(value = "无人机污染源通道应用", notes = "无人机污染源通道应用")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "mac", value = "设备mac(格式:p5dnd7a0392068)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "sensorKey", value = "传感器key", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "startTime", value = "开始时间(格式:2019-07-17-17)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "endTime", value = "结束时间(格式:2019-07-17-18)", required = true, paramType = "query", dataType = "String")
    })
    public ModelAndView uavChannel(ModelAndView model, HttpServletRequest request) throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String st = parameters.get("startTime").toString();
        String startYearAndDay = st.substring(0, st.lastIndexOf("-"));
        String startHour = st.substring(st.lastIndexOf("-") + 1);
        String startTime = startYearAndDay + " " + startHour + ":00:00";
        String et = parameters.get("endTime").toString();
        String endHour = et.substring(et.lastIndexOf("-") + 1);
        int endHourValue = Integer.valueOf(endHour);
        int startHourValue = Integer.valueOf(startHour);
        if (endHourValue <= startHourValue) {
            endHourValue = startHourValue + 1;
        }
        String endTime = startYearAndDay + " " + endHourValue + ":00:00";
        parameters.put("startTime", startTime);
        parameters.put("endTime", endTime);
        String mac = parameters.get("mac").toString();
        if (mac != null && mac.length() != 0) {
            List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters);
            Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters);
            JSONObject params = new JSONObject();
            params.put("sensorInfo", sensorData);
            params.put("sensorsMap", sensorsMap);
            params.put("sensorKey",parameters.get("sensorKey"));
            params.put("unit",parameters.get("unit"));
            params.put("description",parameters.get("description"));
            String paramsJson = params.toJSONString();
            model.addObject("uavChannelParams", paramsJson);
            model.setViewName("uavchannel");
            return model;
        } else {
            StringBuilder msg = new StringBuilder();
            msg.append(" param[0] mac:");
            msg.append(mac);
            log.warn(msg);
            model.setViewName("403");
            return model;
        }
    }
    @GetMapping("/uavTracing")
    @ApiOperation(value = "无人机溯源应用", notes = "无人机溯源应用")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "mac", value = "设备mac(格式:p5dnd7a0392068)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "sensorKey", value = "传感器key", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "startTime", value = "开始时间(格式:2019-07-17-17)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "endTime", value = "结束时间(格式:2019-07-17-18)", required = true, paramType = "query", dataType = "String")
    })
    public ModelAndView uavTracing(ModelAndView model, HttpServletRequest request) throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String st = parameters.get("startTime").toString();
        String startYearAndDay = st.substring(0, st.lastIndexOf("-"));
        String startHour = st.substring(st.lastIndexOf("-") + 1);
        String startTime = startYearAndDay + " " + startHour + ":00:00";
        String et = parameters.get("endTime").toString();
        String endHour = et.substring(et.lastIndexOf("-") + 1);
        int endHourValue = Integer.parseInt(endHour);
        int startHourValue = Integer.parseInt(startHour);
        if (endHourValue <= startHourValue) {
            endHourValue = startHourValue + 1;
        }
        String endTime = startYearAndDay + " " + endHourValue + ":00:00";
        parameters.put("startTime", startTime);
        parameters.put("endTime", endTime);
        String mac = parameters.get("mac").toString();
        if (mac != null && mac.length() != 0) {
            List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters);
            Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters);
            JSONObject params = new JSONObject();
            params.put("sensorInfo", sensorData);
            params.put("sensorsMap", sensorsMap);
            params.put("sensorKey",parameters.get("sensorKey"));
            params.put("unit",parameters.get("unit"));
            params.put("description",parameters.get("description"));
            String paramsJson = params.toJSONString();
            model.addObject("uavTracingParams", paramsJson);
            model.setViewName("uavtracing");
            return model;
        } else {
            StringBuilder msg = new StringBuilder();
            msg.append(" param[0] mac:");
            msg.append(mac);
            log.warn(msg);
            model.setViewName("403");
            return model;
        }
    }
    @GetMapping("/purify")
    @ApiOperation(value = "获取厂区净化率", notes = "获取厂区净化率")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "monitorPointId", value = "公司Id", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "sensorKey", value = "因子", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time", value = "时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String")})
    public ModelAndView PurificationRate(HttpServletRequest request,ModelAndView model){
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String monitPointIdS= (String) parameters.get("monitorPointId");
        String sensor= (String) parameters.get("sensorKey");
        String time= (String) parameters.get("time");
        String YearAndDay = time.substring(0, time.lastIndexOf("-"));
        String Hour = time.substring(time.lastIndexOf("-") + 1);
        String Time = YearAndDay + " " + Hour + ":00:00";
        int monitPointId=Integer.parseInt(monitPointIdS);
        JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,1,sensor);
        String paramsJson = params.toJSONString();
        model.addObject("mapParams", paramsJson);
        model.setViewName("purityMap");
        return model;
    }
    @GetMapping("/collection")
    @ApiOperation(value = "获取厂区收集率", notes = "获取厂区收集率")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "monitorPointId", value = "公司Id", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time", value = "时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String")})
    public ModelAndView collectionRate(HttpServletRequest request,ModelAndView model){
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String monitPointIdS= (String) parameters.get("monitorPointId");
        String sensor= "";
        String time= (String) parameters.get("time");
        String YearAndDay = time.substring(0, time.lastIndexOf("-"));
        String Hour = time.substring(time.lastIndexOf("-") + 1);
        String Time = YearAndDay + " " + Hour + ":00:00";
        int monitPointId=Integer.parseInt(monitPointIdS);
        //获取公司信息
        JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,2,sensor);
        model.addObject("params",params);
        model.setViewName("pressureMap");
        return model;
    }
    @GetMapping("/unorganizedEmissions")
    @ApiOperation(value = "无组织排放", notes = "无组织排放")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "monitorPointId", value = "公司Id", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "sensorKey", value = "因子", required = true, paramType = "query", dataType = "String"),
            // @ApiImplicitParam(name = "sensorKey", value = "传感器key,如有多个用逗号分隔", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time", value = "时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String")})
    public ModelAndView unorganizedEmissions(HttpServletRequest request,ModelAndView model){
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        String monitPointIdS= (String) parameters.get("monitorPointId");
        String sensor= (String) parameters.get("sensorKey");
        String time= (String) parameters.get("time");
        String YearAndDay = time.substring(0, time.lastIndexOf("-"));
        String Hour = time.substring(time.lastIndexOf("-") + 1);
        String Time = YearAndDay + " " + Hour + ":00:00";
        int monitPointId=Integer.parseInt(monitPointIdS);
        //获取公司信息
        JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,3,sensor);
        model.addObject("params",params);
        model.setViewName("unorganizedMap");
        return model;
    }
}