fuliqi
2024-10-15 35d325f87d78d942d78a538dd36d5317f0876313
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -35,13 +35,17 @@
        select tciv.*,sd.dept_name,tcs.score,count(m.serial_number) as num
        from t_check_index_video tciv left join sys_dept sd on tciv.dept_id = sd.dept_id
        left join t_check_score tcs on tciv.id = tcs.index_id
        left join t_yw_point p on p.dept_id = tciv.dept_id
        left join t_yw_point p on p.dept_id = tciv.dept_id  and p.examine_status = 1
        left join t_monitor m on p.serial_number = m.serial_number
        <where>
            tcs.examine_category = 1 and m.camera_fun_type like concat('%',1,'%')
            <if test="deptId != null "> and tciv.dept_id = #{deptId}</if>
            <if test="examineTag != null "> and tciv.examine_tag = #{examineTag}</if>
            <if test="examineTagQuery != null "> and p.province_tag = #{examineTagQuery}</if>
            <if test="provinceTag != null "> and p.province_tag = #{provinceTag}</if>
            <if test="deptTag != null "> and p.dept_tag = #{deptTag}</if>
            <if test="quarter != null and quarter.size > 0">
                and date_format(tcs.create_time, '%Y-%m') between #{quarter[0]} and #{quarter[1]}
            </if>
            <if test="date != null "> and  date_format(tciv.create_time,'%Y-%m') = #{date}</if>
            <if test="day != null "> and  date(tciv.create_time) = #{day}</if>
            <if test="createTime != null "> and  date(tciv.create_time) = #{createTime}</if>
@@ -155,6 +159,70 @@
    </select>
    <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">
<!--        SELECT-->
<!--        IFNULL(ROUND(AVG(platform_online * 100), 0), 0) AS platform_online,-->
<!--        IFNULL(ROUND(AVG(monitor_qualification * 100), 0), 0) AS monitor_qualification,-->
<!--        IFNULL(ROUND(AVG(monitor_registration * 100), 0), 0) AS monitor_registration,-->
<!--        IFNULL(ROUND(AVG(archives_rate * 100), 0), 0) AS archives_rate,-->
<!--        IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,-->
<!--        IFNULL(ROUND(AVG(video_available * 100), 0), 0) AS video_available,-->
<!--        IFNULL(ROUND(AVG(ministry_site_online * 100), 0), 0) AS ministry_site_online,-->
<!--        IFNULL(ROUND(AVG(ministry_video_available * 100), 0), 0) AS ministry_video_available,-->
<!--        IFNULL(ROUND(AVG(key_site_online * 100), 0), 0) AS key_site_online,-->
<!--        IFNULL(ROUND(AVG(key_video_available * 100), 0), 0) AS key_video_available,-->
<!--        IFNULL(ROUND(AVG(key_annotation_accuracy * 100), 0), 0) AS key_annotation_accuracy,-->
<!--        IFNULL(ROUND(AVG(key_timing_accuracy * 100), 0), 0) AS key_timing_accuracy,-->
<!--        IFNULL(ROUND(AVG(key_command_image_online * 100), 0), 0) AS key_command_image_online,-->
<!--        IFNULL(ROUND(AVG(image_resource_security * 100), 0), 0) AS image_resource_security-->
<!--        FROM-->
<!--        t_check_index_video-->
<!--        <where>-->
<!--            <if test="deptId != null">-->
<!--                AND dept_id = #{deptId}-->
<!--            </if>-->
<!--            <if test="dataScope == 1">-->
<!--                AND examine_tag = 0-->
<!--            </if>-->
<!--            <if test="dataScope == 2">-->
<!--                AND examine_tag = 1-->
<!--            </if>-->
<!--            <if test="dataScope == 3">-->
<!--                AND examine_tag = 2-->
<!--            </if>-->
<!--        </where>-->
<!--        ORDER BY-->
<!--        create_time DESC-->
<!--        <if test="deptId == null">-->
<!--            LIMIT 7-->
<!--        </if>-->
<!--        <if test="deptId != null">-->
<!--            LIMIT 1-->
<!--        </if>-->
        WITH LatestRecords AS (
        SELECT *
        FROM t_check_index_video
        <where>
            <if test="deptId != null">
                AND dept_id = #{deptId}
            </if>
            <if test="dataScope == 1">
                AND examine_tag = 0
            </if>
            <if test="dataScope == 2">
                AND examine_tag = 1
            </if>
            <if test="dataScope == 3">
                AND examine_tag = 2
            </if>
        </where>
        ORDER BY create_time DESC
        <if test="deptId == null">
            LIMIT 7
        </if>
        <if test="deptId != null">
            LIMIT 1
        </if>
        )
        SELECT
        IFNULL(ROUND(AVG(platform_online * 100), 0), 0) AS platform_online,
        IFNULL(ROUND(AVG(monitor_qualification * 100), 0), 0) AS monitor_qualification,
@@ -171,29 +239,7 @@
        IFNULL(ROUND(AVG(key_command_image_online * 100), 0), 0) AS key_command_image_online,
        IFNULL(ROUND(AVG(image_resource_security * 100), 0), 0) AS image_resource_security
        FROM
        t_check_index_video
        <where>
            <if test="deptId != null">
                AND dept_id = #{deptId}
            </if>
            <if test="dataScope == 1">
                AND examine_tag = 0
            </if>
            <if test="dataScope == 2">
                AND examine_tag = 1
            </if>
            <if test="dataScope == 3">
                AND examine_tag = 2
            </if>
        </where>
        ORDER BY
        create_time DESC
        <if test="deptId == null">
            LIMIT 7
        </if>
        <if test="deptId != null">
            LIMIT 1
        </if>
        LatestRecords;
    </select>
    <select id="selectAndDeptName" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">