|
@@ -382,39 +382,46 @@ public class kwfTruckTraceService {
|
|
|
}
|
|
}
|
|
|
//查询数据中台获取轨迹
|
|
//查询数据中台获取轨迹
|
|
|
List<VehicleReturnData> vehicleReturnDataList = getVehicleReturnDataList(wOrderNo);
|
|
List<VehicleReturnData> vehicleReturnDataList = getVehicleReturnDataList(wOrderNo);
|
|
|
- if (CollectionUtils.isEmpty(vehicleReturnDataList)){
|
|
|
|
|
- return new CurrentTaskTraceReqVo();
|
|
|
|
|
- }
|
|
|
|
|
- //组织返回数据
|
|
|
|
|
- List<CurrentTaskTraceReqVo.CurrentTaskTrace> currentTaskTraceList = vehicleReturnDataList.stream()
|
|
|
|
|
- .map(kwfTruckTraceService::getCurrentTaskTrace)
|
|
|
|
|
- .sorted(Comparator.comparing(CurrentTaskTraceReqVo.CurrentTaskTrace::getLocationTime))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+
|
|
|
CurrentTaskTraceReqVo currentTaskTraceReqVo = new CurrentTaskTraceReqVo();
|
|
CurrentTaskTraceReqVo currentTaskTraceReqVo = new CurrentTaskTraceReqVo();
|
|
|
- currentTaskTraceReqVo.setOrderNo(vehicleReturnDataList.get(0).getWOrderNo());
|
|
|
|
|
-
|
|
|
|
|
- for (int i = 1; i < currentTaskTraceList.size(); i++) {
|
|
|
|
|
- CurrentTaskTraceReqVo.CurrentTaskTrace current = currentTaskTraceList.get(i);
|
|
|
|
|
- CurrentTaskTraceReqVo.CurrentTaskTrace previous = currentTaskTraceList.get(i - 1);
|
|
|
|
|
- LocalDateTime currentTime = LocalDateTime.parse(current.getLocationTime());
|
|
|
|
|
- LocalDateTime previousTime = LocalDateTime.parse(previous.getLocationTime());
|
|
|
|
|
- Duration duration = Duration.between(previousTime, currentTime);
|
|
|
|
|
- current.setDuration(String.valueOf(duration.toMinutes()));
|
|
|
|
|
- }
|
|
|
|
|
- CurrentTaskTraceReqVo.CurrentTaskTrace first = currentTaskTraceList.get(0);
|
|
|
|
|
- CurrentTaskTraceReqVo.CurrentTaskTrace last = currentTaskTraceList.get(currentTaskTraceList.size() - 1);
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(vehicleReturnDataList)){
|
|
|
|
|
+ //组织返回数据
|
|
|
|
|
+ List<CurrentTaskTraceReqVo.CurrentTaskTrace> currentTaskTraceList = vehicleReturnDataList.stream()
|
|
|
|
|
+ .map(kwfTruckTraceService::getCurrentTaskTrace)
|
|
|
|
|
+ .sorted(Comparator.comparing(CurrentTaskTraceReqVo.CurrentTaskTrace::getLocationTime))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ currentTaskTraceReqVo.setOrderNo(vehicleReturnDataList.get(0).getWOrderNo());
|
|
|
|
|
+
|
|
|
|
|
+ for (int i = 1; i < currentTaskTraceList.size(); i++) {
|
|
|
|
|
+ CurrentTaskTraceReqVo.CurrentTaskTrace current = currentTaskTraceList.get(i);
|
|
|
|
|
+ CurrentTaskTraceReqVo.CurrentTaskTrace previous = currentTaskTraceList.get(i - 1);
|
|
|
|
|
+ LocalDateTime currentTime = LocalDateTime.parse(current.getLocationTime());
|
|
|
|
|
+ LocalDateTime previousTime = LocalDateTime.parse(previous.getLocationTime());
|
|
|
|
|
+ Duration duration = Duration.between(previousTime, currentTime);
|
|
|
|
|
+ current.setDuration(String.valueOf(duration.toMinutes()));
|
|
|
|
|
+ }
|
|
|
|
|
+ CurrentTaskTraceReqVo.CurrentTaskTrace first = currentTaskTraceList.get(0);
|
|
|
|
|
+ CurrentTaskTraceReqVo.CurrentTaskTrace last = currentTaskTraceList.get(currentTaskTraceList.size() - 1);
|
|
|
|
|
+
|
|
|
|
|
+ LocalDateTime firstTime = LocalDateTime.parse(first.getLocationTime());
|
|
|
|
|
+ LocalDateTime lastTime = LocalDateTime.parse(last.getLocationTime());
|
|
|
|
|
|
|
|
- LocalDateTime firstTime = LocalDateTime.parse(first.getLocationTime());
|
|
|
|
|
- LocalDateTime lastTime = LocalDateTime.parse(last.getLocationTime());
|
|
|
|
|
|
|
+ Duration totalDuration = Duration.between(firstTime, lastTime);
|
|
|
|
|
+ long durationInMinutes = totalDuration.toMinutes();
|
|
|
|
|
+ currentTaskTraceReqVo.setTotalDuration(String.valueOf(durationInMinutes));
|
|
|
|
|
+ currentTaskTraceReqVo.setCurrentTaskTraceList(currentTaskTraceList);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- Duration totalDuration = Duration.between(firstTime, lastTime);
|
|
|
|
|
- long durationInMinutes = totalDuration.toMinutes();
|
|
|
|
|
- currentTaskTraceReqVo.setTotalDuration(String.valueOf(durationInMinutes));
|
|
|
|
|
- currentTaskTraceReqVo.setCurrentTaskTraceList(currentTaskTraceList);
|
|
|
|
|
//构造点位假数据
|
|
//构造点位假数据
|
|
|
List<CurrentTaskTraceReqVo.CurrentAddress> addressList = getCurrentAddresses();
|
|
List<CurrentTaskTraceReqVo.CurrentAddress> addressList = getCurrentAddresses();
|
|
|
// 将地址列表设置到 CurrentTaskTraceReqVo 对象中
|
|
// 将地址列表设置到 CurrentTaskTraceReqVo 对象中
|
|
|
currentTaskTraceReqVo.setCurrentAddressList(addressList);
|
|
currentTaskTraceReqVo.setCurrentAddressList(addressList);
|
|
|
|
|
+ int sum = addressList.stream()
|
|
|
|
|
+ .filter(a -> StringUtils.isNotBlank(a.getDuration()))
|
|
|
|
|
+ .mapToInt(x -> Integer.parseInt(x.getDuration()))
|
|
|
|
|
+ .sum();
|
|
|
|
|
+ currentTaskTraceReqVo.setTotalDuration(String.valueOf(sum));
|
|
|
return currentTaskTraceReqVo;
|
|
return currentTaskTraceReqVo;
|
|
|
}
|
|
}
|
|
|
|
|
|