fuliqi
2025-01-08 90276a76b56cc1e744f7fa68ce921a28a8a9c92f
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -8,6 +8,8 @@
        <result property="id"    column="id"    />
        <result property="deptId"    column="dept_id"    />
        <result property="createTime"    column="create_time"    />
        <result property="num"    column="num"    />
        <result property="score"    column="score"    />
        <result property="examineTag"    column="examine_tag"    />
        <result property="platformOnline"    column="platform_online"    />
        <result property="monitorQualification"    column="monitor_qualification"    />
@@ -15,63 +17,56 @@
        <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"    />
        <result property="keyTimingAccuracy"    column="key_timing_accuracy"    />
        <result property="keyCommandImageInspection"    column="key_command_image_inspection"    />
        <result property="keyCommandImageDirectoryTree"    column="key_command_image_directory_tree"    />
        <result property="onlineInspectionPlatform"    column="online_inspection_platform"    />
        <result property="videoTransmissionAssetsAccuracy"    column="video_transmission_assets_accuracy"    />
        <result property="videoTransmissionAssetsWeakPasswordScore"    column="video_transmission_assets_weak_password_score"    />
        <result property="videoTransmissionDangerousAssetsScore"    column="video_transmission_dangerous_assets_score"    />
        <result property="videoTransmissionBoundaryIntegrityDetection"    column="video_transmission_boundary_integrity_detection"    />
        <result property="operatingRate"    column="operating_rate"    />
        <result property="keyCommandImageOnline"    column="key_command_image_online"    />
        <result property="imageResourceSecurity"    column="image_resource_security"    />
    </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_inspection, key_command_image_directory_tree, online_inspection_platform, video_transmission_assets_accuracy, video_transmission_assets_weak_password_score, video_transmission_dangerous_assets_score, video_transmission_boundary_integrity_detection, operating_rate 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">
        select tciv.*,sd.dept_name
        select tciv.*,sd.dept_name,tcs.score,IFNULL(tcs.device_count,0) 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
        <where>
            tcs.examine_category = 1
            <if test="deptId != null "> and tciv.dept_id = #{deptId}</if>
            <if test="examineTag != null "> and examine_tag = #{examineTag}</if>
            <if test="examineTag != null "> and tciv.examine_tag = #{examineTag}</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>
            <if test="platformOnline != null "> and platform_online = #{platformOnline}</if>
            <if test="monitorQualification != null "> and monitor_qualification = #{monitorQualification}</if>
            <if test="monitorRegistration != null "> and monitor_registration = #{monitorRegistration}</if>
            <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="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>
            <if test="keyTimingAccuracy != null "> and key_timing_accuracy = #{keyTimingAccuracy}</if>
            <if test="keyCommandImageInspection != null "> and key_command_image_inspection = #{keyCommandImageInspection}</if>
            <if test="keyCommandImageDirectoryTree != null "> and key_command_image_directory_tree = #{keyCommandImageDirectoryTree}</if>
            <if test="onlineInspectionPlatform != null "> and online_inspection_platform = #{onlineInspectionPlatform}</if>
            <if test="videoTransmissionAssetsAccuracy != null "> and video_transmission_assets_accuracy = #{videoTransmissionAssetsAccuracy}</if>
            <if test="videoTransmissionAssetsWeakPasswordScore != null "> and video_transmission_assets_weak_password_score = #{videoTransmissionAssetsWeakPasswordScore}</if>
            <if test="videoTransmissionDangerousAssetsScore != null "> and video_transmission_dangerous_assets_score = #{videoTransmissionDangerousAssetsScore}</if>
            <if test="videoTransmissionBoundaryIntegrityDetection != null "> and video_transmission_boundary_integrity_detection = #{videoTransmissionBoundaryIntegrityDetection}</if>
            <if test="operatingRate != null "> and operating_rate = #{operatingRate}</if>
            <if test="params.publish != null  and params.publish != ''">and tciv.publish = #{params.publish}</if>
            <if test="deptIds != null ">and tciv.dept_id in
            <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
                #{deptId}
            </foreach>
            </if>
        </where>
        order by tciv.examine_tag desc,sd.area_code,tciv.create_time
    </select>
    <select id="getCheckIndexVideoList" parameterType="CheckIndexVideo" resultMap="CheckIndexVideoResult">
        select tciv.*,sd.dept_name
        from t_check_index_video tciv left join sys_dept sd on tciv.dept_id = sd.dept_id
        <where>
            <if test="examineTag != null "> and tciv.examine_tag = #{examineTag}</if>
            <if test="day != null "> and  date(tciv.create_time) = #{day}</if>
            <if test="deptIds != null ">and tciv.dept_id in
                <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
                    #{deptId}
                </foreach>
            </if>
        </where>
    </select>
    <select id="selectCheckIndexVideoById"  resultMap="CheckIndexVideoResult">
        <include refid="selectCheckIndexVideoVo"/>
        where id = #{id}
