Bläddra i källkod

提交解绑车辆bug

chenxiaofei 2 veckor sedan
förälder
incheckning
720fa0ee4b

+ 10 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/LocUtils.java

@@ -3,9 +3,12 @@ package com.sckw.core.utils;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -72,8 +75,9 @@ public class LocUtils {
      * @param pointCount  需要生成的轨迹点数量
      * @return 包含轨迹点位和耗时的结果对象
      */
-    public static RouteResult getDrivingRoutePointsWithDuration(String startLng, String startLat, 
-                                                                 String endLng, String endLat, int pointCount) {
+    public static RouteResult getDrivingRoutePointsWithDuration(String startLng, String startLat,
+                                                                String endLng, String endLat, int pointCount,
+                                                                LocalDate date) {
         if (StringUtils.isBlank(startLng) || StringUtils.isBlank(startLat) 
                 || StringUtils.isBlank(endLng) || StringUtils.isBlank(endLat)) {
             return null;
@@ -114,6 +118,10 @@ public class LocUtils {
             // 从所有点位中均匀选取指定数量的点
             //List<RoutePoint> selectedPoints = selectUniformPoints(allPoints, pointCount);
             LocalDateTime now = LocalDateTime.now();
+            if (Objects.nonNull( date)){
+                now = date.atTime(LocalTime.now());
+            }
+
             for (int i = 0; i < allPoints.size(); i++) {
                 RoutePoint point = allPoints.get(i);
                 point.setTs(now.plusMinutes(i * 5L));

+ 4 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckRouteService.java

@@ -316,7 +316,8 @@ public class KwfTruckRouteService {
                     startLat,
                     endLng,
                     endLat,
-                    20
+                    20,
+                    null
             );
 
             if (routeResult != null && com.sckw.core.utils.StringUtils.isNotBlank(routeResult.getPointInfo())) {
@@ -384,7 +385,8 @@ public class KwfTruckRouteService {
                         req.getStartLat(),
                         req.getEndLng(),
                         req.getEndLat(),
-                        20
+                        20,
+                         null
                 );
 
                 if (routeResult != null && StringUtils.isNotBlank(routeResult.getPointInfo())) {

+ 3 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -4327,6 +4327,9 @@ public class KwtWaybillOrderV1Service {
         waybillOrderNodeVo.setTimelines(voList);
         // 获取时间节点
         List<WaybillOrderNodeVo.WaybillOrderNode> nodeList = getWaybillOrderNodes(voList);
+        nodeList = nodeList.stream()
+                .sorted(Comparator.comparing(WaybillOrderNodeVo.WaybillOrderNode::getOrderStatus))
+                .collect(Collectors.toList());
         waybillOrderNodeVo.setWaybillOrderNodes(nodeList);
         return waybillOrderNodeVo;
     }

+ 4 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -1572,7 +1572,7 @@ public class kwfTruckTraceService {
              endLat = latitude;
         }
 
-        LocUtils.RouteResult routeResult = generateRoutePointsWithDuration(startLng, startLat, endLng, endLat);
+        LocUtils.RouteResult routeResult = generateRoutePointsWithDuration(startLng, startLat, endLng, endLat, date);
         if (routeResult == null || com.sckw.core.utils.StringUtils.isBlank(routeResult.getPointInfo())) {
             log.error("高德API生成轨迹点位失败,起点: {},{} 终点: {},{}", startLng, startLat, endLng, endLat);
             throw new BusinessException("生成轨迹失败:高德API生成轨迹点位失败");
@@ -1665,7 +1665,7 @@ public class kwfTruckTraceService {
     }
 
 
-    private LocUtils.RouteResult generateRoutePointsWithDuration(String startLng, String startLat, String endLng, String endLat) {
+    private LocUtils.RouteResult generateRoutePointsWithDuration(String startLng, String startLat, String endLng, String endLat,LocalDate date) {
         try {
             log.info("开始调用高德API生成轨迹点位和耗时,起点: {},{} 终点: {},{}",
                     startLng, startLat, endLng, endLat);
@@ -1676,7 +1676,8 @@ public class kwfTruckTraceService {
                     startLat,
                     endLng,
                     endLat,
-                    20
+                    20,
+                     date
             );
 
             if (routeResult != null && com.sckw.core.utils.StringUtils.isNotBlank(routeResult.getPointInfo())) {