From 261698358e2b756a61e992bc1651e01b3f45290b Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 23 十月 2025 16:50:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageHistoryTaskMapper.xml |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageHistoryTaskMapper.xml b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageHistoryTaskMapper.xml
index 6629e95..d0d3df9 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageHistoryTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageHistoryTaskMapper.xml
@@ -47,4 +47,47 @@
         from hollow_out_one_temp
         inner join hollow_out_two_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 hollow_big_storage_cage_history_task
+                  WHERE task_type = 5 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
+            hollow_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