zhanghua
2022-12-14 c96ab96cb0243e197c5d6603312dfd06b3b15ebb
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -132,14 +132,14 @@
            <if test="categories != null">
                t1.category = #{categories}
            </if>
            <if test="communityId != null">
                and t1.community_id = #{communityId}
            <if test="streetId != null">
                and t1.community_id = #{streetId}
            </if>
            <if test="code != null and code !=''">
                and t1.code like contact('%',#{code},'%')
                and t1.code like concat('%',#{code},'%')
            </if>
            <if test="site != null and site!=''">
                and t1.site like contact('%',#{site},'%')
                and t1.site like concat('%',#{site},'%')
            </if>
            <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
                and t1.create_time between #{startTime} and #{endTime}
@@ -216,7 +216,7 @@
                and t1.state=#{queryForViolationParam.state}
            </if>
            <if test="queryForViolationParam.carNumber != null and  queryForViolationParam.carNumber!=''">
                and t2.car_umber like concat('%',#{queryForViolationParam.carNumber},'%')
                and t2.car_number like concat('%',#{queryForViolationParam.carNumber},'%')
            </if>
            <if test="queryForViolationParam.videoPointId != null">
                and t1.video_point_id=#{queryForViolationParam.videoPointId}
@@ -229,26 +229,115 @@
    </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
        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
        WHERE t1.state = 1
        group by t1.id
    </select>
    <select id="selectRegisterCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state in (2, 6)
          and to_days(create_time) = TO_DAYS(now());
    </select>
    <select id="dayCount" resultType="java.lang.Integer">
        select count(1)
        from ums_base_case
        where to_days(create_time) = TO_DAYS(now());
    </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>
    <select id="dispatchCount" resultType="java.lang.Integer">
        select count(1)
        FROM ums_base_case t1
                 LEFT JOIN ums_dispose_record t2 ON t1.id = t2.base_case_id
        WHERE t2.workflow_config_step_id = 1
    </select>
    <select id="alCount" resultType="java.lang.Integer">
        select count(1)
        FROM ums_base_case
        WHERE event_source = 1;
    </select>
    <select id="selectEventList" resultType="com.ycl.vo.cockpit.enforcementEvents.EventVO">
        SELECT
            t1.`code`,
            t3.`name`,
            t3.url_address,
            t3.longitude,
            t3.latitude,
            t4.pic_data,
            t5.`name` as grade,
            t6.`name` as street,
            t7.`name` as community,
            t1.alarm_time as alarmTime
        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,
        t1.site AS address,
        t2.description,
        t3.`name` AS point,
        t4.pic_data AS picture
        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_data_dictionary t6 on t6.id=t1.street_id
                LEFT JOIN ums_data_dictionary t7 on t7.id=t1.community_id
        WHERE t1.state=1
       group by t1.id
        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
        <where>
            t1.category=1
            <if test="beginTime !=''and beginTime!=null and endTime!=''and endTime!=null">
                and t1.create_time BETWEEN #{beginTime}
                AND #{endTime}
            </if>
        </where>
    </select>
    <select id="areaCount" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT t2.region_name,
               COUNT(1) AS count
        FROM
            `ums_base_case` t1
            LEFT JOIN ums_sccg_region t2
        ON t1.street_id = t2.id
        GROUP BY
            street_id
    </select>
    <select id="selectDelayVOList" resultType="com.ycl.dto.cockpitManage.DelayDO">
        SELECT t1.`code`,
               t3.description,
               t2.start_time,
               t2.end_time,
               t2.limit_time
        FROM `ums_base_case` t1
                 LEFT JOIN ums_dispose_record t2 ON t1.id = t2.base_case_id
                 LEFT JOIN ums_violations t3 on t1.id = t3.id
        WHERE t2.workflow_config_step_id IN (1, 2)
    </select>
    <select id="selectType" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT
            IFNULL( t2.`name`, "其他" ) as name,
            COUNT( 1 )  as count
        FROM
            ums_violations t1
                LEFT JOIN ums_data_dictionary t2 ON t1.category_id = t2.id
        GROUP BY
            t1.category_id
    </select>
</mapper>