From ee03b526152d335dd1e42bc01a1f717d1205204c Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 26 五月 2025 15:27:04 +0800 Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率bug修复,hk接口bug修复, --- ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 94 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 70 insertions(+), 24 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml index c6d6db9..8a086c3 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml @@ -32,16 +32,16 @@ </sql> <select id="selectCheckIndexVideoList" parameterType="CheckIndexVideo" resultMap="CheckIndexVideoResult"> - select tciv.*,sd.dept_name,tcs.score,count(m.serial_number) as num + 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 - 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,'%') + tcs.examine_category = 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="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> @@ -52,7 +52,6 @@ </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"> @@ -61,7 +60,6 @@ <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} @@ -156,6 +154,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, @@ -172,23 +234,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 = 1 - </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