From c8cc61e84189d8f986f7c4657d543408021b3da0 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 10 Nov 2023 12:46:56 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into wb

---
 screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml b/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
index 553e496..ec050c7 100644
--- a/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
+++ b/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
@@ -20,4 +20,54 @@
         order by time
     </select>
 
+    <select id="cruiserList" resultType="com.moral.api.pojo.dto.cruiser.CruiserListDTO">
+        WITH zb AS (
+        SELECT
+        DATE_FORMAT( `time`, '%Y-%m-%d %H:%i:%s' ) AS time,VALUE->> '$.flylat' AS flyLat,VALUE->> '$.flylon' AS flyLon
+        FROM
+        history_second_cruiser
+        WHERE
+        mac =  #{mac}
+        AND `time` <![CDATA[>=]]> #{time1}
+        AND `time` <![CDATA[<=]]> #{time2}
+        ORDER BY
+        time
+        ),
+        resultList AS (
+        SELECT
+        t1.time,
+        t1.flyLat,
+        t1.flyLon
+        FROM
+        zb t1
+        INNER JOIN ( SELECT flyLon, flyLat, MAX( time ) AS max_time FROM zb GROUP BY flyLat, flyLon ) t2 ON t1.flyLon = t2.flyLon
+        AND t1.flyLat = t2.flyLat
+        AND t1.time = t2.max_time
+        ),
+        mx AS (
+        SELECT t2.latitude,
+            t2.longitude,
+            t2.state,
+            t2.coordinate_id ,max(t2.id) id
+        FROM
+        manage_coordinate t1
+        LEFT JOIN manage_coordinate_detail t2 ON t1.coordinate_id = t2.coordinate_id
+        LEFT JOIN special_device t3 ON t1.organization_id = t3.organization_id
+        WHERE
+        t1.is_del = 0
+        AND t3.mac = #{mac} group by t2.latitude,
+            t2.longitude,
+            t2.state,
+            t2.coordinate_id
+        ) SELECT
+        tt.time,
+        tt.flyLat,
+        tt.flyLon,
+        COALESCE ( tt1.state, 0 ) AS state ,tt1.coordinate_id,tt1.id as id
+        FROM
+        resultList tt
+        LEFT JOIN mx tt1 ON tt.flyLat = tt1.latitude
+        AND tt.flyLon = tt1.longitude
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0