于紫祥_1901
2020-08-13 ace06761403ef980733e810e931d49f47f12edb8
src/main/java/com/moral/controller/ScreenController.java
@@ -1,9 +1,7 @@
package com.moral.controller;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.*;
import java.lang.reflect.Array;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
@@ -17,6 +15,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.Expression;
@@ -29,15 +28,7 @@
import com.moral.common.util.ValidateUtil;
import com.moral.common.util.WebUtils;
import com.moral.common.xml.Version;
import com.moral.entity.Account;
import com.moral.entity.AreaNames;
import com.moral.entity.Device;
import com.moral.entity.DeviceVersion;
import com.moral.entity.MapBounds;
import com.moral.entity.MonitorPoint;
import com.moral.entity.Organization;
import com.moral.entity.Point;
import com.moral.entity.Region;
import com.moral.entity.*;
import com.moral.entity.alarm.AlarmConfig;
import com.moral.entity.alarm.AlarmConfigValue;
import com.moral.entity.alarm.AlarmSensorLevel;
@@ -65,12 +56,14 @@
import com.moral.service.WeatherService;
import com.moral.util.*;
import com.rabbitmq.client.*;
import com.rabbitmq.client.Channel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.runtime.regexp.joni.Regex;
import net.sf.json.JSONString;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.net.ftp.FTPClient;
@@ -98,6 +91,7 @@
import static com.moral.common.util.ResourceUtil.getValue;
import static com.moral.common.util.WebUtils.getParametersStartingWith;
import static java.util.Calendar.*;
/**
 * The Class ScreenController.大屏接口
@@ -712,8 +706,8 @@
            String time = map.get("time").toString();
            time = time.substring(time.length() - 2);
            map.put("time", Integer.valueOf(time));
            if (parameters.get("type").equals("day")) {
                map.put("time", Integer.valueOf(time) + 1);
            if(parameters.get("type").equals("day")){
                map.put("time", Integer.valueOf(time)+1);
            }
            map.put("value", map.remove(sensorKey));
        }
@@ -1916,8 +1910,8 @@
            if (minAngle > (Double) longAndLatiList.get(j).get("angle")) {
                minAngle = (Double) longAndLatiList.get(j).get("angle");
                indexAngle = j;
            } else {
                indexAngle = indexAngle;
            }else {
                indexAngle=indexAngle;
            }
        }
        preAngleDeviceList.add(deviceList.get((Integer) longAndLatiList.get(indexAngle).get("h")));
@@ -1953,6 +1947,53 @@
        return params;
    }
    @GetMapping("/allDevice")
    @ResponseBody
    public Map<String,List> getAllDevice() {
        List<String> macList=deviceService.getAllMac();
        Map<String,List> latlngMap=new HashMap<String,List>();
        Map devMap=null;
        List list=new ArrayList();
        for (String mac : macList) {
            devMap=new HashMap();
            if (mac!=null){
                Device device=deviceService.byMacGetDevice(mac);
                List list1= LatLngTransformation.Convert_BD09_To_GCJ02(device.getLatitude(),device.getLongitude());
                devMap.put("lat",list1.get(1));
                devMap.put("lng",list1.get(0));
                devMap.put("monitorPointId",device.getMonitorPointId());
                //System.out.println(device);
                list.add(devMap);
            }else {
                continue;
            }
        }
        latlngMap.put("latlng",list);
        return latlngMap;
    }
    @GetMapping("/windAndDeviceData")
    @ResponseBody
    public List windAndDeviceData(String monitorPointId) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.MINUTE, (calendar.get(Calendar.MINUTE) - 2));
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String time = df.format(calendar.getTime())+":00";
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        String mon;
        if (month<10){
            mon="0"+month;
        }else {
            mon=""+month;
        }
        String table="history_minutely_"+year+mon;
        log.info(table);
        List list=deviceService.byMonitorIdGetDeviceAndWind(monitorPointId,time,table);
        return list;
    }
    @GetMapping("forecastO3")
    @ApiOperation(value = "预测和实际臭氧对比", notes = "预测和实际臭氧对比")
    @ApiImplicitParams(value = {
@@ -1993,7 +2034,7 @@
        String startTime = parameters.get("startTime").toString();
        String endTime = parameters.get("endTime").toString();
        //对时间进行操作的接口
        Calendar calendar = Calendar.getInstance();
        Calendar calendar = getInstance();
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        List<Map<String, Object>> list = new ArrayList();
        Map device = deviceService.getAllFieldByMac(parameters);