Przeglądaj źródła

Merge remote-tracking branch 'origin/dev_20251030' into dev_20251030

donglang 2 miesięcy temu
rodzic
commit
581fa839d5

+ 2 - 0
.gitignore

@@ -27,3 +27,5 @@ logs
 
 .flattened-pom.xml
 
+/sckw-modules/.yapix
+/sckw-modules/sckw-transport/openapi.yaml

+ 1 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/request/DeleteTruckRoteReq.java

@@ -13,10 +13,9 @@ import java.io.Serializable;
 /**
  * @author PC
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @Valid
-public class DeleteTruckRoteReq extends PageReq implements Serializable {
+public class DeleteTruckRoteReq  implements Serializable {
     @Serial
     private static final long serialVersionUID = 2817549090778895464L;
     @NotNull(message = "id不能为空")

+ 4 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/request/TruckInfoReq.java

@@ -23,17 +23,21 @@ public class TruckInfoReq extends PageReq implements Serializable {
     /**
      * 企业id
      */
+    @Schema(description = "企业id")
     private Long entId;
     /**
      * 是否是外部车辆(0-自有车辆 1-外部车辆)
      */
+    @Schema(description = "是否是外部车辆(0-自有车辆 1-外部车辆)")
     private String truckMark;
     /**
      * 开始时间
      */
+    @Schema(description = "开始时间")
     private String startTime;
     /**
      * 结束时间
      */
+    @Schema(description = "结束时间")
     private String endTime;
 }

+ 3 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/request/TruckRoteDetailReq.java

@@ -13,10 +13,9 @@ import java.io.Serializable;
 /**
  * @author PC
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @Valid
-public class TruckRoteDetailReq extends PageReq implements Serializable {
+public class TruckRoteDetailReq implements Serializable {
     @Serial
     private static final long serialVersionUID = 2817549090778895464L;
     /**
@@ -28,9 +27,11 @@ public class TruckRoteDetailReq extends PageReq implements Serializable {
     /**
      * 装货点
      */
+    @Schema(description = "装货点")
     private String startPoint;
     /**
      * 卸货点
      */
+    @Schema(description = "卸货点")
     private String unloadingPoint;
 }

+ 9 - 15
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/AppTruckInfoVo.java

@@ -27,6 +27,7 @@ public class AppTruckInfoVo implements Serializable {
     /**
      * 司机id
      */
+    @Schema(description = "司机id")
     private String driverId;
     /**
      * 司机名称
@@ -36,14 +37,17 @@ public class AppTruckInfoVo implements Serializable {
     /**
      * 司机手机号
      */
+    @Schema(description = "司机手机号")
     private String driverPhone;
     /**
      * 车队id
      */
+    @Schema(description = "车队id")
     private String fleetId;
     /**
      * 车队名称
      */
+    @Schema(description = "车队名称")
     private String fleetName;
     /**
      * 车辆id
@@ -79,27 +83,17 @@ public class AppTruckInfoVo implements Serializable {
     /**
      * 车辆类型(0-自有车辆,1-外部车辆)
      */
+    @Schema(description = "车辆类型(0-自有车辆,1-外部车辆)")
     private String truckMark;
     /**
      * 运单号
      */
-    private String wOrderNo;
+    @Schema(description = "运单号")
+    private String orderNo;
     /**
      * 运单id
      */
-    private String wOrderId;
+    @Schema(description = "运单id")
+    private String orderId;
 
-
-//    /**
-//     * 车辆数据
-//     */
-//    @Schema(description = "车辆数据")
-//    private List<TruckData> truck;
-//
-//    @Data
-//    public static class TruckData implements Serializable{
-//        @Serial
-//        private static final long serialVersionUID = -8647322705630318076L;
-//
-//    }
 }

+ 4 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/QueryTruckRoteVo.java

@@ -58,5 +58,9 @@ public class QueryTruckRoteVo implements Serializable {
      */
     @Schema(description = "最快耗时")
     private String sortedTime;
+    /**
+     * 车辆id
+     */
+    @Schema(description = "车辆id")
     private String id;
 }

