From 2263a744f99fba75e45419a60388d7ab62cb8e0b Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 04 九月 2025 15:53:39 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml |   65 ++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 24 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml
index 0939802..3739ba4 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml
@@ -44,30 +44,47 @@
         INNER join big_storage_out_temp on 1 = 1
     </select>
     <select id="queryRunTimes" resultType="com.mes.largenscreen.entity.RunTime">
-        with big_storage_cage_history_task_temp as (
-            select distinct create_time
-            from big_storage_cage_history_task
-            where task_type = 2
-              and create_time LIKE '%${days}%'
-        )
-        SELECT t1.create_time                                                    AS first_timestamp,
-               t2.create_time                                                    AS second_timestamp,
-               TIMESTAMPDIFF(MINUTE, t1.create_time, t2.create_time)             as diff_minutes
-                ,
-               (select min(create_time) from big_storage_cage_history_task_temp) as start_timestamp
-                ,
-               (select max(create_time) from big_storage_cage_history_task_temp) as end_timestamp
-        FROM (SELECT create_time,
-                     LEAD(create_time) OVER (ORDER BY create_time) AS next_timestamp
-              FROM big_storage_cage_history_task_temp) t1
-                 JOIN
-             (SELECT create_time,
-                     LEAD(create_time) OVER (ORDER BY create_time) AS next_timestamp
-              FROM big_storage_cage_history_task_temp) t2 ON t1.next_timestamp = t2.create_time
-
-        WHERE TIMESTAMPDIFF(MINUTE, t1.create_time, t2.create_time) between 11 and 500
-        GROUP BY t1.create_time, t2.create_time
-        ;
+        WITH big_storage_cage_history_task_temp AS
+                 (SELECT DISTINCT create_time
+                  FROM big_storage_cage_history_task
+                  WHERE task_type = 2 AND DATE ( create_time ) = '${days}' ),
+            time_temp AS (
+        SELECT
+            date (create_time) AS day_time,
+            MIN(create_time) AS start_timestamp,
+            MAX(create_time) AS end_timestamp
+        FROM
+            big_storage_cage_history_task
+        WHERE
+            Date ( create_time ) = '${days}'
+        GROUP BY
+            date ( create_time )
+            ),
+            result_temp AS (
+        SELECT
+            date ( t1.create_time ) AS day_time,
+            t1.create_time AS first_timestamp,
+            t2.create_time AS second_timestamp,
+            TIMESTAMPDIFF( MINUTE, t1.create_time, t2.create_time ) AS diff_minutes
+        FROM
+            ( SELECT create_time, LEAD( create_time ) OVER ( ORDER BY create_time ) AS next_timestamp FROM big_storage_cage_history_task_temp ) t1
+            JOIN ( SELECT create_time, LEAD( create_time ) OVER ( ORDER BY create_time ) AS next_timestamp FROM big_storage_cage_history_task_temp ) t2
+        ON t1.next_timestamp = t2.create_time
+        WHERE
+            TIMESTAMPDIFF( MINUTE
+            , t1.create_time
+            , t2.create_time ) BETWEEN 11
+          AND 500
+        GROUP BY
+            t1.create_time,
+            t2.create_time
+            ),
+            result AS (
+        SELECT first_timestamp, second_timestamp, diff_minutes, start_timestamp, end_timestamp
+        FROM time_temp t1 LEFT JOIN result_temp t2
+        ON t1.day_time = t2.day_time )
+        SELECT *
+        FROM result
     </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0