|  |  | @ -4,59 +4,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | 
			
		
	
		
			
				
					|  |  |  | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
			
		
	
		
			
				
					|  |  |  | <mapper namespace="com.zc.business.mapper.DcMeteorologicalDetectorDataMapper"> | 
			
		
	
		
			
				
					|  |  |  |      | 
			
		
	
		
			
				
					|  |  |  |     <resultMap type="DcMeteorologicalDetectorData" id="DcMeteorologicalDetectorDataResult"> | 
			
		
	
		
			
				
					|  |  |  |     <resultMap type="com.zc.business.domain.DcMeteorologicalDetectorData" id="DcMeteorologicalDetectorDataResult"> | 
			
		
	
		
			
				
					|  |  |  |         <result property="id"    column="id"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="iotDeviceId"    column="iot_device_id"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="rainfall"    column="rainfall"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="visibilityType"    column="visibility_type"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="visibility"    column="visibility"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="roadSurfaceStatus"    column="road_surface_status"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="atmosphericPressure"    column="atmospheric_pressure"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="temperature"    column="temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="humidity"    column="humidity"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="windDirection"    column="wind_direction"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="windSpeed"    column="wind_speed"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="freezingPointTemperature"    column="freezing_point_temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="salinityValue"    column="salinity_value"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="roadSurfaceTemperature"    column="road_surface_temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="waterFilmThickness"    column="water_film_thickness"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="precipitationType"    column="precipitation_type"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="wetSlipperyCoefficient"    column="wet_slippery_coefficient"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="sensorTemperature"    column="sensor_temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="remoteRoadSurfaceTemperature"    column="remote_road_surface_temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="remoteRoadSurfaceStatus"    column="remote_road_surface_status"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="subSurfaceTemperature"    column="sub_surface_temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="waterFilmIceSnowValue"    column="water_film_ice_snow_value"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="createTime"    column="create_time"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="deviceName"    column="device_name"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="stakeMark"    column="stake_mark"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="direction"    column="direction"    /> | 
			
		
	
		
			
				
					|  |  |  |     </resultMap> | 
			
		
	
		
			
				
					|  |  |  |     <resultMap type="map" id="countMap"> | 
			
		
	
		
			
				
					|  |  |  |         <result property="timeSlot"    column="time_slot"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="date"    column="date"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="avgTemperature"    column="avg_temperature"    /> | 
			
		
	
		
			
				
					|  |  |  |         <result property="avgVisibility"    column="avg_visibility"    /> | 
			
		
	
		
			
				
					|  |  |  |     </resultMap> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <sql id="selectDcMeteorologicalDetectorDataVo"> | 
			
		
	
		
			
				
					|  |  |  |         select id, iot_device_id, rainfall, visibility_type, visibility, road_surface_status, atmospheric_pressure, temperature, humidity, wind_direction, wind_speed, freezing_point_temperature, salinity_value, road_surface_temperature, water_film_thickness, precipitation_type, wet_slippery_coefficient, sensor_temperature, remote_road_surface_temperature, remote_road_surface_status, sub_surface_temperature, water_film_ice_snow_value,create_time from dc_meteorological_detector_data | 
			
		
	
		
			
				
					|  |  |  |         select id, iot_device_id, rainfall, visibility_type, visibility,  atmospheric_pressure, temperature, humidity, wind_direction, wind_speed, precipitation_type, wet_slippery_coefficient,remote_road_surface_temperature, remote_road_surface_status,  water_film_ice_snow_value,create_time,stake_mark,device_name,direction from dc_meteorological_detector_data | 
			
		
	
		
			
				
					|  |  |  |     </sql> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <select id="selectDcMeteorologicalDetectorDataList" parameterType="DcMeteorologicalDetectorData" resultMap="DcMeteorologicalDetectorDataResult"> | 
			
		
	
		
			
				
					|  |  |  |     <select id="selectDcMeteorologicalDetectorDataList" parameterType="com.zc.business.domain.DcMeteorologicalDetectorData" resultMap="DcMeteorologicalDetectorDataResult"> | 
			
		
	
		
			
				
					|  |  |  |         <include refid="selectDcMeteorologicalDetectorDataVo"/> | 
			
		
	
		
			
				
					|  |  |  |         <where>   | 
			
		
	
		
			
				
					|  |  |  |             <if test="iotDeviceId != null  and iotDeviceId != ''"> and iot_device_id = #{iotDeviceId}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="direction != null  and direction != ''"> and direction = #{direction}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="stakeMark != null  and stakeMark != ''"> and stake_mark = #{stakeMark}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="deviceName != null  and deviceName != ''"> and device_name = #{deviceName}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="rainfall != null  and rainfall != ''"> and rainfall = #{rainfall}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibilityType != null  and visibilityType != ''"> and visibility_type = #{visibilityType}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibility != null  and visibility != ''"> and visibility = #{visibility}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceStatus != null  and roadSurfaceStatus != ''"> and road_surface_status = #{roadSurfaceStatus}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="atmosphericPressure != null  and atmosphericPressure != ''"> and atmospheric_pressure = #{atmosphericPressure}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="temperature != null  and temperature != ''"> and temperature = #{temperature}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="humidity != null  and humidity != ''"> and humidity = #{humidity}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windDirection != null  and windDirection != ''"> and wind_direction = #{windDirection}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windSpeed != null  and windSpeed != ''"> and wind_speed = #{windSpeed}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="freezingPointTemperature != null  and freezingPointTemperature != ''"> and freezing_point_temperature = #{freezingPointTemperature}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="salinityValue != null  and salinityValue != ''"> and salinity_value = #{salinityValue}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceTemperature != null  and roadSurfaceTemperature != ''"> and road_surface_temperature = #{roadSurfaceTemperature}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmThickness != null  and waterFilmThickness != ''"> and water_film_thickness = #{waterFilmThickness}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="precipitationType != null  and precipitationType != ''"> and precipitation_type = #{precipitationType}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="wetSlipperyCoefficient != null  and wetSlipperyCoefficient != ''"> and wet_slippery_coefficient = #{wetSlipperyCoefficient}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="sensorTemperature != null  and sensorTemperature != ''"> and sensor_temperature = #{sensorTemperature}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceTemperature != null  and remoteRoadSurfaceTemperature != ''"> and remote_road_surface_temperature = #{remoteRoadSurfaceTemperature}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceStatus != null  and remoteRoadSurfaceStatus != ''"> and remote_road_surface_status = #{remoteRoadSurfaceStatus}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="subSurfaceTemperature != null  and subSurfaceTemperature != ''"> and sub_surface_temperature = #{subSurfaceTemperature}</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmIceSnowValue != null  and waterFilmIceSnowValue != ''"> and water_film_ice_snow_value = #{waterFilmIceSnowValue}</if> | 
			
		
	
		
			
				
					|  |  |  |         </where> | 
			
		
	
		
			
				
					|  |  |  |     </select> | 
			
		
	
	
		
			
				
					|  |  | @ -66,81 +63,69 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | 
			
		
	
		
			
				
					|  |  |  |         where id = #{id} | 
			
		
	
		
			
				
					|  |  |  |     </select> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <insert id="insertDcMeteorologicalDetectorData" parameterType="DcMeteorologicalDetectorData" useGeneratedKeys="true" keyProperty="id"> | 
			
		
	
		
			
				
					|  |  |  |     <insert id="insertDcMeteorologicalDetectorData" parameterType="com.zc.business.domain.DcMeteorologicalDetectorData" useGeneratedKeys="true" keyProperty="id"> | 
			
		
	
		
			
				
					|  |  |  |         insert into dc_meteorological_detector_data | 
			
		
	
		
			
				
					|  |  |  |         <trim prefix="(" suffix=")" suffixOverrides=","> | 
			
		
	
		
			
				
					|  |  |  |             <if test="iotDeviceId != null">iot_device_id,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="direction != null">direction,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="stakeMark != null">stake_mark,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="deviceName != null">device_name,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="rainfall != null">rainfall,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibilityType != null">visibility_type,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibility != null">visibility,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceStatus != null">road_surface_status,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="atmosphericPressure != null">atmospheric_pressure,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="temperature != null">temperature,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="humidity != null">humidity,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windDirection != null">wind_direction,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windSpeed != null">wind_speed,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="freezingPointTemperature != null">freezing_point_temperature,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="salinityValue != null">salinity_value,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceTemperature != null">road_surface_temperature,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmThickness != null">water_film_thickness,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="precipitationType != null">precipitation_type,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="wetSlipperyCoefficient != null">wet_slippery_coefficient,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="sensorTemperature != null">sensor_temperature,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceTemperature != null">remote_road_surface_temperature,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceStatus != null">remote_road_surface_status,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="subSurfaceTemperature != null">sub_surface_temperature,</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmIceSnowValue != null">water_film_ice_snow_value,</if> | 
			
		
	
		
			
				
					|  |  |  |             create_time | 
			
		
	
		
			
				
					|  |  |  |          </trim> | 
			
		
	
		
			
				
					|  |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
			
		
	
		
			
				
					|  |  |  |             <if test="iotDeviceId != null">#{iotDeviceId},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="direction != null">#{direction},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="stakeMark != null">#{stakeMark},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="deviceName != null">#{deviceName},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="rainfall != null">#{rainfall},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibilityType != null">#{visibilityType},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibility != null">#{visibility},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceStatus != null">#{roadSurfaceStatus},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="atmosphericPressure != null">#{atmosphericPressure},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="temperature != null">#{temperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="humidity != null">#{humidity},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windDirection != null">#{windDirection},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windSpeed != null">#{windSpeed},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="freezingPointTemperature != null">#{freezingPointTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="salinityValue != null">#{salinityValue},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceTemperature != null">#{roadSurfaceTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmThickness != null">#{waterFilmThickness},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="precipitationType != null">#{precipitationType},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="wetSlipperyCoefficient != null">#{wetSlipperyCoefficient},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="sensorTemperature != null">#{sensorTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceTemperature != null">#{remoteRoadSurfaceTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceStatus != null">#{remoteRoadSurfaceStatus},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="subSurfaceTemperature != null">#{subSurfaceTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmIceSnowValue != null">#{waterFilmIceSnowValue},</if> | 
			
		
	
		
			
				
					|  |  |  |             current_date | 
			
		
	
		
			
				
					|  |  |  |             CURRENT_TIMESTAMP | 
			
		
	
		
			
				
					|  |  |  |          </trim> | 
			
		
	
		
			
				
					|  |  |  |     </insert> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <update id="updateDcMeteorologicalDetectorData" parameterType="DcMeteorologicalDetectorData"> | 
			
		
	
		
			
				
					|  |  |  |     <update id="updateDcMeteorologicalDetectorData" parameterType="com.zc.business.domain.DcMeteorologicalDetectorData"> | 
			
		
	
		
			
				
					|  |  |  |         update dc_meteorological_detector_data | 
			
		
	
		
			
				
					|  |  |  |         <trim prefix="SET" suffixOverrides=","> | 
			
		
	
		
			
				
					|  |  |  |             <if test="iotDeviceId != null">iot_device_id = #{iotDeviceId},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="direction != null">iot_device_id = #{direction},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="deviceName != null">device_name = #{deviceName},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="stakeMark != null">stake_mark = #{stakeMark},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="rainfall != null">rainfall = #{rainfall},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibilityType != null">visibility_type = #{visibilityType},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="visibility != null">visibility = #{visibility},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceStatus != null">road_surface_status = #{roadSurfaceStatus},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="atmosphericPressure != null">atmospheric_pressure = #{atmosphericPressure},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="temperature != null">temperature = #{temperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="humidity != null">humidity = #{humidity},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windDirection != null">wind_direction = #{windDirection},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="windSpeed != null">wind_speed = #{windSpeed},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="freezingPointTemperature != null">freezing_point_temperature = #{freezingPointTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="salinityValue != null">salinity_value = #{salinityValue},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="roadSurfaceTemperature != null">road_surface_temperature = #{roadSurfaceTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmThickness != null">water_film_thickness = #{waterFilmThickness},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="precipitationType != null">precipitation_type = #{precipitationType},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="wetSlipperyCoefficient != null">wet_slippery_coefficient = #{wetSlipperyCoefficient},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="sensorTemperature != null">sensor_temperature = #{sensorTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceTemperature != null">remote_road_surface_temperature = #{remoteRoadSurfaceTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="remoteRoadSurfaceStatus != null">remote_road_surface_status = #{remoteRoadSurfaceStatus},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="subSurfaceTemperature != null">sub_surface_temperature = #{subSurfaceTemperature},</if> | 
			
		
	
		
			
				
					|  |  |  |             <if test="waterFilmIceSnowValue != null">water_film_ice_snow_value = #{waterFilmIceSnowValue},</if> | 
			
		
	
		
			
				
					|  |  |  |         </trim> | 
			
		
	
		
			
				
					|  |  |  |         where id = #{id} | 
			
		
	
	
		
			
				
					|  |  | @ -156,4 +141,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | 
			
		
	
		
			
				
					|  |  |  |             #{id} | 
			
		
	
		
			
				
					|  |  |  |         </foreach> | 
			
		
	
		
			
				
					|  |  |  |     </delete> | 
			
		
	
		
			
				
					|  |  |  |     <select id="selectStatistics" resultMap="countMap" resultType="map"> | 
			
		
	
		
			
				
					|  |  |  |         WITH hours AS ( | 
			
		
	
		
			
				
					|  |  |  |             SELECT h AS time_slot | 
			
		
	
		
			
				
					|  |  |  |             FROM ( | 
			
		
	
		
			
				
					|  |  |  |                      SELECT 0 AS h UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 | 
			
		
	
		
			
				
					|  |  |  |                      UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 | 
			
		
	
		
			
				
					|  |  |  |                      UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 | 
			
		
	
		
			
				
					|  |  |  |                      UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 | 
			
		
	
		
			
				
					|  |  |  |                      UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 | 
			
		
	
		
			
				
					|  |  |  |                      UNION ALL SELECT 22 UNION ALL SELECT 23 | 
			
		
	
		
			
				
					|  |  |  |                  ) AS all_hours | 
			
		
	
		
			
				
					|  |  |  |         ) | 
			
		
	
		
			
				
					|  |  |  |         SELECT | 
			
		
	
		
			
				
					|  |  |  |             h.time_slot, | 
			
		
	
		
			
				
					|  |  |  |             DATE(dc.create_time) AS date, | 
			
		
	
		
			
				
					|  |  |  |             COALESCE(ROUND(AVG(dc.temperature), 2), 0) AS avg_temperature, | 
			
		
	
		
			
				
					|  |  |  |             COALESCE(ROUND(AVG(dc.visibility), 2), 0) AS avg_visibility | 
			
		
	
		
			
				
					|  |  |  |         FROM | 
			
		
	
		
			
				
					|  |  |  |             hours h | 
			
		
	
		
			
				
					|  |  |  |             LEFT JOIN | 
			
		
	
		
			
				
					|  |  |  |             dc_meteorological_detector_data dc | 
			
		
	
		
			
				
					|  |  |  |         ON | 
			
		
	
		
			
				
					|  |  |  |             DATE(dc.create_time) = CURDATE() | 
			
		
	
		
			
				
					|  |  |  |             AND HOUR(dc.create_time) = h.time_slot | 
			
		
	
		
			
				
					|  |  |  |             AND dc.device_name = #{deviceName} | 
			
		
	
		
			
				
					|  |  |  |         GROUP BY | 
			
		
	
		
			
				
					|  |  |  |             h.time_slot, | 
			
		
	
		
			
				
					|  |  |  |             date; | 
			
		
	
		
			
				
					|  |  |  |     </select> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <select id="selectlistAll" parameterType="com.zc.business.domain.DcMeteorologicalDetectorData" resultMap="DcMeteorologicalDetectorDataResult"> | 
			
		
	
		
			
				
					|  |  |  |         SELECT mdd1.id,mdd1.iot_device_id,mdd1.rainfall,mdd1.visibility_type,mdd1. visibility,mdd1.atmospheric_pressure, | 
			
		
	
		
			
				
					|  |  |  |                mdd1. temperature,mdd1. humidity,mdd1.wind_direction, mdd1. wind_speed, mdd1. precipitation_type, mdd1.wet_slippery_coefficient, | 
			
		
	
		
			
				
					|  |  |  |                mdd1.remote_road_surface_temperature, mdd1. remote_road_surface_status, mdd1. water_film_ice_snow_value,mdd1.create_time, | 
			
		
	
		
			
				
					|  |  |  |                mdd1.stake_mark,mdd1.device_name,mdd1.direction | 
			
		
	
		
			
				
					|  |  |  |         FROM dc_meteorological_detector_data mdd1 | 
			
		
	
		
			
				
					|  |  |  |                  JOIN ( | 
			
		
	
		
			
				
					|  |  |  |             SELECT device_name, MAX(create_time) AS max_create_time | 
			
		
	
		
			
				
					|  |  |  |             FROM dc_meteorological_detector_data | 
			
		
	
		
			
				
					|  |  |  |             GROUP BY device_name | 
			
		
	
		
			
				
					|  |  |  |         ) mdd2 | 
			
		
	
		
			
				
					|  |  |  |                       ON mdd1.device_name = mdd2.device_name AND mdd1.create_time = mdd2.max_create_time; | 
			
		
	
		
			
				
					|  |  |  |     </select> | 
			
		
	
		
			
				
					|  |  |  | </mapper> |