소스 검색

修改车辆轨迹查询

chenxiaofei 2 달 전
부모
커밋
086afb3f77
1개의 변경된 파일23개의 추가작업 그리고 5개의 파일을 삭제
  1. 23 5
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

+ 23 - 5
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -499,13 +499,15 @@ public class kwfTruckTraceService {
             throw new BusinessException("app上报车辆轨迹异常");
         }
         String key = CommonConstants.TRUCK_LOCATION + truckId+CommonConstants.UNDERSCORE;
+        String xwOrderNo = "";
         if (Objects.nonNull(waybillOrder)){
-            key = CommonConstants.TRUCK_LOCATION + truckId+CommonConstants.UNDERSCORE+waybillOrder.getWOrderNo();
+            xwOrderNo = waybillOrder.getWOrderNo();
+            key = CommonConstants.TRUCK_LOCATION + truckId+CommonConstants.UNDERSCORE+xwOrderNo;
         }
         //先删除缓存
         RedissonUtils.delete(key);
         //组织缓存数据
-        TruckDto truckDto = getTruckDto(req);
+        TruckDto truckDto = getTruckDto(req,xwOrderNo);
         //放入缓存  存十天
         RedissonUtils.putString(key,JSON.toJSONString(truckDto),10, TimeUnit.DAYS);
         return null;
@@ -527,16 +529,32 @@ public class kwfTruckTraceService {
      * @param req 请求参数
      * @return 缓存数据
      */
-    private static TruckDto getTruckDto(VehiclesTrajectoryReq req) {
+    private TruckDto getTruckDto(VehiclesTrajectoryReq req,String wOrderNo) {
         TruckDto truckDto = new TruckDto();
-        truckDto.setWOrderNo(req.getWOrderNo());
+        truckDto.setWOrderNo(wOrderNo);
         truckDto.setTruckNo(req.getTruckNo());
         truckDto.setGpsStatus(String.valueOf(req.getSpeed()));
         truckDto.setLongitude(req.getLongitude());
         truckDto.setLatitude(req.getLatitude());
         truckDto.setLocationTime(DateUtils.format(LocalDateTime.now(), DateUtils.DATE_TIME_PATTERN));
         truckDto.setLOrderNo(req.getLOrderNo());
-        truckDto.setTaskAddress("");
+        KwtWaybillOrderSubtask subtask = kwtWaybillOrderSubtaskRepository.findOneByWOrderNo(wOrderNo);
+        String startPoint = "";
+        String endPoint = "";
+        if (Objects.nonNull(subtask)){
+            List<KwtWaybillOrderAddress> kwtWaybillOrderAddresses = kwtWaybillOrderAddressRepository.queryByWOrderId(subtask.getWOrderId());
+            if (CollectionUtils.isNotEmpty(kwtWaybillOrderAddresses)){
+                for (KwtWaybillOrderAddress e : kwtWaybillOrderAddresses) {
+                    if (Objects.equals(e.getAddressType(), AddressTypeEnum.SHIPMENT.getCode())) {
+                        startPoint = e.getDetailAddress();
+                    }
+                    if (Objects.equals(e.getAddressType(), AddressTypeEnum.TAKE.getCode())) {
+                        endPoint = e.getDetailAddress();
+                    }
+                }
+            }
+        }
+        truckDto.setTaskAddress(startPoint+"-"+endPoint);
         return truckDto;
     }
 }