@@ -89,21 +84,15 @@
            <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>
            <if test="keyTimingAccuracy != null">key_timing_accuracy,</if>
            <if test="keyCommandImageInspection != null">key_command_image_inspection,</if>
            <if test="keyCommandImageDirectoryTree != null">key_command_image_directory_tree,</if>
            <if test="onlineInspectionPlatform != null">online_inspection_platform,</if>
            <if test="videoTransmissionAssetsAccuracy != null">video_transmission_assets_accuracy,</if>
            <if test="videoTransmissionAssetsWeakPasswordScore != null">video_transmission_assets_weak_password_score,</if>
            <if test="videoTransmissionDangerousAssetsScore != null">video_transmission_dangerous_assets_score,</if>
            <if test="videoTransmissionBoundaryIntegrityDetection != null">video_transmission_boundary_integrity_detection,</if>
            <if test="operatingRate != null">operating_rate,</if>
         </trim>
            <if test="keyCommandImageOnline != null">key_command_image_online,</if>
            <if test="imageResourceSecurity != null">image_resource_security,</if>
            </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="deptId != null">#{deptId},</if>
            <if test="createTime != null">#{createTime},</if>
@@ -114,20 +103,14 @@
            <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>
            <if test="keyTimingAccuracy != null">#{keyTimingAccuracy},</if>
            <if test="keyCommandImageInspection != null">#{keyCommandImageInspection},</if>
            <if test="keyCommandImageDirectoryTree != null">#{keyCommandImageDirectoryTree},</if>
            <if test="onlineInspectionPlatform != null">#{onlineInspectionPlatform},</if>
            <if test="videoTransmissionAssetsAccuracy != null">#{videoTransmissionAssetsAccuracy},</if>
            <if test="videoTransmissionAssetsWeakPasswordScore != null">#{videoTransmissionAssetsWeakPasswordScore},</if>
            <if test="videoTransmissionDangerousAssetsScore != null">#{videoTransmissionDangerousAssetsScore},</if>
            <if test="videoTransmissionBoundaryIntegrityDetection != null">#{videoTransmissionBoundaryIntegrityDetection},</if>
            <if test="operatingRate != null">#{operatingRate},</if>
            <if test="keyCommandImageOnline != null">#{keyCommandImageOnline},</if>
            <if test="imageResourceSecurity != null">#{imageResourceSecurity},</if>
         </trim>
    </insert>