+ 4 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/TruckRoteDetailVo.java

@@ -34,18 +34,21 @@ public class TruckRoteDetailVo implements Serializable {
     @Data
     public static class TruckRoteDetail {
         /**
-         * 时间
+         * 定位时间
          */
+        @Schema(description = "定位时间")
         private LocalDateTime ts;
 
         /**
          * 经度
          */
+        @Schema(description = "经度")
         private String longitude;
 
         /**
          * 纬度
          */
+        @Schema(description = "纬度")
         private String latitude;
     }
 }

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

@@ -1687,8 +1687,8 @@ public class KwfTruckService {
         }
         List<RWaybillOrderVo> rWaybillOrderVos = finalTruckIdAndWaybillOrderMap.get(t.getId());
         if (CollectionUtils.isNotEmpty(rWaybillOrderVos)){
-            truckInfoVo.setWOrderNo(rWaybillOrderVos.get(0).getWOrderNo());
-            truckInfoVo.setWOrderId(String.valueOf(rWaybillOrderVos.get(0).getId()));
+            truckInfoVo.setOrderNo(rWaybillOrderVos.get(0).getWOrderNo());
+            truckInfoVo.setOrderId(String.valueOf(rWaybillOrderVos.get(0).getId()));
         }
         truckInfoVo.setTruckMark(String.valueOf(t.getTruckMark()));
         truckInfoVo.setBusinessStatus(String.valueOf(t.getBusinessStatus()));

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/CurrentTaskTraceReq.java

@@ -24,5 +24,5 @@ public class CurrentTaskTraceReq implements Serializable {
      * 运单号
      */
     @Schema(description = "运单号")
-    private String wOrderNo;
+    private String orderNo;
 }

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/TruckInfoReq.java

