| | |
| | | </resultMap>
|
| | | <select id="getSersionAvgByDevice" resultType="java.util.Map">
|
| | | SELECT
|
| | | ${sensorKeyColumn}
|
| | | <foreach collection="sensorKeys" separator="," item="sensorKey">
|
| | | AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
|
| | | </foreach>
|
| | | FROM
|
| | | history_minutely
|
| | | WHERE
|
| | | mac = #{mac}
|
| | | mac IN
|
| | | (SELECT
|
| | | d.mac |
| | | FROM
|
| | | device d
|
| | | WHERE
|
| | | d.is_delete = 0 |
| | | <if test="monitorPointId != null">
|
| | | AND d.monitor_point_id = #{monitorPointId}
|
| | | </if>
|
| | | <if test="mac != null">
|
| | | AND d.mac = #{mac}
|
| | | </if>
|
| | | ) |
| | | AND time >= #{start}
|
| | | AND time < #{end}
|
| | | </select>
|
| | |
|
| | | <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map">
|
| | | SELECT
|
| | | DATE_FORMAT(time, #{typeFormat}) time,
|
| | | ${sensorKeyColumn}
|
| | | DATE_FORMAT(time, #{typeFormat}) time
|
| | | <foreach collection="sensorKeys" open="," separator="," item="sensorKey">
|
| | | AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
|
| | | </foreach>
|
| | | FROM
|
| | | history_minutely h
|
| | | WHERE
|
| | |
| | | </if>
|
| | | <if test="mac == null">
|
| | | AND h.mac IN
|
| | | <foreach collection="macs" open="(" separator="," close=")" item="listItem">
|
| | | #{listItem}
|
| | | </foreach>
|
| | | |
| | | (SELECT
|
| | | d.mac |
| | | FROM
|
| | | device d,
|
| | | monitor_point mp |
| | | WHERE
|
| | | d.monitor_point_id = mp.id |
| | | <if test="provinceCode != null">
|
| | | AND mp.province_code = #{provinceCode}
|
| | | </if>
|
| | | <if test="cityCode != null">
|
| | | AND mp.city_code = #{cityCode}
|
| | | </if>
|
| | | <if test="areaCode != null">
|
| | | AND mp.area_code = #{areaCode}
|
| | | </if>
|
| | | <if test="monitorPointId != null">
|
| | | AND mp.id = #{monitorPointId}
|
| | | </if>
|
| | | <if test="professionId != null">
|
| | | AND d.profession_id = #{professionId}
|
| | | </if>
|
| | | ) |
| | | </if>
|
| | |
|
| | | GROUP BY
|
| | |
| | | ORDER BY
|
| | | time
|
| | | </select>
|
| | | <select id="selectLineChartDateByCrieria" resultMap="PairDataResultMap">
|
| | | <select id="selectLineChartDateByCrieria" resultType="java.util.Map">
|
| | | SELECT
|
| | | <if test='"MINUTE"!=dataCondition.timeUnits.toString()'>
|
| | | AVG(json->'$.${sensorKey}[0]')
|
| | | </if>
|
| | | <if test='"MINUTE"==dataCondition.timeUnits.toString()'>
|
| | | json->'$.${sensorKey}[0]'
|
| | | </if>
|
| | | as value,
|
| | | <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
|
| | |
| | | <if test='"DEVICE"==dataCondition.areaRange.toString()'>
|
| | | and dev.id = #{dataCondition.areaRangeId}
|
| | | </if>
|
| | | <if test='"PROFESSION"==dataCondition.deviceDimension.toString()'>
|
| | | and dev.profession_id = #{dataCondition.dimensionValue}
|
| | | </if>
|
| | | <if test='"MONITORPOINT"==dataCondition.areaRange.toString()'>
|
| | | and mpt.id = #{dataCondition.areaRangeId}
|
| | | </if>
|
| | | <if test='"PROVINCE"==dataCondition.areaRange.toString()'>
|
| | | and mpt.provice_code = #{dataCondition.areaRangeId}
|
| | | and mpt.province_code = #{dataCondition.areaRangeId}
|
| | | </if>
|
| | | <if test='"CITY"==dataCondition.areaRange.toString()'>
|
| | | and mpt.city_code = #{dataCondition.areaRangeId}
|
| | |
| | | </where>
|
| | | )
|
| | | </where>
|
| | | <if test='"MINUTE"!=dataCondition.timeUnits.toString()'>
|
| | | <if test="'MINUTE'!=dataCondition.timeUnits.toString() or 'DEVICE'!=dataCondition.areaRange.toString()">
|
| | | GROUP BY format_time
|
| | | </if>
|
| | | ORDER BY format_time asc
|