于紫祥_1901
2020-11-10 eb9668cfd9e05e06d6571eac389d7a4968354c14
src/main/java/com/moral/controller/ScreenController.java
@@ -2,6 +2,7 @@
import java.io.*;
import java.lang.reflect.Array;
import java.net.URLEncoder;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
@@ -40,6 +41,7 @@
import com.rabbitmq.client.*;
import com.rabbitmq.client.Channel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -47,6 +49,7 @@
import io.swagger.models.auth.In;
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;
@@ -71,6 +74,7 @@
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;
import static java.util.Calendar.*;
@@ -166,6 +170,9 @@
    @Resource
    private ScreenVersionService screenVersionService;
    @Resource
    private DeviceAdjustValueTimingService deviceAdjustValueTimingService;
    /**
     * Screen login. 大屏登录
@@ -2033,7 +2040,7 @@
            mon = "" + month;
        }
        String table = "history_minutely_" + year + mon;
        List list = deviceService.byMonitorIdGetDeviceAndWind(monitorPointId,table);
        List list = deviceService.byMonitorIdGetDeviceAndWind(monitorPointId, table);
        return list;
    }
@@ -2054,7 +2061,7 @@
            mon = "" + month;
        }
        String table = "history_minutely_" + year + mon;
        List list = deviceService.byMonitorIdGetDeviceAndWindSpecial(monitorPointId,table);
        List list = deviceService.byMonitorIdGetDeviceAndWindSpecial(monitorPointId, table);
        return list;
    }
@@ -2178,7 +2185,7 @@
                    for (Map<String, Object> dataMap : dataList) {
                        JSONObject dataJson = JSONObject.parseObject(dataMap.get("json").toString());
                        if (dataMap.get("time").toString().equals(day + " 00:00:00.0")) {
                            oneSensorMap.put(dataMap.get("time").toString().substring(0, 10), dataJson.getJSONArray(key).get(2));
                            oneSensorMap.put(dataMap.get("time").toString().substring(0, 10), dataJson.getJSONArray(key).get(0));
                            break;
                        } else {
                            continue;
@@ -2194,7 +2201,7 @@
                    for (Map sameDayHourlyMap : sameDayHourlyList) {
                        List<Double> arr = new ArrayList<>();
                        JSONObject hourlyJson = JSONObject.parseObject(sameDayHourlyMap.get("json").toString());
                        arr.add(Double.parseDouble(hourlyJson.getJSONArray(key).get(2).toString()));
                        arr.add(Double.parseDouble(hourlyJson.getJSONArray(key).get(0).toString()));
                        Double sum = 0.0;
                        for (int i = 0; i < arr.size(); i++) {
                            sum += arr.get(i);
@@ -2230,8 +2237,10 @@
                    for (Map<String, Object> hourlyMap : hourlyList) {
                        JSONObject dataJson = JSONObject.parseObject(hourlyMap.get("json").toString());
                        if (hourlyMap.get("time").toString().equals(hour + ".0")) {
                            oneSensorMap.put(hourlyMap.get("time").toString().substring(0, 19), dataJson.getJSONArray(key).get(2));
                            break;
                            if (dataJson.getJSONArray(key) != null) {
                                oneSensorMap.put(hourlyMap.get("time").toString().substring(0, 19), dataJson.getJSONArray(key).get(0));
                                break;
                            }
                        } else {
                            continue;
                        }
@@ -2550,4 +2559,99 @@
        List<Map<String, Object>> list = historyMinutelyService.getAllDeviceDataToExcel(parameters);
        return new ResultBean<List<Map<String, Object>>>(list);
    }
}
    /*@PostMapping("insertAdjustValue")
    @ApiOperation(value = "所有设备多因子数据报表", notes = "所有设备多因子数据报表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "设备id", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "time", value = "时间(格式08:30:00)", required = true, paramType = "query", dataType = "String"),
            @ApiImplicitParam(name = "dataArray", value = "公式", required = false, paramType = "query", dataType = "String")})
    public void insertAdjustValue(HttpServletRequest request) throws Exception {
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
        int device_id = Integer.parseInt(parameters.get("id").toString());
        String hour_minute_second = parameters.get("time").toString();
        String[] arr = hour_minute_second.split(":");
        int seconds = Integer.parseInt(arr[0])*3600+Integer.parseInt(arr[1])*60+Integer.parseInt(arr[2]);
        String value = parameters.get("dataArray").toString();
        deviceAdjustValueTimingService.insertData(device_id,seconds,value);;
    }*/
    @PostMapping("insertAdjustValue")
    public  int insertAdjustValue(@RequestBody HashMap map){
        try{
            int device_id = Integer.parseInt(map.get("id").toString());
            String time = map.get("time").toString();
            String[] arr = time.split(":");
            int seconds = Integer.parseInt(arr[0])*3600+Integer.parseInt(arr[1])*60+Integer.parseInt(arr[2]);
            //String t = URLEncoder.encode(参数,"UTF-8")
            List list = (List) map.get("dataArray");
            String val="";
            for (int i = 0; i <list.size() ; i++) {
                if (i==0){
                    val=val+list.get(i);
                }else {
                    val=val+","+list.get(i);
                }
            }
            String value = "{"+val+"}";
            deviceAdjustValueTimingService.insertData(device_id,seconds,value);
            return 1;
        }catch (Exception e){
            log.warn(e);
        }
        return 0;
    }
    @RequestMapping("/biaozhun")
    @ResponseBody
    public List<Device> queryDevice(String macOrName){
        List<Device> deviceList = new ArrayList<>();
        if (!macOrName.equals("")){
             deviceList= deviceService.getDevice(macOrName);
        }
        return deviceList;
    }
    @RequestMapping("/getBiaoZhun")
    @ResponseBody
    public List<DeviceAdjustValueTiming> getBiaoZhun(String id){
        List<DeviceAdjustValueTiming> dataByDeviceid = deviceAdjustValueTimingService.getDataByDeviceid(Integer.parseInt(id));
        for (DeviceAdjustValueTiming deviceAdjustValueTiming : dataByDeviceid) {
            int seconds = Integer.parseInt(deviceAdjustValueTiming.getSeconds());
            String hour = String.valueOf(seconds/3600);
            int millAndSeconds = seconds%3600;
            String mill = String.valueOf(millAndSeconds/60);
            String second = String.valueOf(millAndSeconds%60);
            if (hour.length()<2){
                hour="0"+hour;
            }
            if (mill.length()<2){
                mill="0"+mill;
            }
            if (second.length()<2){
                second="0"+second;
            }
            String time = hour+":"+mill+":"+second;
            Map<String, String> value = deviceAdjustValueTiming.getValue();
            Collection<String> values = value.values();
            deviceAdjustValueTiming.setSeconds(time);
        }
        return dataByDeviceid;
    }
    @RequestMapping("/getSensor")
    @ResponseBody
    public  List<Map<String, Object>> getSensor(String id){
        List<Map<String, Object>> allSensors = sensorService.getSensorByDeviceId(id);
        return allSensors;
    }
    @RequestMapping("/deleteBiaoZhun")
    @ResponseBody
    public int deleteBiaoZhun(String id){
        int i= deviceAdjustValueTimingService.delete(id);
        return i;
    }
}