From 43086924a890e1ae64ab98f9b844c3cf8a0b88c8 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 17 May 2018 17:21:19 +0800
Subject: [PATCH] 地图搜索功能增强
---
src/main/resources/mapper/HistoryMinutelyMapper.xml | 40 +++++++++++++++++++++++++++++++++-------
1 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml
index 148f6a4..2688dd2 100644
--- a/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/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,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
@@ -73,6 +96,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