<?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.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper"> 
 | 
     
 | 
    <resultMap type="ArdAlarmRadarFire" id="ArdAlarmRadarFireResult"> 
 | 
        <result property="id"    column="id"    /> 
 | 
        <result property="name"    column="name"    /> 
 | 
        <result property="targetId"    column="target_id"    /> 
 | 
        <result property="alarmType"    column="alarm_type"    /> 
 | 
        <result property="alarmTime"    column="alarm_time"    /> 
 | 
        <result property="longitude"    column="longitude"    /> 
 | 
        <result property="latitude"    column="latitude"    /> 
 | 
        <result property="recordUrl"    column="record_url"    /> 
 | 
        <result property="viewTime"    column="view_time"    /> 
 | 
        <result property="createBy"    column="create_by"    /> 
 | 
        <result property="createTime"    column="create_time"    /> 
 | 
        <result property="userId"    column="user_id"    /> 
 | 
        <result property="deptId"    column="dept_id"    /> 
 | 
        <result property="guideTime"    column="guide_time"    /> 
 | 
    </resultMap> 
 | 
  
 | 
    <sql id="selectArdAlarmRadarFireVo"> 
 | 
        select id, name, target_id, alarm_type, alarm_time, longitude, latitude, record_url, view_time, create_by, create_time, user_id, dept_id, guide_time from ard_alarm_radar_fire 
 | 
    </sql> 
 | 
  
 | 
    <select id="selectArdAlarmRadarFireList" parameterType="ArdAlarmRadarFire" resultMap="ArdAlarmRadarFireResult"> 
 | 
        <include refid="selectArdAlarmRadarFireVo"/> 
 | 
        <where>   
 | 
            <if test="name != null  and name != ''"> and name like '%'||#{name}||'%'</if> 
 | 
            <if test="targetId != null  and targetId != ''"> and target_id = #{targetId}</if> 
 | 
            <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if> 
 | 
            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if> 
 | 
            <if test="longitude != null "> and longitude = #{longitude}</if> 
 | 
            <if test="latitude != null "> and latitude = #{latitude}</if> 
 | 
            <if test="recordUrl != null  and recordUrl != ''"> and record_url = #{recordUrl}</if> 
 | 
            <if test="viewTime != null "> and view_time = #{viewTime}</if> 
 | 
            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if> 
 | 
            <if test="deptId != null "> and dept_id = #{deptId}</if> 
 | 
            <if test="guideTime != null "> and guide_time = #{guideTime}</if> 
 | 
            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> 
 | 
                AND alarm_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') 
 | 
            </if> 
 | 
            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> 
 | 
                AND alarm_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') 
 | 
            </if> 
 | 
        </where> 
 | 
        order by alarm_time desc 
 | 
    </select> 
 | 
     
 | 
    <select id="selectArdAlarmRadarFireById" parameterType="String" resultMap="ArdAlarmRadarFireResult"> 
 | 
        <include refid="selectArdAlarmRadarFireVo"/> 
 | 
        where id = #{id} 
 | 
    </select> 
 | 
         
 | 
    <insert id="insertArdAlarmRadarFire" parameterType="ArdAlarmRadarFire"> 
 | 
        insert into ard_alarm_radar_fire 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
            <if test="id != null">id,</if> 
 | 
            <if test="name != null">name,</if> 
 | 
            <if test="targetId != null">target_id,</if> 
 | 
            <if test="alarmType != null">alarm_type,</if> 
 | 
            <if test="alarmTime != null">alarm_time,</if> 
 | 
            <if test="longitude != null">longitude,</if> 
 | 
            <if test="latitude != null">latitude,</if> 
 | 
            <if test="recordUrl != null">record_url,</if> 
 | 
            <if test="viewTime != null">view_time,</if> 
 | 
            <if test="createBy != null">create_by,</if> 
 | 
            <if test="createTime != null">create_time,</if> 
 | 
            <if test="updateTime != null">update_time,</if> 
 | 
            <if test="userId != null">user_id,</if> 
 | 
            <if test="deptId != null">dept_id,</if> 
 | 
            <if test="guideTime != null">guide_time,</if> 
 | 
         </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
            <if test="id != null">#{id},</if> 
 | 
            <if test="name != null">#{name},</if> 
 | 
            <if test="targetId != null">#{targetId},</if> 
 | 
            <if test="alarmType != null">#{alarmType},</if> 
 | 
            <if test="alarmTime != null">#{alarmTime},</if> 
 | 
            <if test="longitude != null">#{longitude},</if> 
 | 
            <if test="latitude != null">#{latitude},</if> 
 | 
            <if test="recordUrl != null">#{recordUrl},</if> 
 | 
            <if test="viewTime != null">#{viewTime},</if> 
 | 
            <if test="createBy != null">#{createBy},</if> 
 | 
            <if test="createTime != null">#{createTime},</if> 
 | 
            <if test="updateTime != null">#{updateTime},</if> 
 | 
            <if test="userId != null">#{userId},</if> 
 | 
            <if test="deptId != null">#{deptId},</if> 
 | 
            <if test="guideTime != null">#{guideTime},</if> 
 | 
         </trim> 
 | 
    </insert> 
 | 
  
 | 
    <update id="updateArdAlarmRadarFire" parameterType="ArdAlarmRadarFire"> 
 | 
        update ard_alarm_radar_fire 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            <if test="name != null">name = #{name},</if> 
 | 
            <if test="targetId != null">target_id = #{targetId},</if> 
 | 
            <if test="alarmType != null">alarm_type = #{alarmType},</if> 
 | 
            <if test="alarmTime != null">alarm_time = #{alarmTime},</if> 
 | 
            <if test="longitude != null">longitude = #{longitude},</if> 
 | 
            <if test="latitude != null">latitude = #{latitude},</if> 
 | 
            <if test="recordUrl != null">record_url = #{recordUrl},</if> 
 | 
            <if test="viewTime != null">view_time = #{viewTime},</if> 
 | 
            <if test="createBy != null">create_by = #{createBy},</if> 
 | 
            <if test="createTime != null">create_time = #{createTime},</if> 
 | 
            <if test="updateTime != null">update_time = #{updateTime},</if> 
 | 
            <if test="userId != null">user_id = #{userId},</if> 
 | 
            <if test="deptId != null">dept_id = #{deptId},</if> 
 | 
            <if test="guideTime != null">guide_time = #{guideTime},</if> 
 | 
        </trim> 
 | 
        where id = #{id} 
 | 
    </update> 
 | 
  
 | 
    <delete id="deleteArdAlarmRadarFireById" parameterType="String"> 
 | 
        delete from ard_alarm_radar_fire where id = #{id} 
 | 
    </delete> 
 | 
  
 | 
    <delete id="deleteArdAlarmRadarFireByIds" parameterType="String"> 
 | 
        delete from ard_alarm_radar_fire where id in  
 | 
        <foreach item="id" collection="array" open="(" separator="," close=")"> 
 | 
            #{id} 
 | 
        </foreach> 
 | 
    </delete> 
 | 
    <select id="selectCountByAlarmTime" resultType="Integer"> 
 | 
        SELECT COUNT(DISTINCT aarm.name) 
 | 
        FROM ard_alarm_radar_fire aarm 
 | 
        WHERE aarm.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE 
 | 
          and aarm.view_time is null 
 | 
    </select> 
 | 
    <select id="selectListAllByCommand" resultMap="ArdAlarmRadarFireResult"> 
 | 
        select aaar.ID, 
 | 
               aaar.target_id, 
 | 
               aaar.NAME, 
 | 
               aaar.alarm_type, 
 | 
               aaar.alarm_time, 
 | 
               aaar.longitude, 
 | 
               aaar.latitude, 
 | 
               r.COUNT, 
 | 
               r.total  from 
 | 
            (SELECT 
 | 
                 aar.NAME, 
 | 
                 max(aar.create_time) as create_time1, 
 | 
                 count(case when aar.view_time is null THEN 1  END) as count, 
 | 
                 count(aar.id) as total 
 | 
             FROM 
 | 
                 ard_alarm_radar_fire aar 
 | 
             WHERE 
 | 
                 aar.create_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE ) 
 | 
             GROUP BY aar.NAME 
 | 
            ) r 
 | 
                INNER JOIN ard_alarm_radar_fire aaar ON r.create_time1 = aaar.create_time 
 | 
    </select> 
 | 
    <update id="updateViewTimeByCondition" parameterType="String"> 
 | 
        update ard_alarm_radar_fire 
 | 
        set view_time=#{viewTime} 
 | 
        where name = #{name} 
 | 
          and alarm_time<=#{alarmTime} 
 | 
          and view_time is null 
 | 
    </update> 
 | 
    <select id="selectArdAlarmRadarLastData" parameterType="String" resultMap="ArdAlarmRadarFireResult"> 
 | 
        select * from ard_alarm_radar_fire where name=#{name} order by update_time desc LIMIT 1 
 | 
    </select> 
 | 
  
 | 
    <select id="fileYear" resultType="com.ruoyi.statistical.vo.CountVo"> 
 | 
        select to_char(alarm_time::DATE, 'MM') as date,count(id) 
 | 
        from ard_alarm_radar_fire 
 | 
        where alarm_time >= #{start} and  alarm_time <= #{end}  group by date order by date 
 | 
    </select> 
 | 
    <select id="fileMonth" resultType="com.ruoyi.statistical.vo.CountVo"> 
 | 
        select to_char(alarm_time::DATE, 'dd') as date,count(id) 
 | 
        from ard_alarm_radar_fire 
 | 
        where alarm_time >= #{start} and  alarm_time <= #{end}  group by date order by date 
 | 
    </select> 
 | 
</mapper> 
 |