From bc72c98cd11519b811829de5ec59b8a021e75946 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Thu, 25 Jul 2019 14:16:18 +0800
Subject: [PATCH] 查询无人机在时间段内sensor值的Mapper接口
---
src/main/resources/mapper/HistoryDailyMapper.xml | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/HistoryDailyMapper.xml b/src/main/resources/mapper/HistoryDailyMapper.xml
index 549b64f..7628af6 100644
--- a/src/main/resources/mapper/HistoryDailyMapper.xml
+++ b/src/main/resources/mapper/HistoryDailyMapper.xml
@@ -33,4 +33,81 @@
</where>
GROUP BY mp.`name`, vdi.mac
</select>
+
+
+ <select id="getOverproofData" resultType="java.util.Map">
+ SELECT
+ AVG( hd.`json` -> '$.${sensorKey}[0]' ) avg,
+ ( SELECT DISTINCT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE monitor_point_id = vdd.monitor_point_id AND device_tech = vdd.device_tech ) `limit`,
+ ( SELECT mp.`name` FROM monitor_point mp WHERE mp.id = vdd.monitor_point_id ) `name`,
+ vdd.device_tech
+ FROM
+ history_daily hd,
+ view_device_density vdd,
+ (
+ SELECT
+ vdd.monitor_point_id
+ FROM
+ history_daily hd,
+ device vdd,
+ monitor_point mp
+ <where>
+ hd.mac = vdd.mac
+ AND mp.id = vdd.monitor_point_id
+ <if test="start != null">
+ AND hd.time >= #{start}
+ </if>
+ <if test="end != null">
+ AND hd.time < #{end}
+ </if>
+ <if test="regionCode != null">
+ AND mp.${regionType}_code = #{regionCode}
+ </if>
+ <if test="orgIds != null and orgIds.size > 0">
+ AND mp.organization_id IN
+ <foreach collection="orgIds" open="(" separator="," close=")"
+ item="listItem">
+ #{listItem}
+ </foreach>
+ </if>
+ </where>
+ GROUP BY
+ vdd.mac,
+ vdd.monitor_point_id
+ HAVING
+ AVG( hd.`json` -> '$.${sensorKey}[0]' ) >= ( SELECT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE mac = vdd.mac ) * (1 + #{overproofRatio} * 1)
+ <if test="overproofRatio != 0 and overproofRatio != 3">
+ AND AVG( hd.`json` -> '$.${sensorKey}[0]' ) < ( SELECT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE mac = vdd.mac ) * (2 + #{overproofRatio} * 1)
+ </if>
+ ) ta
+ <where>
+ hd.mac = vdd.mac
+ AND vdd.monitor_point_id = ta.monitor_point_id
+ <if test="start != null">
+ AND hd.time >= #{start}
+ </if>
+ <if test="end != null">
+ AND hd.time < #{end}
+ </if>
+ </where>
+ GROUP BY
+ vdd.monitor_point_id,
+ vdd.device_tech
+ </select>
+
+ <!-- ������������mac������������������������������������������������������ -->
+ <select id="getTraceabilityData" resultType="java.util.Map">
+ SELECT
+ json ->'$.${sensorKey}[0]' AS '${sensorKey}'
+ FROM
+ history_daily
+ <where>
+ <if test="mac!=null and mac!=''">
+ AND mac=#{mac}
+ </if>
+ <if test="time!=null and time!=''">
+ AND time=#{time}
+ </if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0