xufenglei
2018-04-03 9c59fffe9c14a0ff7463ae182692a1e4e7d5066c
报表优化
2 files modified
15 ■■■■ changed files
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java 11 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/HistoryMinutelyMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
@@ -273,19 +273,18 @@
        List<String> sensorKeys = new ArrayList<String>();
        Set<String> sensorsSet = new HashSet<String>();
        if (parameters.containsKey("sensorKeys")) {
        if (parameters.containsKey("sensors")) {
            List<String> sensors;
            try {
                sensors = JSON.parseObject((String)parameters.get("sensors"), new TypeReference<List<String>>() {});
                parameters.put("sensors", new HashSet<String>(sensors));
                sensors = JSON.parseObject((String)parameters.remove("sensors"), new TypeReference<List<String>>() {});
                for (String sensor : sensors) {
                    sensorKeys.add(sensor.split("-")[0]);
                }
            } catch (Exception e) {
                sensorKeys = (List<String>)parameters.get("sensorKeys");
                sensors = sensorKeys;
                sensors = (List<String>)parameters.remove("sensors");
                sensorKeys.addAll(sensors);
            }
            sensorsSet = new HashSet<String>(sensors);
            sensorsSet.addAll(sensors);
        } else {
            List<Sensor> sensors = sensorMapper.getSensorsByCriteria(parameters);
            for (Sensor sensor : sensors) {
src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -20,8 +20,8 @@
    
    <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map">
        SELECT
            DATE_FORMAT(time, #{typeFormat}) time,
            <foreach  collection="sensorKeys" separator="," item="sensorKey">
            DATE_FORMAT(time, #{typeFormat}) time
            <foreach  collection="sensorKeys" open="," separator="," item="sensorKey">
                AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
            </foreach>
        FROM