From 90276a76b56cc1e744f7fa68ce921a28a8a9c92f Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 08 一月 2025 11:52:10 +0800 Subject: [PATCH] 运行监控报表导出时间少一天问题 --- ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml | 132 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 115 insertions(+), 17 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml index 37b36f7..e3e9c64 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml @@ -3,11 +3,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.platform.mapper.CheckIndexFaceMapper"> - + <resultMap type="com.ycl.platform.domain.entity.CheckIndexFace" id="CheckIndexFaceResult"> <result property="id" column="id" /> <result property="deptId" column="dept_id" /> <result property="examineTag" column="examine_tag" /> + <result property="num" column="num" /> + <result property="score" column="score" /> <result property="createTime" column="create_time" /> <result property="viewConnectStability" column="view_connect_stability" /> <result property="siteOnline" column="site_online" /> @@ -24,28 +26,47 @@ </sql> <select id="selectCheckIndexFaceList" resultMap="CheckIndexFaceResult"> + select tcif.*,sd.dept_name,tcs.score,IFNULL(tcs.device_count,0) as num + from t_check_index_face tcif left join sys_dept sd on tcif.dept_id = sd.dept_id + left join t_check_score tcs on tcif.id = tcs.index_id + <where> + tcs.examine_category = 3 + <if test="deptId != null "> and tcif.dept_id = #{deptId}</if> + <if test="examineTag != null "> and tcif.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(tcif.create_time,'%Y-%m') = #{date}</if> + <if test="day != null "> and date(tcif.create_time) = #{day}</if> + <if test="params.publish != null and params.publish != ''">and tcif.publish = #{params.publish}</if> + <if test="deptIds != null ">and tcif.dept_id in + <foreach collection="deptIds" separator="," open="(" close=")" item="deptId"> + #{deptId} + </foreach> + </if> + </where> + order by tcif.examine_tag desc,sd.area_code,tcif.create_time + </select> + + <select id="getCheckIndexFaceList" resultMap="CheckIndexFaceResult"> select tcif.*,sd.dept_name from t_check_index_face tcif left join sys_dept sd on tcif.dept_id = sd.dept_id - <where> - <if test="deptId != null "> and dept_id = #{deptId}</if> - <if test="examineTag != null "> and examine_tag = #{examineTag}</if> - <if test="date != null "> and date_format(tcif.create_time,'%Y-%m') = #{date}</if> - <if test="viewConnectStability != null "> and view_connect_stability = #{viewConnectStability}</if> - <if test="siteOnline != null "> and site_online = #{siteOnline}</if> - <if test="deviceDirectoryConsistent != null "> and device_directory_consistent = #{deviceDirectoryConsistent}</if> - <if test="faceInformationCollectionAccuracy != null "> and face_information_collection_accuracy = #{faceInformationCollectionAccuracy}</if> - <if test="facePictureQualification != null "> and face_picture_qualification = #{facePictureQualification}</if> - <if test="faceTimingAccuracy != null "> and face_timing_accuracy = #{faceTimingAccuracy}</if> - <if test="faceUploadTimeliness != null "> and face_upload_timeliness = #{faceUploadTimeliness}</if> - <if test="facePictureAvailability != null "> and face_picture_availability = #{facePictureAvailability}</if> + <where> + <if test="examineTag != null "> and tcif.examine_tag = #{examineTag}</if> + <if test="day != null "> and date(tcif.create_time) = #{day}</if> + <if test="deptIds != null ">and tcif.dept_id in + <foreach collection="deptIds" separator="," open="(" close=")" item="deptId"> + #{deptId} + </foreach> + </if> </where> </select> - + <select id="selectCheckIndexFaceById" resultMap="CheckIndexFaceResult"> <include refid="selectCheckIndexFaceVo"/> where id = #{id} </select> - + <insert id="insertCheckIndexFace" useGeneratedKeys="true" keyProperty="id"> insert into t_check_index_face <trim prefix="(" suffix=")" suffixOverrides=","> @@ -99,9 +120,86 @@ </delete> <delete id="deleteCheckIndexFaceByIds" > - delete from t_check_index_face where id in + delete from t_check_index_face where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> -</mapper> \ No newline at end of file + + <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexFace"> + select * from t_check_index_face where DATE(create_time) = #{today} + </select> + + <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexFace"> +<!-- SELECT--> +<!-- IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,--> +<!-- IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,--> +<!-- IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,--> +<!-- IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 0), 0) AS face_information_collection_accuracy,--> +<!-- IFNULL(ROUND(AVG(face_picture_qualification * 100), 0), 0) AS face_picture_qualification,--> +<!-- IFNULL(ROUND(AVG(face_timing_accuracy * 100), 0), 0) AS face_timing_accuracy,--> +<!-- IFNULL(ROUND(AVG(face_upload_timeliness * 100), 0), 0) AS face_upload_timeliness,--> +<!-- IFNULL(ROUND(AVG(face_picture_availability * 100), 0), 0) AS face_picture_availability--> +<!-- FROM--> +<!-- t_check_index_face--> +<!-- <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_face + <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(view_connect_stability * 100), 0), 0) AS view_connect_stability, + IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online, + IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent, + IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 0), 0) AS face_information_collection_accuracy, + IFNULL(ROUND(AVG(face_picture_qualification * 100), 0), 0) AS face_picture_qualification, + IFNULL(ROUND(AVG(face_timing_accuracy * 100), 0), 0) AS face_timing_accuracy, + IFNULL(ROUND(AVG(face_upload_timeliness * 100), 0), 0) AS face_upload_timeliness, + IFNULL(ROUND(AVG(face_picture_availability * 100), 0), 0) AS face_picture_availability + FROM + LatestRecords; + </select> +</mapper> -- Gitblit v1.8.0