From d74864fb938883b9c2b69abaf8b3ff740f03d930 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 23 十月 2024 10:22:14 +0800
Subject: [PATCH] 数据中心各种在线率优化
---
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 96 +++++++++++++++++++++++++++++++++++------------
1 files changed, 71 insertions(+), 25 deletions(-)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index 09c601b..07b9525 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/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">
--
Gitblit v1.8.0