From ecff6c40a1728c61c6a9a713df721b0eb31a616c Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Wed, 23 Aug 2023 13:12:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa --- 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