lchao hace 1 año
padre
commit
3f84dbe950

+ 3 - 2
songhua-system/src/main/java/com/songhua/system/service/impl/CruiseShipMappingServiceImpl.java

@@ -82,7 +82,6 @@ public class CruiseShipMappingServiceImpl implements ICruiseShipMappingService
     }
 
     private List<String> color = Arrays.asList("white", "ivory", "lightyellow", "yellow", "snow", "floralwhite","red","blue","orange","wheat","lightgreen");
-
     @Override
     public List<Map<String, Object>> getShipRouteData() {
         List<Map<String, Object>> combinedData = new ArrayList<>();
@@ -92,12 +91,14 @@ public class CruiseShipMappingServiceImpl implements ICruiseShipMappingService
             Map<String, Object> data = new HashMap<>();
             String[] lon = recentLocations.get(i).getLongitude().split(",");
             String[] lat = recentLocations.get(i).getLatitude().split(",");
+            List<Map> data1 = new ArrayList<>();
             for (int j = 0; j <  lon.length; j++) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("lng", lon[j]);
                 map.put("lat", lat[j]);
-                data.put("polylinePath",map);
+                data1.add(map);
             }
+            data.put("polylinePath",data1);
             data.put("color", color.get(i));
             data.put("shipName", recentLocations.get(i).getShipName());
             combinedData.add(data);

+ 14 - 7
songhua-system/src/main/resources/mapper/system/CruiseShipMappingMapper.xml

@@ -83,12 +83,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <select id="getShipRouteData" parameterType="CruiseShipMapping" resultMap="CruiseShipMappingResult">
-        SELECT b.ship_name shipName,
-               GROUP_CONCAT(a.longitude) longitude,
-               GROUP_CONCAT(a.latitude)  latitude
-        FROM basic_cruise_ship b
-                 left join cruise_ship_mapping a on b.id = a.ship_id
-        GROUP BY b.ship_name
-        ORDER BY a.ship_time DESC
+        SELECT
+            b.ship_name AS shipName,
+            GROUP_CONCAT(a.longitude) AS longitude,
+            GROUP_CONCAT(a.latitude) AS latitude
+        FROM
+            basic_cruise_ship b
+                LEFT JOIN
+            cruise_ship_mapping a ON b.id = a.ship_id
+        WHERE
+            a.ship_time >= NOW() - INTERVAL 1 HOUR
+        GROUP BY
+            b.ship_name
+        ORDER BY
+            a.ship_time DESC;
     </select>
 </mapper>