zhanghua
2023-06-24 cc7f335315c8439a6341c999fdffde0c772394af
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -85,7 +85,7 @@
                and t4.name like concat('%', #{categorySmall},'%')
            </if>
            <if test="street != null">
                and ubc.community_id = #{street}
                and ubc.street_id = #{street}
            </if>
            <if test="site">
                and ubc.site like concat('%', #{site},'%')
@@ -93,8 +93,14 @@
            <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
                and ubc.create_time between #{startTime} and #{endTime}
            </if>
            <if test="violationsTypeId !=null">
                and uv.grade_id = #{violationsTypeId}
            </if>
            <if test="videoId !=null">
                and uv.video_point_id = #{videoId}
            </if>
        </where>
        order by id desc
    </select>
    <select id="listIllegalBuildingsPage" resultType="com.ycl.vo.casePool.CasePoolIllegalBuildingVO">
@@ -129,7 +135,7 @@
                and ubc.category=#{type}
            </if>
        </where>
        order by ubc.id desc
    </select>
@@ -253,33 +259,43 @@
    </select>
    <select id="selectVideoInspection" resultType="com.ycl.vo.casePool.BaseCaseVO">
        SELECT t1.id               as baseId,
               t1.`code`,
               t3.`name`,
               t3.url_address,
               t3.longitude,
               t3.latitude,
               t4.pic_data,
               t5.`name`           as grade,
               t3.address,
               t3.plat_resource_id as platResourceId,
               t3.code             as videoCode,
               t1.alarm_time       as alarmTime,
               t1.alarm_time       as currentAlarmTime,
               t4.algo_name        as algoName
        SELECT t1.id as baseId,
        t1.`code`,
        t3.`name`,
        t3.url_address,
        t3.longitude,
        t3.latitude,
        t4.pic_data,
        t5.`name` as grade,
        t3.address,
        t3.plat_resource_id as platResourceId,
        t3.code as videoCode,
        t1.alarm_time as alarmTime,
        t1.alarm_time as currentAlarmTime,
        t4.algo_name as algoName
        FROM ums_base_case t1
                 LEFT JOIN ums_violations t2 ON t1.id = t2.id
                 LEFT JOIN ums_video_point t3 on t2.video_point_id = t3.id
                 LEFT JOIN ums_video_alarm_report t4 on t4.id = t2.video_alarm_report_id
                 LEFT JOIN ums_data_dictionary t5 on t5.id = t2.grade_id
        LEFT JOIN ums_violations t2 ON t1.id = t2.id
        LEFT JOIN ums_video_point t3 on t2.video_point_id = t3.id
        LEFT JOIN ums_video_alarm_report t4 on t4.id = t2.video_alarm_report_id
        LEFT JOIN ums_data_dictionary t5 on t5.id = t2.grade_id
        WHERE t1.state = 1
        <if test="gradeId!=null">
            and t2.grade_id = #{gradeId}
        </if>
        <if test="videoId!=null">
            and t2.video_point_id = #{videoId}
        </if>
        <if test="beginTime!=null and beginTime!=''">
            and t1.alarm_time between #{beginTime} and #{endTime}
        </if>
        group by t1.id
        order by t1.id desc
    </select>
    <select id="selectRegisterCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state in (2, 6,7,8,9)
        where state in (2, 6, 7, 8, 9)
          and to_days(create_time) = TO_DAYS(now());
    </select>
@@ -291,14 +307,23 @@
    </select>
    <select id="dayCount" resultType="java.lang.Integer">
        select count(1)
        from ums_base_case
        where to_days(create_time) = TO_DAYS(now());
        SELECT
            count(1)
        FROM
            ums_base_case
        WHERE
            create_time BETWEEN CONCAT( CURDATE(), ' 00:00:00' )
                AND CONCAT( CURDATE(), ' 23:59:59' );
    </select>
    <select id="weekCount" resultType="java.lang.Integer">
        select count(1)
        from ums_base_case
        WHERE YEARWEEK(date_format(create_time, '%Y-%m-%d')) = YEARWEEK(now());;
        SELECT
            count( 1 )
        FROM
            ums_base_case
        WHERE
                YEARWEEK(
                        date_format( create_time, '%Y-%m-%d' ), 1) = YEARWEEK(
                        now(), 1);
    </select>
    <select id="dispatchCount" resultType="java.lang.Integer">
        select count(1)
@@ -316,9 +341,8 @@
        t1.alarm_time,
        t1.longitude,
        t1.latitude,
        ( CASE WHEN t1.category = 1 THEN "违规" WHEN t1.category = 2 THEN "违建" ELSE "其他" END ) AS type,
        ( CASE WHEN t1.event_source = 1 THEN "视频巡查" WHEN t1.event_source = 2 THEN "人工上报" ELSE "其他" END ) AS alarmAdvice,
        ( CASE WHEN t1.event_source = 1 THEN "视频巡查" WHEN t1.event_source = 2 THEN "人工上报" ELSE "其他" END ) AS source,
        dd.name AS type,
        ( CASE WHEN t1.event_source = 1 THEN "视频巡查" WHEN t1.event_source = 2 THEN "网格巡查" ELSE "其他" END ) AS source,
        t1.site AS address,
        t2.description,
        t3.`name` AS point,
@@ -334,14 +358,15 @@
        WHEN t1.state = 7 THEN '处置'
        WHEN t1.state = 8 THEN '核查'
        WHEN t1.state = 9 THEN '结案'
        END) `status`              ,
        dd.`name` as grade
        END) `alarmAdvice` ,
        pdd.`name` as grade
        FROM
        ums_base_case t1
        LEFT JOIN ums_violations t2 ON t1.id = t2.id
        LEFT JOIN ums_video_point t3 ON t3.id = t2.video_point_id
        LEFT JOIN ums_video_alarm_report t4 ON t4.id = t2.video_alarm_report_id
        LEFT JOIN ums_data_dictionary dd on t2.grade_id = dd.id
        LEFT JOIN ums_data_dictionary pdd on pdd.id = dd.parent_id
        <where>
            t1.category=1
            <if test="beginTime !=''and beginTime!=null and endTime!=''and endTime!=null">
@@ -350,10 +375,10 @@
            </if>
        </where>
        order by t1.id desc
    </select>
    <select id="areaCount" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT t2.region_name,
        SELECT t2.region_name name,
               COUNT(1) AS count
        FROM
            `ums_base_case` t1
@@ -381,9 +406,10 @@
        FROM
            ums_violations t1
            LEFT JOIN ums_data_dictionary t2
        ON t1.category_id = t2.id
        ON t1.grade_id = t2.id
        GROUP BY
            t1.category_id
            t1.grade_id
        ORDER BY       COUNT(1) desc
    </select>
    <select id="selectLastMonthCount" resultType="java.lang.Long">
@@ -413,14 +439,22 @@
    </select>
    <select id="selectOnTimeCaseCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time
        SELECT COUNT(1)
        FROM ums_dispose_record
        WHERE end_time &lt; limit_time
    </select>
    <select id="selectOnTimeCaseLastMonthCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time  AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =1
        SELECT COUNT(1)
        FROM ums_dispose_record
        WHERE end_time &lt; limit_time
          AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1
    </select>
    <select id="selectOnTimeCaseRecentlyMonthCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time  AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =0
        SELECT COUNT(1)
        FROM ums_dispose_record
        WHERE end_time &lt; limit_time
          AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 0
    </select>
</mapper>