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/CheckIndexCarMapper.xml |   80 +++++++++++++++++++++++++++++-----------
 1 files changed, 58 insertions(+), 22 deletions(-)

diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
index 9e37712..8cedd23 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
@@ -28,16 +28,16 @@
     </sql>
 
     <select id="selectCheckIndexCarList"  resultMap="CheckIndexCarResult">
-        select tcic.*,sd.dept_name,tcs.score,count(m.serial_number) as num
+        select tcic.*,sd.dept_name,tcs.score,IFNULL(tcs.device_count,0) as num
         from t_check_index_car tcic left join sys_dept sd on tcic.dept_id = sd.dept_id
         left join t_check_score tcs on tcic.id = tcs.index_id
-        left join t_yw_point p on p.dept_id = tcic.dept_id
-        left join t_monitor m on p.serial_number = m.serial_number
         <where>
-            tcs.examine_category = 2 and m.camera_fun_type like concat('%',2,'%')
+            tcs.examine_category = 2
             <if test="deptId != null "> and tcic.dept_id = #{deptId}</if>
             <if test="examineTag != null "> and tcic.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(tcic.create_time,'%Y-%m') = #{date}</if>
             <if test="day != null "> and  date(tcic.create_time) = #{day}</if>
             <if test="params.publish != null  and params.publish != ''">and tcic.publish = #{params.publish}</if>
@@ -47,14 +47,12 @@
                 </foreach>
             </if>
         </where>
-        group by tcic.id
         order by tcic.examine_tag desc,sd.area_code,tcic.create_time
     </select>
 
     <select id="getCheckIndexCarList"  resultMap="CheckIndexCarResult">
         select tcic.*,sd.dept_name
         from t_check_index_car tcic left join sys_dept sd on tcic.dept_id = sd.dept_id
-        left join t_check_score tcs on tcic.id = tcs.index_id
         <where>
             <if test="examineTag != null "> and tcic.examine_tag = #{examineTag}</if>
             <if test="day != null "> and  date(tcic.create_time) = #{day}</if>
@@ -140,19 +138,44 @@
     </select>
 
     <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexCar">
-        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(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,
-            IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,
-            IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,
-            IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,
-            IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,
-            IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,
-            IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability
-        FROM
-            t_check_index_car
+<!--        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(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,-->
+<!--            IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,-->
+<!--            IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,-->
+<!--            IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,-->
+<!--            IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,-->
+<!--            IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,-->
+<!--            IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability-->
+<!--        FROM-->
+<!--            t_check_index_car-->
+<!--        <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_car
         <where>
             <if test="deptId != null">
                 AND dept_id = #{deptId}
@@ -167,13 +190,26 @@
                 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(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(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,
+        IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,
+        IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,
+        IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,
+        IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,
+        IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,
+        IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability
+        FROM
+        LatestRecords;
     </select>
 </mapper>

--
Gitblit v1.8.0