From 2dee01ae6f13a72b1d2ba9ca3d1ffbea72ab513b Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Sat, 09 Oct 2021 08:59:28 +0800 Subject: [PATCH] screen-aqi 增加监测因子对比图接口 --- screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml | 40 ++++++++++------------------------------ 1 files changed, 10 insertions(+), 30 deletions(-) diff --git a/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml b/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml index d705dd2..e806e90 100644 --- a/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/screen-job/src/main/resources/mapper/HistoryMinutelyMapper.xml @@ -8,43 +8,23 @@ `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> </mapper> \ No newline at end of file -- Gitblit v1.8.0