AI
lizijie
2019-06-13 6bff0b135589d238084b592cc9f4b90185426b2f
AI
5 files modified
96 ■■■■ changed files
src/main/java/com/moral/controller/ScreenController.java 79 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/mapper/SensorMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/SensorService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/SensorServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/SensorMapper.xml 6 ●●●●● patch | view | raw | blame | history
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);
    }
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);
}
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);
}
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;
    }
}
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>