From 11dc24b3492b034a4c40e122d08b3ceeeaa57cb6 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 24 Aug 2020 16:32:56 +0800
Subject: [PATCH] 根据城市名,获取sh_area表中经纬度并显示
---
src/main/resources/mapper/HistoryMinutelyMapper.xml | 69 +++++++++++++++++++++++++++++++---
1 files changed, 62 insertions(+), 7 deletions(-)
diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml
index 151cc41..ac1e709 100644
--- a/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -31,6 +31,32 @@
AND time < #{end}
</select>
+ <select id="getAvgByDevice" resultType="java.util.Map">
+ SELECT
+ <foreach collection="sensorKeys" separator="," item="sensorKey">
+ AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
+ </foreach>
+ FROM
+ history_daily
+ WHERE
+ 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
@@ -77,6 +103,7 @@
ORDER BY
time
</select>
+
<select id="selectLineChartDateByCrieria" resultType="java.util.Map">
SELECT
<choose>
@@ -96,7 +123,7 @@
DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as
format_time
FROM
- `history_minutely` hmi
+ history_${timeUnits} hmi
<where>
and hmi.time >= #{timePeriod.startTime}
and hmi.time <![CDATA[<=]]> #{timePeriod.endTime}
@@ -149,7 +176,7 @@
history_minutely as hm
<where>
<if test="mac!=null">
- and hm.mac=#{mac}
+ and hm.mac = #{mac}
</if>
and hm.time >= #{startTime}
and hm.time <![CDATA[<]]> #{endTime}
@@ -170,7 +197,7 @@
history_minutely_${yearAndMonth} as hm
<where>
<if test="mac!=null">
- and hm.mac=#{mac}
+ and hm.mac = #{mac}
</if>
and hm.time >= #{startTime}
and hm.time <![CDATA[<]]> #{endTime}
@@ -196,8 +223,38 @@
device d,
monitor_point m
WHERE
- h.mac=d.mac
- AND d.monitor_point_id=m.id
+ h.mac = d.mac
+ AND d.monitor_point_id = m.id
+ AND h.time >= #{start}
+ AND h.time <![CDATA[<=]]> #{end}
+ AND h.mac in
+ <foreach collection="macs" open="(" separator="," close=")" item="mac">
+ #{mac}
+ </foreach>
+ GROUP BY
+ h.mac,m.name,d.name,DATE_FORMAT(time, #{typeFormat})
+ ORDER BY
+ h.mac) rs
+ GROUP BY rs.monitorPointName,rs.name
+ order by rs.monitorPointName
+ </select>
+
+ <select id="getDevicesSensorsAvgDataToExcel" resultType="java.util.LinkedHashMap">
+ select
+ rs.monitorPointName,rs.name,
+ <foreach collection="timeList" separator="," item="time">
+ max(case time when #{time} then rs.json else "" end) as #{time}
+ </foreach>
+ from
+ (SELECT
+ m.name as monitorPointName,d.name,DATE_FORMAT(time, #{typeFormat}) time,h.json
+ FROM
+ history_${timeUnits} h,
+ device d,
+ monitor_point m
+ WHERE
+ h.mac = d.mac
+ AND d.monitor_point_id = m.id
AND h.time >= #{start}
AND h.time <![CDATA[<=]]> #{end}
AND h.mac in
@@ -205,8 +262,6 @@
item="mac">
#{mac}
</foreach>
- GROUP BY
- h.mac,m.name,d.name,DATE_FORMAT(time, #{typeFormat})
ORDER BY
h.mac) rs
GROUP BY rs.monitorPointName,rs.name
--
Gitblit v1.8.0