From 53d155ae4b7c4d5d7258c3d15cfff78ec41561f7 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 26 Mar 2018 14:13:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/resources/mapper/HistoryMinutelyMapper.xml | 64 +++++++++++++++++++++++++++++--
1 files changed, 59 insertions(+), 5 deletions(-)
diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml
index cdccfe8..148f6a4 100644
--- a/src/main/resources/mapper/HistoryMinutelyMapper.xml
+++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.moral.mapper.HistoryMinutelyMapper">
-
- <select id="getSersionAvgByDevice" resultType="map">
+<mapper namespace="com.moral.mapper.HistoryMinutelyMapper">
+ <resultMap id="PairDataResultMap" type="com.moral.entity.charts.PairData" >
+ <result column="format_time" property="category" jdbcType="VARCHAR" />
+ <result column="value" property="value" jdbcType="DOUBLE" />
+ </resultMap>
+ <select id="getSersionAvgByDevice" resultType="java.util.Map">
SELECT
${sensorKeyColumn}
FROM
@@ -13,7 +16,7 @@
AND time < #{end}
</select>
- <select id="getMonitorPointOrDeviceAvgData" resultType="map">
+ <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map">
SELECT
DATE_FORMAT(time, #{typeFormat}) time,
${sensorKeyColumn}
@@ -38,5 +41,56 @@
ORDER BY
time
</select>
-
+ <select id="selectLineChartDateByCrieria" resultType="java.util.Map">
+ SELECT
+ <choose>
+ <when test="'MINUTE'==dataCondition.timeUnits.toString() and 'DEVICE'==dataCondition.areaRange.toString()">
+ <foreach collection="sensorKeys"
+ item="sensorKey" separator="," close=",">
+ json->'$.${sensorKey}[0]' as '${sensorKey}'
+ </foreach>
+ </when>
+ <otherwise>
+ <foreach collection="sensorKeys"
+ item="sensorKey" separator="," close=",">
+ AVG(json->'$.${sensorKey}[0]') as '${sensorKey}'
+ </foreach>
+ </otherwise>
+ </choose>
+ DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as format_time
+ FROM
+ `history_minutely` hmi
+ <where>
+ and hmi.time >= #{timePeriod.startTime}
+ and hmi.time <![CDATA[<=]]> #{timePeriod.endTime}
+ <if test="dataCondition.actualTime != null">
+ and DATE_FORMAT(time, '${@com.moral.common.util.ReportTimeFormat@toMySqlActualTimeFormat(dataCondition.timeUnits)}') = #{dataCondition.actualTime}
+ </if>
+ and hmi.mac in (
+ select mac from device dev
+ join monitor_point mpt on dev.monitor_point_id = mpt.id
+ <where>
+ <if test='"DEVICE"==dataCondition.areaRange.toString()'>
+ and dev.id = #{dataCondition.areaRangeId}
+ </if>
+ <if test='"MONITORPOINT"==dataCondition.areaRange.toString()'>
+ and mpt.id = #{dataCondition.areaRangeId}
+ </if>
+ <if test='"PROVINCE"==dataCondition.areaRange.toString()'>
+ and mpt.province_code = #{dataCondition.areaRangeId}
+ </if>
+ <if test='"CITY"==dataCondition.areaRange.toString()'>
+ and mpt.city_code = #{dataCondition.areaRangeId}
+ </if>
+ <if test='"AREA"==dataCondition.areaRange.toString()'>
+ and mpt.area_code = #{dataCondition.areaRangeId}
+ </if>
+ </where>
+ )
+ </where>
+ <if test="'MINUTE'!=dataCondition.timeUnits.toString() or 'DEVICE'!=dataCondition.areaRange.toString()">
+ GROUP BY format_time
+ </if>
+ ORDER BY format_time asc
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0