From 09c3a7d258c7bde571f74050156437d2eb86c6c6 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Wed, 12 Jun 2019 17:02:40 +0800
Subject: [PATCH] sensor

---
 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 &lt; #{end}
+					</if>
+					<if test="regionCode != null">
+						AND mp.${regionType}_code = #{regionCode}
+					</if>
+					<if test="orgIds != null and orgIds.size &gt; 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]' ) &lt; ( 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 &lt; #{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