@@ -28,7 +28,7 @@ public class TruckInfoReq implements Serializable {
      * 运单号
      */
     @Schema(description = "运单号")
-    private String wOrderNo;
+    private String orderNo;
     /**
      * 车辆id
      */

+ 19 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CurrentTaskTraceReqVo.java

@@ -19,8 +19,11 @@ public class CurrentTaskTraceReqVo implements Serializable {
      * 运单号
      */
     @Schema(description = "运单号")
-    private String wOrderNo;
-    List<CurrentTaskTrace> currentTaskTraceList;
+    private String orderNo;
+    private List<CurrentTaskTrace> currentTaskTraceList;
+
+    //点位信息
+    private List<CurrentAddress> currentAddressList;
 
     @Data
     public static class CurrentTaskTrace {
@@ -50,4 +53,18 @@ public class CurrentTaskTraceReqVo implements Serializable {
      */
     @Schema(description = "总耗时")
     private String totalDuration;
+    @Data
+    public static class CurrentAddress {
+        /**
+         * 点位
+         */
+        @Schema(description = "点位")
+        private String point;
+        /**
+         * 耗时
+         */
+        @Schema(description = "耗时")
+        private String duration;
+
+    }
 }

+ 2 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/KwfTruckTraceReplayVo.java

@@ -19,12 +19,12 @@ public class KwfTruckTraceReplayVo implements Serializable {
      * 运单id
      */
     @Schema(description = "运单id")
-    private Long wOrderId;
+    private Long orderId;
     /**
      * 运单编号
      */
     @Schema(description = "运单编号")
-    private String wOrderNo;
+    private String orderNo;
     /**
      * 司机姓名
      */

+ 4 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/TruckInfoVo.java

@@ -19,7 +19,7 @@ public class TruckInfoVo implements Serializable {
      * 运单号
      */
     @Schema(description = "运单号")
-    private String wOrderNo;
+    private String orderNo;
     /**
      * 车牌号
      */
@@ -77,7 +77,7 @@ public class TruckInfoVo implements Serializable {
      * 关联任务号
      */
     @Schema(description = "关联任务号")
-    private String lOrderNo;
+    private String logicOrderNo;
     /**
      * 任务地点
      */
@@ -89,13 +89,13 @@ public class TruckInfoVo implements Serializable {
     }
     public static TruckInfoVo toTruckInfoVo(TruckDto truckDto ) {
         TruckInfoVo truckInfoVo = TruckInfoVo.getInstance();
-        truckInfoVo.setWOrderNo(truckDto.getWOrderNo());
+        truckInfoVo.setOrderNo(truckDto.getWOrderNo());
         truckInfoVo.setTruckNo(truckDto.getTruckNo());
         truckInfoVo.setGpsStatus(truckDto.getGpsStatus());
         truckInfoVo.setLongitude(truckDto.getLongitude());
         truckInfoVo.setLatitude(truckDto.getLatitude());
         truckInfoVo.setLocationTime(truckDto.getLocationTime());
-        truckInfoVo.setLOrderNo(truckDto.getLOrderNo());
+        truckInfoVo.setLogicOrderNo(truckDto.getLOrderNo());
         truckInfoVo.setTaskAddress(truckDto.getTaskAddress());
         return truckInfoVo;
     }

+ 10 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillOrderDetailVo.java

@@ -1,6 +1,7 @@
 package com.sckw.transport.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.util.Map;
@@ -13,63 +14,61 @@ import java.util.Map;
 @Data
 public class WaybillOrderDetailVo {
 
-    /**
-     * 运单ID
-     */
-    @JsonProperty("wOrderId")
-    private Long wOrderId;
-
-    /**
-     * 运单号
-     */
-    @JsonProperty("wOrderNo")
-    private String wOrderNo;
 
     /**
      * 车辆ID
      */
+    @Schema(description = "车辆ID")
     private Long truckId;
 
     /**
      * 车牌号
      */
+    @Schema(description = "车牌号")
     private String truckNo;
 
 
     /**
      * 司机ID
      */
+    @Schema(description = "司机ID")
     private Long driverId;
 
     /**
      * 司机姓名
      */
+    @Schema(description = "司机姓名")
     private String driverName;
 
     /**
      * 车队ID
      */
+    @Schema(description = "车队ID")
     private Long fleetId;
 
     /**
      * 车队名称
      */
+    @Schema(description = "车队名称")
     private String fleetName;
 
     /**
      * 企业ID
      */
+    @Schema(description = "企业ID")
     private Long entId;
 
     /**
      * 企业名称
      */
+    @Schema(description = "企业名称")
     private String entName;
 
 
     /**
      * 地址信息(key: 地址类型(1装货地址、2卸货地址), value: 地址名称)
      */
+    @Schema(description = "地址信息(key: 地址类型(1装货地址、2卸货地址), value: 地址名称)")
     private Map<Integer, String> addresses;
 
 

+ 50 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -52,6 +52,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.stereotype.Service;
 
 import java.time.Duration;
@@ -169,8 +170,8 @@ public class kwfTruckTraceService {
                                                                 ,Map<String, KwtWaybillOrderSubtask> worderNoAndWorderMap) {
 
         KwfTruckTraceReplayVo kwfTruckTraceReplay = new KwfTruckTraceReplayVo();
-        kwfTruckTraceReplay.setWOrderId(waybillOrder.getId());
-        kwfTruckTraceReplay.setWOrderNo(waybillOrder.getWOrderNo());
+        kwfTruckTraceReplay.setOrderId(waybillOrder.getId());
+        kwfTruckTraceReplay.setOrderNo(waybillOrder.getWOrderNo());
         kwfTruckTraceReplay.setDriverName(waybillOrder.getDriverName());
         kwfTruckTraceReplay.setPhone(waybillOrder.getDriverPhone());
         kwfTruckTraceReplay.setStatus(String.valueOf(waybillOrder.getStatus()));
@@ -209,7 +210,7 @@ public class kwfTruckTraceService {
         log.info("查询车辆实时位置信息参数:{}", req);
         //先查缓存 缓存没有 在查询数据中台 数据中台没有 则查询中交
         if (StringUtils.isNotBlank(req.getTruckId()) ){
-            return getTruckInfo(req.getTruckId(),req.getWOrderNo(),req.getTruckNo());
+            return getTruckInfo(req.getTruckId(),req.getOrderNo(),req.getTruckNo());
         }
 
         //如果车牌为空那么查询车队的第一条数据 (从tab页面直接进来)
@@ -218,7 +219,7 @@ public class kwfTruckTraceService {
             if (Objects.isNull(dataFirstTruck) || Objects.isNull(dataFirstTruck.getTruckNo())){
                 return new TruckInfoVo();
             }
-            return getTruckInfo(req.getTruckId(),req.getWOrderNo(),dataFirstTruck.getTruckNo());
+            return getTruckInfo(req.getTruckId(),req.getOrderNo(),dataFirstTruck.getTruckNo());
         }
         return new TruckInfoVo();
     }
@@ -287,7 +288,7 @@ public class kwfTruckTraceService {
     private TruckInfoVo getTruckInfoVoByZj(String truckNo, String wOrderNo,String truckId) {
         CollectZjxlResponse collectZjxlResponse = vehicleCollectService.transTimeManage(truckNo);
         TruckInfoVo instance = TruckInfoVo.getInstance();
-        instance.setWOrderNo(wOrderNo);
+        instance.setOrderNo(wOrderNo);
         instance.setTruckNo(truckNo);
         if (Objects.nonNull(collectZjxlResponse) && Objects.nonNull(collectZjxlResponse.getResult()) && Objects.nonNull(collectZjxlResponse.getResult().getFirstVcl())){
             instance.setGpsStatus(collectZjxlResponse.getResult().getFirstVcl().getSpd());
@@ -299,7 +300,7 @@ public class kwfTruckTraceService {
         KwtWaybillOrder oneByTruckNo = kwtWaybillOrderRepository.findOneByTruckNo(truckNo);
 
         KwtWaybillOrderSubtask waybillOrderSubtask = kwtWaybillOrderSubtaskRepository.findOneByWOrderNo(oneByTruckNo.getWOrderNo());
-        instance.setLOrderNo(Objects.nonNull(waybillOrderSubtask) && Objects.nonNull(waybillOrderSubtask.getLOrderId())
+        instance.setLogicOrderNo(Objects.nonNull(waybillOrderSubtask) && Objects.nonNull(waybillOrderSubtask.getLOrderId())
                 ? String.valueOf(waybillOrderSubtask.getLOrderId()) : "");
         String taskAddress = getTaskAddress(waybillOrderSubtask);
         instance.setTaskAddress(taskAddress);
@@ -323,7 +324,7 @@ public class kwfTruckTraceService {
         KwtWaybillOrder order = kwtWaybillOrderRepository.findOneByTruckId(truckId);
         if (Objects.nonNull(order)){
             truckInfoVo.setTruckNo(order.getTruckNo());
-            truckInfoVo.setWOrderNo(order.getWOrderNo());
+            truckInfoVo.setOrderNo(order.getWOrderNo());
             truckInfoVo.setDriveId(String.valueOf(order.getDriverId()));
             truckInfoVo.setDriveName(order.getDriverName());
             truckInfoVo.setDrivePhone(order.getDriverPhone());
@@ -334,7 +335,7 @@ public class kwfTruckTraceService {
         KwtWaybillOrderSubtask subtask = kwtWaybillOrderSubtaskRepository.findOneByWOrderNo(Optional.ofNullable(order)
                 .map(KwtWaybillOrder::getWOrderNo).
                 orElse( null));
-        truckInfoVo.setLOrderNo(Objects.isNull(subtask) ? "" : String.valueOf(subtask.getLOrderId()));
+        truckInfoVo.setLogicOrderNo(Objects.isNull(subtask) ? "" : String.valueOf(subtask.getLOrderId()));
         if (Objects.isNull(subtask)){
             return truckInfoVo;
         }
@@ -373,8 +374,8 @@ public class kwfTruckTraceService {
        
 
         String wOrderNo = StringUtils.EMPTY ;
-        if (StringUtils.isNotBlank(req.getWOrderNo())){
-            wOrderNo  = req.getWOrderNo();
+        if (StringUtils.isNotBlank(req.getOrderNo())){
+            wOrderNo  = req.getOrderNo();
         }else {
             KwtWaybillOrder waybillOrder = kwtWaybillOrderRepository.findOneByTruckNo(req.getTruckNo());
             wOrderNo = Optional.ofNullable(waybillOrder).map(KwtWaybillOrder::getWOrderNo).orElse("");
@@ -390,7 +391,7 @@ public class kwfTruckTraceService {
                 .sorted(Comparator.comparing(CurrentTaskTraceReqVo.CurrentTaskTrace::getLocationTime))
                 .collect(Collectors.toList());
         CurrentTaskTraceReqVo currentTaskTraceReqVo = new CurrentTaskTraceReqVo();
-        currentTaskTraceReqVo.setWOrderNo(vehicleReturnDataList.get(0).getWOrderNo());
+        currentTaskTraceReqVo.setOrderNo(vehicleReturnDataList.get(0).getWOrderNo());
 
         for (int i = 1; i < currentTaskTraceList.size(); i++) {
             CurrentTaskTraceReqVo.CurrentTaskTrace current = currentTaskTraceList.get(i);
@@ -410,9 +411,47 @@ public class kwfTruckTraceService {
         long durationInMinutes = totalDuration.toMinutes();
         currentTaskTraceReqVo.setTotalDuration(String.valueOf(durationInMinutes));
         currentTaskTraceReqVo.setCurrentTaskTraceList(currentTaskTraceList);
+        //构造点位假数据
+        List<CurrentTaskTraceReqVo.CurrentAddress> addressList = getCurrentAddresses();
+        // 将地址列表设置到 CurrentTaskTraceReqVo 对象中
+        currentTaskTraceReqVo.setCurrentAddressList(addressList);
         return currentTaskTraceReqVo;
     }
 
+
+    private static List<CurrentTaskTraceReqVo.CurrentAddress> getCurrentAddresses() {
+        // 创建四条 CurrentAddress 数据
+        List<CurrentTaskTraceReqVo.CurrentAddress> addressList = new ArrayList<>();
+
+        // 第一条数据
+        CurrentTaskTraceReqVo.CurrentAddress address1 = new CurrentTaskTraceReqVo.CurrentAddress();
+        address1.setPoint("金顶集团");
+        address1.setDuration("0");
+        addressList.add(address1);
+
+        // 第二条数据
+        CurrentTaskTraceReqVo.CurrentAddress address2 = new CurrentTaskTraceReqVo.CurrentAddress();
+        address2.setPoint("乐山高速路入口");
+        address2.setDuration("30");
+        addressList.add(address2);
+
+        // 第三条数据
+        CurrentTaskTraceReqVo.CurrentAddress address3 = new CurrentTaskTraceReqVo.CurrentAddress();
+        address3.setPoint("乐山高速路出口");
+        address3.setDuration("50");
+        addressList.add(address3);
+
+        // 第四条数据
+        CurrentTaskTraceReqVo.CurrentAddress address4 = new CurrentTaskTraceReqVo.CurrentAddress();
+        address4.setPoint("乐山大佛加工厂");
+        address4.setDuration("60");
+        addressList.add(address4);
+        addressList = addressList.stream()
+                .sorted(Comparator.comparing(CurrentTaskTraceReqVo.CurrentAddress::getDuration))
+                .collect(Collectors.toList());
+        return addressList;
+    }
+
     /**
      * 查询数据中台获取轨迹
      * @param wOrderNo 运单号