From af7f09e7965887b034c9add213bf68c816f22338 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 19 九月 2025 18:02:36 +0800
Subject: [PATCH] 中空理片笼缺片详情改造,中空一线二线三线页面改造

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

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml
index 8cc0c74..3739ba4 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageHistoryTaskMapper.xml
@@ -42,7 +42,49 @@
         select *
         from big_storage_in_temp
         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 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