From 7a33c5b558e7e4ab5760261accbd32c7f2056c4a Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 23 九月 2024 19:16:13 +0800
Subject: [PATCH] 大屏分离平台在线和考核成绩接口

---
 ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml |  103 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 75 insertions(+), 28 deletions(-)

diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index ce044f0..c6d6db9 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/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,8 +17,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,40 +28,47 @@
     </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">
-        select tciv.*,sd.dept_name
+        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_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 examine_tag = #{examineTag}</if>
+            <if test="examineTag != null "> and tciv.examine_tag = #{examineTag}</if>
+            <if test="examineTagQuery != null "> and p.province_tag = #{examineTagQuery}</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="keyCommandImageOnline != null "> and key_command_image_online = #{keyCommandImageOnline}</if>
-            <if test="imageResourceSecurity != null "> and image_resource_security = #{imageResourceSecurity}</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>
+        group by tciv.id
+        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="createTime != null "> and  date(tciv.create_time) = #{createTime}</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}
@@ -77,8 +86,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 +105,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 +128,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 +163,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 +190,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="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>

--
Gitblit v1.8.0