From 76cee9b52e3811dca3f4481610bd0835cbd45c6f Mon Sep 17 00:00:00 2001
From: chenxi <276999030@qq.com>
Date: Sat, 27 May 2023 15:13:49 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into dev
---
screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml | 49 ++++++++++++++++++-------------------------------
1 files changed, 18 insertions(+), 31 deletions(-)
diff --git a/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml b/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml
index d705dd2..3785bc1 100644
--- a/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -4,47 +4,34 @@
<update id="createTable" parameterType="String">
CREATE TABLE IF NOT EXISTS `history_minutely_${timeUnits}` (
- `mac` VARCHAR (20) DEFAULT NULL COMMENT '������mac',
+ `mac` VARCHAR (30) DEFAULT NULL COMMENT '������mac',
`time` datetime DEFAULT NULL COMMENT '������������',
`value` json DEFAULT NULL COMMENT '������',
`version` INT (11) DEFAULT NULL COMMENT '������',
- KEY `idx_mac` (`mac`),
- KEY `idx_time` (`time`),
KEY `idx_mac_time` (`mac`,`time`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '���������������'
</update>
- <select id="getHistoryFiveMinutelyData" resultType="java.util.LinkedHashMap">
+ <select id="getHistoryMinutelyData" resultType="java.util.LinkedHashMap">
SELECT
- mac
- <foreach collection="sensorKeys" open="," separator="," item="sensorKey">
- <choose>
- <when test="sensorKey=='e23[0]'">
- ROUND((CASE WHEN AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))<![CDATA[>]]>0 AND
- AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI()))<![CDATA[>]]>0
- THEN
- ATAN(AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))/AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI())))*180/PI()
- WHEN AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))>0 AND
- AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI()))<![CDATA[<]]>0
- THEN
- (ATAN(AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))/AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI())))*180/PI())+180
- WHEN AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))<![CDATA[<]]>0 AND
- AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI()))<![CDATA[<]]>0
- THEN
- (ATAN(AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))/AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI())))*180/PI())+180
- ELSE
- (ATAN(AVG(value->'$.e18[0]'*SIN((value->'$.e23[0]'/180)*PI()))/AVG(value->'$.e18[0]'*COS((value->'$.e23[0]'/180)*PI())))*180/PI())+360
- END),3) AS '${sensorKey}'
- </when>
- <otherwise>
- ROUND(AVG(value->'$.${sensorKey}[0]'),3) AS '${sensorKey}'
- </otherwise>
- </choose>
- </foreach>
+ mac, `value`, version
FROM
history_minutely_${timeUnits}
- WHERE time <![CDATA[>=]]> #{start} AND time <![CDATA[<]]> #{end}
- GROUP BY mac
+ WHERE `time` <![CDATA[>=]]> #{start}
+ AND `time` <![CDATA[<]]> #{end}
+ <if test="macs != null">
+ AND mac IN
+ <foreach collection="macs" item="mac" open="(" close=")" separator=",">
+ #{mac}
+ </foreach>
+ </if>
+ </select>
+
+ <select id="getHourlyData" resultType="java.util.Map">
+ SELECT mac, `time`, `value`
+ FROM history_minutely_${timeUnits}
+ WHERE `time` <![CDATA[>=]]> #{start}
+ AND `time` <![CDATA[<]]> #{end}
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0