xiangpei
2024-09-03 46aaf9e30acf14a777cda37fe761b3b39e53f568
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -15,8 +15,8 @@
        <result property="archivesRate"    column="archives_rate"    />
        <result property="siteOnline"    column="site_online"    />
        <result property="videoAvailable"    column="video_available"    />
        <result property="annotationAccuracy"    column="annotation_accuracy"    />
        <result property="timingAccuracy"    column="timing_accuracy"    />
        <result property="ministrySiteOnline"    column="ministry_site_online"    />
        <result property="ministryVideoAvailable"    column="ministry_video_available"    />
        <result property="keySiteOnline"    column="key_site_online"    />
        <result property="keyVideoAvailable"    column="key_video_available"    />
        <result property="keyAnnotationAccuracy"    column="key_annotation_accuracy"    />
@@ -26,7 +26,7 @@
    </resultMap>
    <sql id="selectCheckIndexVideoVo">
        select id, dept_id, create_time, examine_tag, platform_online, monitor_qualification, monitor_registration, archives_rate, site_online, video_available, annotation_accuracy, timing_accuracy, key_site_online, key_video_available, key_annotation_accuracy, key_timing_accuracy, key_command_image_online,image_resource_security from t_check_index_video
        select id, dept_id, create_time, examine_tag, platform_online, monitor_qualification, monitor_registration, archives_rate, site_online, video_available, ministry_site_online, ministry_video_available, key_site_online, key_video_available, key_annotation_accuracy, key_timing_accuracy, key_command_image_online,image_resource_security from t_check_index_video
    </sql>
    <select id="selectCheckIndexVideoList" parameterType="CheckIndexVideo" resultMap="CheckIndexVideoResult">
@@ -44,8 +44,8 @@
            <if test="archivesRate != null "> and archives_rate = #{archivesRate}</if>
            <if test="siteOnline != null "> and site_online = #{siteOnline}</if>
            <if test="videoAvailable != null "> and video_available = #{videoAvailable}</if>
            <if test="annotationAccuracy != null "> and annotation_accuracy = #{annotationAccuracy}</if>
            <if test="timingAccuracy != null "> and timing_accuracy = #{timingAccuracy}</if>
            <if test="ministrySiteOnline != null "> and ministry_site_online = #{ministrySiteOnline}</if>
            <if test="ministryVideoAvailable != null "> and ministry_video_available = #{ministryVideoAvailable}</if>
            <if test="keySiteOnline != null "> and key_site_online = #{keySiteOnline}</if>
            <if test="keyVideoAvailable != null "> and key_video_available = #{keyVideoAvailable}</if>
            <if test="keyAnnotationAccuracy != null "> and key_annotation_accuracy = #{keyAnnotationAccuracy}</if>
@@ -77,8 +77,8 @@
            <if test="archivesRate != null">archives_rate,</if>
            <if test="siteOnline != null">site_online,</if>
            <if test="videoAvailable != null">video_available,</if>
            <if test="annotationAccuracy != null">annotation_accuracy,</if>
            <if test="timingAccuracy != null">timing_accuracy,</if>
            <if test="ministrySiteOnline != null">ministry_site_online,</if>
            <if test="ministryVideoAvailable != null">ministry_video_available,</if>
            <if test="keySiteOnline != null">key_site_online,</if>
            <if test="keyVideoAvailable != null">key_video_available,</if>
            <if test="keyAnnotationAccuracy != null">key_annotation_accuracy,</if>
@@ -96,8 +96,8 @@
            <if test="archivesRate != null">#{archivesRate},</if>
            <if test="siteOnline != null">#{siteOnline},</if>
            <if test="videoAvailable != null">#{videoAvailable},</if>
            <if test="annotationAccuracy != null">#{annotationAccuracy},</if>
            <if test="timingAccuracy != null">#{timingAccuracy},</if>
            <if test="ministrySiteOnline != null">#{ministrySiteOnline},</if>
            <if test="ministryVideoAvailable != null">#{ministryVideoAvailable},</if>
            <if test="keySiteOnline != null">#{keySiteOnline},</if>
            <if test="keyVideoAvailable != null">#{keyVideoAvailable},</if>
            <if test="keyAnnotationAccuracy != null">#{keyAnnotationAccuracy},</if>
@@ -119,8 +119,8 @@
            <if test="archivesRate != null">archives_rate = #{archivesRate},</if>
            <if test="siteOnline != null">site_online = #{siteOnline},</if>
            <if test="videoAvailable != null">video_available = #{videoAvailable},</if>
            <if test="annotationAccuracy != null">annotation_accuracy = #{annotationAccuracy},</if>
            <if test="timingAccuracy != null">timing_accuracy = #{timingAccuracy},</if>
            <if test="ministrySiteOnline != null">ministry_site_online = #{ministrySiteOnline},</if>
            <if test="ministryVideoAvailable != null">ministry_video_available = #{ministryVideoAvailable},</if>
            <if test="keySiteOnline != null">key_site_online = #{keySiteOnline},</if>
            <if test="keyVideoAvailable != null">key_video_available = #{keyVideoAvailable},</if>
            <if test="keyAnnotationAccuracy != null">key_annotation_accuracy = #{keyAnnotationAccuracy},</if>
@@ -154,8 +154,8 @@
        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(annotation_accuracy * 100), 0), 0) AS annotation_accuracy,
        IFNULL(ROUND(AVG(timing_accuracy * 100), 0), 0) AS timing_accuracy,
        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,
@@ -181,4 +181,42 @@
            LIMIT 1
        </if>
    </select>
    <select id="selectAndDeptName" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">
        WITH temp AS (
            SELECT
                r.id,
                r.dept_id,
                r.platform_online,
                r.monitor_qualification,
                d.area,
                ROW_NUMBER() OVER(PARTITION BY r.dept_id ORDER BY r.create_time DESC) AS rn
            FROM
                t_check_index_video r
                    JOIN
                sys_dept d ON r.dept_id = d.dept_id
        )
        SELECT
            id,
            dept_id,
            area as deptName,
            platform_online,
            monitor_qualification
        FROM
            temp
        WHERE
            rn = 1;
    </select>
    <select id="selectLastOneByDept" resultType="java.util.Map">
        WITH temp AS (
            SELECT
                image_resource_security AS imageResourceSecurity,
                dept_id AS deptId,
                ROW_NUMBER() OVER(PARTITION BY dept_id ORDER BY create_time DESC, image_resource_security DESC) AS num
            FROM
                t_check_index_video
        )
        SELECT deptId, imageResourceSecurity FROM temp WHERE num = 1;
    </select>
</mapper>