ZhuDongming
2019-06-12 9009798abd7abfd726bcda80267c7d53dd3b8da3
src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -13,19 +13,32 @@
      FROM
         history_minutely
      WHERE
         mac = #{mac}
         mac IN
            (SELECT
               d.mac
            FROM
               device d
            WHERE
               d.is_delete = 0
               <if test="monitorPointId != null">
               AND d.monitor_point_id = #{monitorPointId}
               </if>
               <if test="mac != null">
               AND d.mac = #{mac}
               </if>
            )
      AND time >= #{start}
      AND time &lt; #{end}
   </select>
   
   <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
         history_minutely h
         history_${timeUnits} h
      WHERE
         h.time >= #{start}
      AND h.time <![CDATA[<]]> #{end}
@@ -52,6 +65,9 @@
            </if>
            <if test="monitorPointId != null">
            AND mp.id =   #{monitorPointId}
            </if>
            <if test="professionId != null">
            AND d.profession_id = #{professionId}
            </if>
         )   
      </if>
@@ -93,6 +109,9 @@
                <if test='"DEVICE"==dataCondition.areaRange.toString()'>
                  and dev.id = #{dataCondition.areaRangeId}
                </if>
               <if test='"PROFESSION"==dataCondition.deviceDimension.toString()'>
                  and dev.profession_id = #{dataCondition.dimensionValue}
               </if>
               <if test='"MONITORPOINT"==dataCondition.areaRange.toString()'>
                  and mpt.id = #{dataCondition.areaRangeId}
               </if>