xufenglei
2018-05-07 106dbe94a4bcfc90fc646b0a1e017e23ad2b058b
src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -7,7 +7,9 @@
   </resultMap>
   <select id="getSersionAvgByDevice" resultType="java.util.Map">
      SELECT
         ${sensorKeyColumn}
         <foreach  collection="sensorKeys" separator="," item="sensorKey">
            AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
         </foreach>
      FROM
         history_minutely
      WHERE
@@ -18,8 +20,10 @@
   
   <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map">
      SELECT
         DATE_FORMAT(time, #{typeFormat}) time,
         ${sensorKeyColumn}
         DATE_FORMAT(time, #{typeFormat}) time
         <foreach  collection="sensorKeys" open="," separator="," item="sensorKey">
            AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
         </foreach>
      FROM
         history_minutely h
      WHERE
@@ -30,10 +34,26 @@
      </if>
      <if test="mac == null">
      AND   h.mac IN
         <foreach  collection="macs" open="(" separator="," close=")" item="listItem">
            #{listItem}
         </foreach>
         (SELECT
            d.mac
         FROM
            device d,
            monitor_point mp
         WHERE
            d.monitor_point_id = mp.id
            <if test="provinceCode != null">
            AND mp.province_code = #{provinceCode}
            </if>
            <if test="cityCode != null">
            AND mp.city_code = #{cityCode}
            </if>
            <if test="areaCode != null">
            AND mp.area_code = #{areaCode}
            </if>
            <if test="monitorPointId != null">
            AND mp.id =   #{monitorPointId}
            </if>
         )
      </if>
      
      GROUP BY