From dbb8355061b6f60976d410fe475157c6e82f5593 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 15 Jun 2023 16:12:21 +0800
Subject: [PATCH] 添加多站多参接口

---
 screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml |   73 ++++++++++++++++++++++++++++--------
 1 files changed, 57 insertions(+), 16 deletions(-)

diff --git a/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml b/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
index 426f142..ab17e79 100644
--- a/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
+++ b/screen-api/src/main/resources/mapper/HistoryHourlyMapper.xml
@@ -3,9 +3,21 @@
 <mapper namespace="com.moral.api.mapper.HistoryHourlyMapper">
 
     <select id="selectHourlyData" resultType="java.lang.String">
-        SELECT `value` FROM history_hourly_${timeUnits} WHERE mac = #{mac} AND `time` = #{time}
+        SELECT `value`
+        FROM history_hourly_${timeUnits}
+        WHERE mac = #{mac}
+          AND `time` = #{time}
     </select>
-    
+
+
+    <select id="selectHourlyListData" parameterType="java.util.List" resultType="java.util.Map">
+        SELECT `value`,`time`
+        FROM history_hourly_${timeUnits}
+        WHERE mac = #{mac}
+          AND `time` BETWEEN  #{startTime} and #{endTime}
+    </select>
+
+
     <select id="selectDataByMacsAndTime" parameterType="java.util.List" resultType="java.util.Map">
         select mac, `time`, `value` from history_hourly_${timeUnits}
         where mac in
@@ -15,23 +27,52 @@
         and `time` = #{time}
     </select>
 
-    <select id="getSensorSumByMacs" resultType="java.lang.Double">
-        SELECT SUM(`value`->'$.${sensorCode}')
+    <select id="queryLastHourlyMac" resultType="java.lang.String">
+        SELECT `value`
         FROM history_hourly_${timeUnits}
-        WHERE `time` = #{time}
-        AND mac IN
-        <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=",">
-            #{mac}
-        </foreach>
+        WHERE mac = #{mac}
+          AND `time` = #{time}
     </select>
 
-    <select id="getSensorAvgByMacs" resultType="java.lang.Double">
-        SELECT AVG(`value`->'$.${sensorCode}')
-        FROM history_hourly_${timeUnits}
-        WHERE `time` = #{time}
-        AND mac IN
-        <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=",">
-            #{mac}
+
+    <select id="getArea" resultType="com.moral.api.pojo.dto.Wind.WindData">
+        SELECT
+        d.longitude AS longitude,
+        d.latitude AS latitude,
+        CASE WHEN
+        h.value->'$.a01007' = 0 THEN 0.1 ELSE h.value->'$.a01007' END AS windSpeed,
+        h.value->'$.a01008' AS windDir
+        FROM history_hourly_${timeUnits} h ,
+        `device` AS d
+        WHERE d.is_delete = '0'
+        and d.mac = h.mac
+        AND d.monitor_point_id IN
+        <foreach item="monitorPointId" collection="monitorPointIds" index="index" open="(" separator="," close=")">
+            #{monitorPointId}
         </foreach>
+        AND h.time = #{time}
+    </select>
+
+    <select id="getTVOCByMac" resultType="java.lang.String">
+        select `value` - > '$.${sensor}'
+        from history_hourly_${yearAndMonth}
+        where mac = #{mac}
+          and time =#{time}
+    </select>
+
+
+    <select id="getPressureByMac" resultType="java.lang.String">
+        select `value` - > '$.a01006'
+        from history_hourly_${yearAndMonth}
+        where mac = #{mac}
+          and time =#{time}
+    </select>
+
+
+    <select id="getDataByMac" resultType="java.util.Map">
+        select `value`
+        from history_hourly_${yearAndMonth}
+        where mac = #{mac}
+          and time =#{time}
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0