@@ -143,20 +126,14 @@
            <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>
            <if test="keyTimingAccuracy != null">key_timing_accuracy = #{keyTimingAccuracy},</if>
            <if test="keyCommandImageInspection != null">key_command_image_inspection = #{keyCommandImageInspection},</if>
            <if test="keyCommandImageDirectoryTree != null">key_command_image_directory_tree = #{keyCommandImageDirectoryTree},</if>
            <if test="onlineInspectionPlatform != null">online_inspection_platform = #{onlineInspectionPlatform},</if>
            <if test="videoTransmissionAssetsAccuracy != null">video_transmission_assets_accuracy = #{videoTransmissionAssetsAccuracy},</if>
            <if test="videoTransmissionAssetsWeakPasswordScore != null">video_transmission_assets_weak_password_score = #{videoTransmissionAssetsWeakPasswordScore},</if>
            <if test="videoTransmissionDangerousAssetsScore != null">video_transmission_dangerous_assets_score = #{videoTransmissionDangerousAssetsScore},</if>
            <if test="videoTransmissionBoundaryIntegrityDetection != null">video_transmission_boundary_integrity_detection = #{videoTransmissionBoundaryIntegrityDetection},</if>
            <if test="operatingRate != null">operating_rate = #{operatingRate},</if>
            <if test="keyCommandImageOnline != null">key_command_image_online = #{keyCommandImageOnline},</if>
            <if test="imageResourceSecurity != null">image_resource_security = #{imageResourceSecurity},</if>
        </trim>
        where id = #{id}
    </update>
@@ -172,50 +149,129 @@
        </foreach>
    </delete>
    <select id="selectToday">
    <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">
        select * from t_check_index_video where DATE(create_time) = #{today}
    </select>
    <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">
        SELECT
        IFNULL(ROUND(AVG(platform_online * 100), 2), 0) AS platform_online,
        IFNULL(ROUND(AVG(monitor_qualification * 100), 2), 0) AS monitor_qualification,
        IFNULL(ROUND(AVG(monitor_registration * 100), 2), 0) AS monitor_registration,
        IFNULL(ROUND(AVG(archives_rate * 100), 2), 0) AS archives_rate,
        IFNULL(ROUND(AVG(site_online * 100), 2), 0) AS site_online,
        IFNULL(ROUND(AVG(video_available * 100), 2), 0) AS video_available,
        IFNULL(ROUND(AVG(annotation_accuracy * 100), 2), 0) AS annotation_accuracy,
        IFNULL(ROUND(AVG(timing_accuracy * 100), 2), 0) AS timing_accuracy,
        IFNULL(ROUND(AVG(key_site_online * 100), 2), 0) AS key_site_online,
        IFNULL(ROUND(AVG(key_video_available * 100), 2), 0) AS key_video_available,
        IFNULL(ROUND(AVG(key_annotation_accuracy * 100), 2), 0) AS key_annotation_accuracy,
        IFNULL(ROUND(AVG(key_timing_accuracy * 100), 2), 0) AS key_timing_accuracy,
        IFNULL(ROUND(AVG(key_command_image_inspection * 100), 2), 0) AS key_command_image_inspection,
        IFNULL(ROUND(AVG(key_command_image_directory_tree * 100), 2), 0) AS key_command_image_directory_tree,
        IFNULL(ROUND(AVG(online_inspection_platform * 100), 2), 0) AS online_inspection_platform,
        IFNULL(ROUND(AVG(video_transmission_assets_accuracy * 100), 2), 0) AS video_transmission_assets_accuracy,
        IFNULL(ROUND(AVG(video_transmission_assets_weak_password_score * 100), 2), 0) AS video_transmission_assets_weak_password_score,
        IFNULL(ROUND(AVG(video_transmission_dangerous_assets_score * 100), 2), 0) AS video_transmission_dangerous_assets_score,
        IFNULL(ROUND(AVG(video_transmission_boundary_integrity_detection * 100), 2), 0) AS video_transmission_boundary_integrity_detection,
        IFNULL(ROUND(AVG(operating_rate * 100), 2), 0) AS operating_rate,
        IFNULL(ROUND(AVG(key_command_image_online * 100), 2), 0) AS key_command_image_online
        FROM
        t_check_index_video
<!--        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
        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,
        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
        LatestRecords;
    </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="com.ycl.platform.domain.dto.ImageResourceDTO">
        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>