<?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.HistoryMapper">
|
|
<select id="getDayAQIByDevice" resultType="map">
|
SELECT
|
AVG(value -> '$.e1') e1,
|
AVG(value -> '$.e2') e2,
|
AVG(value -> '$.e10') e10,
|
AVG(value -> '$.e11') e11,
|
AVG(value -> '$.e15') e15,
|
AVG(value -> '$.e16') e16
|
FROM
|
history
|
WHERE
|
mac = #{mac}
|
AND time > #{start}
|
AND time < #{end}
|
</select>
|
|
<select id="getAllSensorAverageByDevice" resultType="java.util.LinkedHashMap">
|
SELECT
|
${queryColumns}
|
FROM
|
history h,
|
device d,
|
monitor_point mp
|
<if test="orgIds != null and orgIds.size > 0">
|
LEFT JOIN monitor_point_organization mpo ON mpo.monitor_point_id = mp.id
|
AND mpo.organization_id IN
|
<foreach close=")" collection="orgIds" item="listItem" open="(" separator=",">
|
#{listItem}
|
</foreach>
|
</if>
|
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
|
</select>
|
|
<select id="getAreaAllDataByAccount" resultType="java.util.LinkedHashMap">
|
SELECT
|
<if test="macKey == 'all'">
|
${queryColumns}
|
</if>
|
<if test="macKey != 'all'">
|
d.`name`,
|
AVG( h.`value` -> ${macKey}) avg
|
</if>
|
FROM
|
history h,
|
device d,
|
monitor_point mp
|
WHERE
|
mp.area_code = #{areaCode}
|
AND h.time > #{start}
|
AND h.time < #{end}
|
<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.mac = d.mac
|
AND d.monitor_point_id = mp.id
|
<if test="macKey != 'all'">
|
GROUP BY d.id
|
ORDER BY avg desc
|
</if>
|
</select>
|
|
<select id="getSensorsAverageByDevice4Report" resultType="map">
|
SELECT
|
DATE_FORMAT(time, #{type}) time,
|
${queryColumns}
|
FROM
|
history h
|
WHERE
|
h.mac = #{mac}
|
AND h.time >= #{start}
|
AND h.time < #{end}
|
GROUP BY
|
DATE_FORMAT(time, #{type})
|
ORDER BY
|
time
|
</select>
|
|
</mapper>
|