wl
2022-12-13 ee636374a5ce515b5dd25c2b7dd48a9d01743a25
ycl-platform/src/main/resources/mapper/trend/TrendAnalysisMapper.xml
@@ -3,35 +3,37 @@
<mapper namespace="com.ycl.mapper.trend.TrendAnalysisMapper">
    <select id="selectTrendInfo" resultType="com.ycl.vo.TrendVo" parameterType="com.ycl.dto.trend.TrendAnalysisParam">
        select vp.id,vp.name,count(0) as count from
          ums_warn_alarm_record war
        left join
          ums_violations v
        on v.id=war.case_number_id
        left join
          ums_video_point vp
        on v.video_point_id=vp.id
        SELECT
        t2.id,
        t2.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>
            <if test="tap.startTime!=null and tap.startTime!=''and tap.endTime!=null and tap.endTime!=''" >
                war.alarm_time between #{tap.startTime} and #{tap.endTime}
            </if>
            <if test="tap.type!=null and tap.type!=''" >
                war.violation_type=#{tap.type}
            </if>
                t3.alarm_time between #{tap.startTime} and #{tap.endTime}
        </where>
        group by vp.id,vp.name
        order by count DESC
        GROUP BY
        t1.video_point_id
        ORDER BY
        count DESC
    </select>
    <select id="selectTrendPointInfo" resultType="com.ycl.vo.TrendVo" parameterType="string">
        SELECT vp.address, DATE_FORMAT(war.alarm_time,"%Y-%m-%d") as dateTime,count(0) as count
        from ums_warn_alarm_record war
        left join ums_violations v
        on v.id=war.case_number_id
        left join ums_video_point vp
        on v.video_point_id=vp.id
        where vp.id=#{id}
        GROUP BY vp.address,DATE_FORMAT(war.alarm_time,"%Y-%m-%d")
    <select id="selectTrendPointInfo" 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>
            <if test="longitude='' and longitude =null and latitude='' and latitude=null">
                t2.longitude=#{longitude} and t2.latitude=#{latitude}
            </if>
        </where>
        GROUP BY
        t1.video_point_id,DATE_FORMAT(t3.alarm_time,"%Y-%m-%d")
    </select>
</mapper>