| | |
| | | <?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.HangzhouAqiMapper"> |
| | | <resultMap id="BaseResultMap" type="com.moral.entity.HangzhouAqi"> |
| | | <id column="time" property="time" jdbcType="TIMESTAMP"/> |
| | | <result column="aqi_json" property="aqiJson" jdbcType="OTHER"/> |
| | | <result column="city_code" property="cityCode" jdbcType="VARCHAR"/> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | <resultMap id="BaseResultMap" type="com.moral.entity.HangzhouAqi"> |
| | | <id column="time" property="time" jdbcType="TIMESTAMP"/> |
| | | <result column="aqi_json" property="aqiJson" jdbcType="OTHER"/> |
| | | <result column="city_code" property="cityCode" jdbcType="VARCHAR"/> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | time, aqi_json, city_code |
| | | </sql> |
| | | <!--<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.util.Date" >--> |
| | | <!--select--> |
| | | <!--<include refid="Base_Column_List" />--> |
| | | <!--from hangzhou_aqi--> |
| | | <!--where time = #{time,jdbcType=TIMESTAMP}--> |
| | | <!--</select>--> |
| | | <select id="selectAqisByCodeAndTimePeriod" resultType="map" parameterType="java.util.Date"> |
| | | <!--<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.util.Date" >--> |
| | | <!--select--> |
| | | <!--<include refid="Base_Column_List" />--> |
| | | <!--from hangzhou_aqi--> |
| | | <!--where time = #{time,jdbcType=TIMESTAMP}--> |
| | | <!--</select>--> |
| | | <select id="selectAqisByCodeAndTimePeriod" resultType="map" parameterType="java.util.Date"> |
| | | select |
| | | aqi_json->'$.AQI' as aqi,DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as 'time' |
| | | from hangzhou_aqi |
| | |
| | | order by time asc |
| | | </select> |
| | | |
| | | <select id="getAqisByOrganizationId" resultType="map"> |
| | | SELECT |
| | | h.aqi_json ->> '$.AQI' * 1 aqi, |
| | | DATE_FORMAT( h.time, '%H' ) * 1 time |
| | | FROM |
| | | hangzhou_aqi h |
| | | <where> |
| | | h.city_code = #{cityCode} |
| | | AND h.time <![CDATA[<]]> #{end} |
| | | </where> |
| | | ORDER BY |
| | | h.time DESC |
| | | LIMIT 24 |
| | | </select> |
| | | <select id="getAqisByOrganizationId" resultType="map"> |
| | | SELECT |
| | | h.aqi_json ->> '$.AQI' * 1 aqi, |
| | | DATE_FORMAT( h.time, '%H' ) * 1 time |
| | | FROM |
| | | hangzhou_aqi h |
| | | <where> |
| | | h.city_code = #{cityCode} |
| | | AND h.time <![CDATA[<]]> #{end} |
| | | </where> |
| | | ORDER BY |
| | | h.time DESC |
| | | LIMIT 24 |
| | | </select> |
| | | |
| | | <select id="queryCityCode" resultType="integer"> |
| | | <select id="queryCityCode" resultType="integer"> |
| | | select city_code from area where area_code = #{areaCode} |
| | | </select> |
| | | |
| | | <select id="getAreaAvgDataByAreaCode" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(time, #{typeFormat}) time, |
| | | round(AVG(case when aqi_json->'$.${sensors}' is null then aqi_json->'$.${sensors1}' else aqi_json->'$.${sensors}' end),4) as '${sensors2}' |
| | | FROM |
| | | hangzhou_aqi ha |
| | | WHERE |
| | | ha.time >= #{start} |
| | | AND ha.time <![CDATA[<]]> #{end} |
| | | AND ha.city_code = #{areaCode} |
| | | GROUP BY |
| | | DATE_FORMAT(time, #{typeFormat}) |
| | | ORDER BY |
| | | time |
| | | </select> |
| | | </mapper> |