1
zhanghua
2024-09-26 2d208602fcbf9442f922bf0d25d59b81851ee687
ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml
@@ -6,19 +6,22 @@
        SELECT
        t2.id,
        t2.NAME,
        count( 0 ) AS count
        count( 0 ) AS count,
        t2.longitude,
        t2.latitude
        FROM
        ums_violations t1
        LEFT JOIN ums_video_point t2 ON t2.id = t1.video_point_id
        LEFT JOIN ums_video_alarm_report t3 ON t3.id = t1.video_alarm_report_id
        <where>
            <if test="tap.startTime!=null and tap.startTime!=''and tap.endTime!=null and tap.endTime!=''" >
            <if test="tap.startTime!=null and tap.startTime!=''and tap.endTime!=null and tap.endTime!=''">
                t3.alarm_time between #{tap.startTime} and #{tap.endTime}
            </if>
            and t1.video_point_id IS NOT NULL
        </where>
        GROUP BY
        t1.video_point_id
        ORDER BY
        count DESC
        ORDER BY count DESC
    </select>
    <select id="selectTrendPointInfo" resultType="com.ycl.vo.TrendVo">
@@ -31,9 +34,39 @@
            <if test="longitude='' and longitude =null and latitude='' and latitude=null">
                t2.longitude=#{longitude} and t2.latitude=#{latitude}
            </if>
            and t1.video_point_id IS NOT NULL
        </where>
        GROUP BY
        t1.video_point_id,DATE_FORMAT(t3.alarm_time,"%Y-%m-%d")
    </select>
    <select id="queryPointInfoByTime" resultType="com.ycl.vo.TrendVo">
        SELECT t2.address, DATE_FORMAT(t3.alarm_time,"%Y-%m-%d") as dateTime,count(0) as count
        FROM
        ums_violations t1
        LEFT JOIN ums_video_point t2 ON t2.id = t1.video_point_id
        LEFT JOIN ums_video_alarm_report t3 ON t3.id = t1.video_alarm_report_id
        where t1.video_point_id = #{pointId}
        <if test="startTime!=null and startTime != ''">
            and t3.alarm_time BETWEEN #{startTime} and #{endTime}
        </if>
        GROUP BY
        t1.video_point_id,DATE_FORMAT(t3.alarm_time,"%Y-%m-%d")
        order by DATE_FORMAT(t3.alarm_time,"%Y-%m-%d")
    </select>
    <select id="queryPointInfoTypeByTime" resultType="com.ycl.vo.TrendVo">
        SELECT t3.algo_name as name,count(0) as count
        FROM
        ums_violations t1
        LEFT JOIN ums_video_point t2 ON t2.id = t1.video_point_id
        LEFT JOIN ums_video_alarm_report t3 ON t3.id = t1.video_alarm_report_id
        where t3.algo_name is not null
        and t1.video_point_id = #{pointId}
        <if test="startTime!=null and startTime != ''">
            and t3.alarm_time BETWEEN #{startTime} and #{endTime}
        </if>
        GROUP BY t3.algo_name
        order by t3.algo_name
    </select>
</mapper>