| | |
| | | where time = #{time} and mac = #{mac}
|
| | | limit 0,1
|
| | | </select>
|
| | |
|
| | | <select id="getAreaAllDataByAccount" resultType="java.util.LinkedHashMap">
|
| | | SELECT
|
| | | <if test="macKey != null">
|
| | | d.`name`,
|
| | | </if> |
| | | <foreach collection="sensorKeys" separator="," item="sensorKey">
|
| | | AVG(h.`value` ->'$.${sensorKey}[0]') AS '${sensorKey}'
|
| | | </foreach>
|
| | | <if test="macKey != null">
|
| | | d.`name`,
|
| | | </if>
|
| | | <foreach collection="sensorKeys" separator="," item="sensorKey">
|
| | | AVG(h.`value` ->'$.${sensorKey}[0]') AS '${sensorKey}'
|
| | | </foreach>
|
| | | FROM
|
| | | history h,
|
| | | device d,
|
| | | monitor_point mp
|
| | | WHERE
|
| | | mp.area_code = #{areaCode} |
| | | AND h.time >= #{start} |
| | | AND h.time < #{end}
|
| | | AND h.mac = d.mac |
| | | AND d.monitor_point_id = mp.id |
| | | <if test="orgIds != null and orgIds.size > 0">
|
| | | AND mp.organization_id IN
|
| | | <foreach collection="orgIds" open="(" separator="," close=")" item="listItem">
|
| | | #{listItem}
|
| | | </foreach>
|
| | | </if>
|
| | | h.mac = d.mac
|
| | | AND d.monitor_point_id = mp.id
|
| | | <if test="areaCode != null">
|
| | | AND mp.area_code = #{areaCode}
|
| | | </if>
|
| | | <if test="start != null">
|
| | | AND h.time >= #{start}
|
| | | </if>
|
| | | <if test="end != null">
|
| | | AND h.time < #{end}
|
| | | </if>
|
| | | <if test="monitorPointId != null">
|
| | | AND mp.id = #{monitorPointId}
|
| | | </if>
|
| | | <if test="orgIds != null and orgIds.size > 0">
|
| | | AND mp.organization_id IN
|
| | | <foreach collection="orgIds" open="(" separator="," close=")"
|
| | | item="listItem">
|
| | | #{listItem}
|
| | | </foreach>
|
| | | </if>
|
| | | <if test="macKey != null">
|
| | | GROUP BY d.id
|
| | | ORDER BY ${macKey} desc
|
| | | </if> |
| | | </if>
|
| | | </select>
|
| | |
|
| | | <select id="getRegionRankingData" resultType="java.util.Map">
|
| | |
| | | time DESC
|
| | | LIMIT #{size}
|
| | | </select>
|
| | | |
| | | <select id="getActualDataByRegion" resultType="java.util.Map">
|
| | | SELECT
|
| | | <foreach collection="sensorKeys" separator="," item="sensorKey">
|
| | | MAX( `value` ->> '$.${sensorKey}' ) * 1 AS '${sensorKey}' |
| | | </foreach>
|
| | | FROM
|
| | | history h ,
|
| | | device d,
|
| | | monitor_point mp
|
| | | <where>
|
| | | h.mac = d.mac |
| | | AND d.monitor_point_id = mp.id |
| | | <if test="orgIds != null and orgIds.size > 0">
|
| | | AND mp.organization_id IN
|
| | | <foreach collection="orgIds" open="(" separator="," close=")" item="listItem">
|
| | | #{listItem}
|
| | | </foreach>
|
| | | </if>
|
| | | AND h.time >= #{start} |
| | | AND h.time < #{end} |
| | | </where>
|
| | | </select>
|
| | | </mapper> |