From 6bff0b135589d238084b592cc9f4b90185426b2f Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 13 Jun 2019 16:39:20 +0800 Subject: [PATCH] AI --- src/main/java/com/moral/service/impl/SensorServiceImpl.java | 6 +++ src/main/resources/mapper/SensorMapper.xml | 6 +++ src/main/java/com/moral/service/SensorService.java | 3 + src/main/java/com/moral/mapper/SensorMapper.java | 2 + src/main/java/com/moral/controller/ScreenController.java | 79 +++++++++++++++++++++++++++++++-------- 5 files changed, 79 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 99a7cea..4b19fc3 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -970,17 +970,69 @@ }) public ResultBean<List<Map<String, Object>>> AIForecast (HttpServletRequest request) throws Exception { Map<String, Object> parameters = getParametersStartingWith(request, null); - ParameterUtils.getTimeType4Time(parameters); + 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); + parameters.put("monitorPointId", parameters.remove("monitorPoint")); + String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); + System.out.println("ScreenController-----AIForecast-----sensorKeys:"+sensorKeys.toString()); + parameters.put("sensors", Arrays.asList(sensorKeys)); + // monitorPointService.isCompensateCalculation(parameters); + List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); + System.out.println("ScreenController-----AIForecast-----list:"+list); + + //������������������ + Map<String, Map<String, Object>> sensorUnitMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); + + /*if(sensorUnitMap!=null && !sensorUnitMap.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)); + List<Number> values = new ArrayList<Number>(); + for (String string : sensorKeys) { + values.add((Number) map.remove(string)); + } + map.put("values", values); + } + }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)); + List<Number> values = new ArrayList<Number>(); + for (String string : sensorKeys) { + values.add((Number) map.remove(string)); + } + map.put("values", values); + } + }*/ + + 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()); + }else { + Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string); + units.add(sensorMap.get("unit").toString()); + } + }else { + Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string); + units.add(sensorMap.get("unit").toString()); + } + values.add((Number) map.remove(string)); + } + map.put("values", values); + map.put("units", units); + } - //������������������ - Map<String, Map<String, Object>> sensorMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); + /* if(sensorMap!=null && !sensorMap.isEmpty()) { for (Map<String, Object> map : list) { System.out.println("ScreenController-----AIForecast-----map:"+map); @@ -997,16 +1049,9 @@ map.put("unit", "mg/m��"); } } - }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", "mg/m��"); - } - } + }*/ //return null; + System.out.println("ScreenController-----AIForecast-----list:"+list); return new ResultBean<List<Map<String, Object>>>(list); } diff --git a/src/main/java/com/moral/mapper/SensorMapper.java b/src/main/java/com/moral/mapper/SensorMapper.java index be79476..ce38a83 100644 --- a/src/main/java/com/moral/mapper/SensorMapper.java +++ b/src/main/java/com/moral/mapper/SensorMapper.java @@ -19,5 +19,7 @@ List<Map<String, Object>> getSensorsByDeviceVersionId(Map<String, Object> parameters); List<Sensor> getSensorsByCriteria(Map<String, Object> parameters); + + Map<String,Object> getSensorBySensorKey(@Param("sensorKey")String sensorKey); } \ No newline at end of file diff --git a/src/main/java/com/moral/service/SensorService.java b/src/main/java/com/moral/service/SensorService.java index dd0f733..1eb869d 100644 --- a/src/main/java/com/moral/service/SensorService.java +++ b/src/main/java/com/moral/service/SensorService.java @@ -1,6 +1,7 @@ package com.moral.service; import java.util.List; +import java.util.Map; import com.moral.common.bean.PageBean; import com.moral.entity.Sensor; @@ -24,4 +25,6 @@ List<Sensor> queryByOrgId(Integer organizationId); public List<Sensor> getAllSensors(); + + Map<String, Object> getSensorBySensorKey(String SensorKey); } diff --git a/src/main/java/com/moral/service/impl/SensorServiceImpl.java b/src/main/java/com/moral/service/impl/SensorServiceImpl.java index c088849..fc9b469 100644 --- a/src/main/java/com/moral/service/impl/SensorServiceImpl.java +++ b/src/main/java/com/moral/service/impl/SensorServiceImpl.java @@ -11,6 +11,7 @@ import javax.annotation.Resource; import java.util.Arrays; import java.util.List; +import java.util.Map; @Service public class SensorServiceImpl implements SensorService{ @@ -83,4 +84,9 @@ public List<Sensor> getAllSensors() { return sensorMapper.selectAll(); } + @Override + public Map<String, Object> getSensorBySensorKey(String sensorKey) { + Map<String, Object> map = sensorMapper.getSensorBySensorKey(sensorKey); + return map; + } } diff --git a/src/main/resources/mapper/SensorMapper.xml b/src/main/resources/mapper/SensorMapper.xml index 054e376..ecfc2a0 100644 --- a/src/main/resources/mapper/SensorMapper.xml +++ b/src/main/resources/mapper/SensorMapper.xml @@ -122,4 +122,10 @@ ) order by sen.id asc </select> + + <select id="getSensorBySensorKey" resultType="java.util.Map"> + SELECT * + FROM sensor + WHERE sensor_key = #{sensor_key} + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0