From 9eee07eb60fac7b8d13b4521fc9ef7019d4a60f5 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Wed, 03 Jul 2019 09:02:37 +0800 Subject: [PATCH] 清除打印 --- src/main/java/com/moral/controller/ScreenController.java | 199 ++++++++++++++++++++++++++++--------------------- 1 files changed, 113 insertions(+), 86 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 2d75e1e..e8cdc46 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -1,8 +1,54 @@ package com.moral.controller; +import static com.moral.common.util.ResourceUtil.getValue; +import static com.moral.common.util.WebUtils.getParametersStartingWith; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +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.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; import com.alibaba.fastjson.JSONObject; +import com.googlecode.aviator.AviatorEvaluator; +import com.googlecode.aviator.Expression; import com.moral.common.bean.Constants; import com.moral.common.bean.JsonData; import com.moral.common.bean.PageResult; @@ -44,51 +90,11 @@ import com.moral.service.SensorService; import com.moral.service.SensorUnitService; import com.moral.service.WeatherService; + import io.swagger.annotations.Api; 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.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 javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; - -import static com.moral.common.util.ResourceUtil.getValue; -import static com.moral.common.util.WebUtils.getParametersStartingWith; /** * The Class ScreenController.������������ @@ -946,19 +952,17 @@ return new ResultBean<Map<String, Object>>(map); }*/ - /*@GetMapping("getSensorByMonitorPointId") + @GetMapping("getSensorByMonitorPointId") @ApiOperation(value = "������������", notes = "������������") @ApiImplicitParams(value = { @ApiImplicitParam(name = "monitor_point_id", value = "������������id", required = true, paramType = "query", dataType = "String") }) - public ResultBean<Map<String, Object>> getSensorByMonitorPointId(HttpServletRequest request) throws Exception { + public ResultBean<List<Map<String, Object>>> getSensorByMonitorPointId(HttpServletRequest request) throws Exception { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); String monitor_point_id = (String) parameters.get("monitor_point_id"); - System.out.println("ScreenController-----getSensorByMonitorPointId-----monitor_point_id:"+monitor_point_id); - Map<String, Object> map = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); - System.out.println("ScreenController-----getSensorByMonitorPointId-----map:"+map); - return new ResultBean<Map<String, Object>>(map); - }*/ + List<Map<String, Object>> map = sensorUnitService.getSensorsByMonitPointId2(monitor_point_id); + return new ResultBean<List<Map<String, Object>>>(map); + } @GetMapping("AIForecast") @ApiOperation(value = "AI������", notes = "AI������") @@ -970,46 +974,69 @@ }) public ResultBean<List<Map<String, Object>>> AIForecast (HttpServletRequest request) throws Exception { Map<String, Object> parameters = getParametersStartingWith(request, null); - ParameterUtils.getTimeType4Time(parameters); - String monitor_point_id = (String) parameters.get("monitorPoint"); - parameters.put("monitorPointId", parameters.remove("monitorPoint")); - Object sensorKey = parameters.remove("sensorKey"); - parameters.put("sensors", Arrays.asList(sensorKey)); - List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); - System.out.println("ScreenController-----AIForecast-----list:"+list); - - //������������������ - Map<String, Map<String, Object>> sensorMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); - - if(sensorMap!=null && !sensorMap.isEmpty()) { - for (Map<String, Object> map : list) { - String time = map.get("time").toString(); - time = time.substring(time.length() - 2); - map.put("time", Integer.valueOf(time)); - map.put("value", map.remove(sensorKey)); - String sensor = map.get("sensorKey").toString(); - if(sensorMap.get(sensor)!=null) { - map.put("unit", sensorMap.get("unit")); - map.put("name", sensorMap.get("name")); - map.put("rules", sensorMap.get("rules")); - }else { - map.put("unit", null); - map.put("name", null); - map.put("rules", null); - } - } + //System.out.println(parameters); + String intoTime = parameters.get("time").toString(); + String[] timeArray = intoTime.split("-"); + //System.out.println(timeArray); + Integer year = Integer.parseInt(timeArray[0]); + Integer mon = Integer.parseInt(timeArray[1]); + if(mon>1) { + mon = mon-1; }else { - for (Map<String, Object> map : list) { - String time = map.get("time").toString(); - time = time.substring(time.length() - 2); - map.put("time", Integer.valueOf(time)); - map.put("value", map.remove(sensorKey)); - map.put("unit", null); - map.put("name", null); - map.put("rules", null); - } + mon = 12; + year = year-1; } - //return null; + String alterTime = year.toString()+"-"+mon.toString()+"-"+timeArray[2]; + //System.out.println(alterTime); + parameters.put("time", alterTime); + ParameterUtils.getTimeType4Time(parameters); + String monitor_point_id = (String) parameters.get("monitorPoint"); + parameters.put("monitorPointId", parameters.remove("monitorPoint")); + String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); + parameters.put("sensors", Arrays.asList(sensorKeys)); + // monitorPointService.isCompensateCalculation(parameters); + List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); + + //������������������ + Map<String, Map<String, Object>> sensorUnitMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); + + for (Map<String, Object> map : list) { + String time = map.get("time").toString(); + time = time.substring(time.length() - 2); + map.put("time", Integer.valueOf(time)); + List<Number> values = new ArrayList<Number>(); + List<String> units = new ArrayList<String>(); + for (String string : sensorKeys) { + if(sensorUnitMap!=null && !sensorUnitMap.isEmpty()) { + if(sensorUnitMap.get(string)!=null) { + units.add(sensorUnitMap.get(string).get("name").toString()); + String rules = sensorUnitMap.get(string).get("rules").toString(); + rules = rules.replace("{0}", "a"); + rules = rules.replace("d", ""); + Expression expression = AviatorEvaluator.compile(rules); + Double value; + Map<String, Object> ev = new HashMap<>(); + ev.put("a", map.get(string)); + value = (Double) expression.execute(ev); + //������������������ + DecimalFormat df = new DecimalFormat("#.00"); + value = Double.parseDouble(df.format(value)); + values.add(value); + }else { + Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string); + units.add(sensorMap.get("unit").toString()); + values.add((Number) map.remove(string)); + } + }else { + Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string); + units.add(sensorMap.get("unit").toString()); + values.add((Number) map.remove(string)); + } + //values.add((Number) map.remove(string)); + } + map.put("values", values); + map.put("units", units); + } return new ResultBean<List<Map<String, Object>>>(list); } -- Gitblit v1.8.0