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/resources/mapper/HistoryMinutelyMapper.xml | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml index 9fb4382..3a2d3c1 100644 --- a/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/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 < #{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} @@ -34,10 +47,29 @@ </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 test="professionId != null"> + AND d.profession_id = #{professionId} + </if> + ) </if> GROUP BY @@ -77,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> -- Gitblit v1.8.0