|
|
@@ -65,6 +65,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.sql.Timestamp;
|
|
|
import java.time.*;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -74,6 +75,7 @@ import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import lombok.Data;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -307,7 +309,7 @@ public class kwfTruckTraceService {
|
|
|
truckDto.setLongitude(vehicleReturnData.getLongitude());
|
|
|
truckDto.setLatitude(vehicleReturnData.getLatitude());
|
|
|
if (Objects.nonNull(vehicleReturnData.getTs())){
|
|
|
- LocalDateTime ts = vehicleReturnData.getTs();
|
|
|
+ LocalDateTime ts = vehicleReturnData.getTs().toLocalDateTime();
|
|
|
Date date = Date.from(ts.toInstant(ZoneOffset.UTC));
|
|
|
truckDto.setLocationTime(DateUtils.format(date, DateUtils.DATE_TIME_PATTERN));
|
|
|
}
|
|
|
@@ -375,7 +377,7 @@ public class kwfTruckTraceService {
|
|
|
truckInfoVo.setGpsStatus(String.valueOf(vehicleReturn.getSpeed()));
|
|
|
truckInfoVo.setLongitude(vehicleReturn.getLongitude());
|
|
|
truckInfoVo.setLatitude(vehicleReturn.getLatitude());
|
|
|
- truckInfoVo.setLocationTime(Objects.isNull(vehicleReturn.getTs())? "" : DateUtils.format(vehicleReturn.getTs(),DateUtils.DATE_TIME_PATTERN));
|
|
|
+ truckInfoVo.setLocationTime(Objects.isNull(vehicleReturn.getTs())? "" : DateUtils.format(vehicleReturn.getTs().toLocalDateTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
KwtWaybillOrder order = kwtWaybillOrderRepository.findOneByTruckId(truckId);
|
|
|
if (Objects.nonNull(order)){
|
|
|
truckInfoVo.setTruckNo(order.getTruckNo());
|
|
|
@@ -563,7 +565,7 @@ public class kwfTruckTraceService {
|
|
|
CurrentTaskTraceReqVo.CurrentTaskTrace currentTaskTrace = new CurrentTaskTraceReqVo.CurrentTaskTrace();
|
|
|
currentTaskTrace.setLongitude(e.getLongitude());
|
|
|
currentTaskTrace.setLatitude(e.getLatitude());
|
|
|
- currentTaskTrace.setLocationTime(Objects.isNull(e.getTs()) ? "" : DateUtils.format(e.getTs(), DateUtils.DATE_TIME_PATTERN));
|
|
|
+ currentTaskTrace.setLocationTime(Objects.isNull(e.getTs()) ? "" : DateUtils.format(e.getTs().toLocalDateTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
return currentTaskTrace;
|
|
|
}
|
|
|
|
|
|
@@ -739,7 +741,7 @@ public class kwfTruckTraceService {
|
|
|
}
|
|
|
|
|
|
// 30分钟内为在线
|
|
|
- if (vehicleData.getTs().isAfter(thirtyMinutesAgo)) {
|
|
|
+ if (vehicleData.getTs().toLocalDateTime().isAfter(thirtyMinutesAgo)) {
|
|
|
truckLocationStatusMap.put(truckNo, 1);
|
|
|
} else {
|
|
|
truckLocationStatusMap.put(truckNo, 0);
|
|
|
@@ -1068,7 +1070,7 @@ public class kwfTruckTraceService {
|
|
|
VehicleReturnData vehicleData = result.getData();
|
|
|
|
|
|
// 判断定位状态
|
|
|
- if (vehicleData.getTs() != null && vehicleData.getTs().isAfter(thirtyMinutesAgo)) {
|
|
|
+ if (vehicleData.getTs() != null && vehicleData.getTs().toLocalDateTime().isAfter(thirtyMinutesAgo)) {
|
|
|
locationInfo.setLocationStatus(1);
|
|
|
} else {
|
|
|
locationInfo.setLocationStatus(0);
|
|
|
@@ -1077,7 +1079,7 @@ public class kwfTruckTraceService {
|
|
|
locationInfo.setLongitude(vehicleData.getLongitude());
|
|
|
locationInfo.setLatitude(vehicleData.getLatitude());
|
|
|
if (vehicleData.getTs() != null) {
|
|
|
- locationInfo.setLocationTime(vehicleData.getTs().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ locationInfo.setLocationTime(vehicleData.getTs().toLocalDateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
}
|
|
|
locationInfo.setStatus(vehicleData.getStatus());
|
|
|
} else {
|
|
|
@@ -1234,7 +1236,7 @@ public class kwfTruckTraceService {
|
|
|
RTruckVo truckVo = truckIdMap.getOrDefault(order.getTruckId(), new RTruckVo());
|
|
|
vo.setEnergyType(Objects.isNull(truckVo.getEnergyType())? "":String.valueOf(truckVo.getEnergyType()));
|
|
|
SysDictResDto dictResDto = energyTypeMap.getOrDefault(String.valueOf(truckVo.getEnergyType()), new SysDictResDto());
|
|
|
- vo.setEnergyType(dictResDto.getLabel());
|
|
|
+ vo.setEnergyTypeDesc(dictResDto.getLabel());
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
@@ -1273,6 +1275,7 @@ public class kwfTruckTraceService {
|
|
|
* 生成车辆轨迹数据
|
|
|
* @param req 生成轨迹请求
|
|
|
*/
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void generateTrace(GenerateTraceReq req) {
|
|
|
log.info("生成车辆轨迹参数:{}", JSON.toJSONString(req));
|
|
|
|
|
|
@@ -1304,6 +1307,7 @@ public class kwfTruckTraceService {
|
|
|
|
|
|
try {
|
|
|
// 调用数据中台保存轨迹数据
|
|
|
+ log.info("调用数据中台保存车辆轨迹数据:{}", JSON.toJSONString(vehiclesTrajectoryReq));
|
|
|
BaseIotResult<Void> result = vehicleTraceClient.saveVehicleData(vehiclesTrajectoryReq);
|
|
|
if (!Objects.equals(result.getCode(), "0")) {
|
|
|
log.error("保存车辆轨迹数据失败:{}", result.getMessage());
|
|
|
@@ -1357,8 +1361,8 @@ public class kwfTruckTraceService {
|
|
|
// 输入的日期字符串
|
|
|
LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
LocalDateTime dateTime = date.atTime(LocalTime.now());
|
|
|
- String result = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
- vehiclesTrajectoryReq.setTs(result);
|
|
|
+ Timestamp timestamp = Timestamp.valueOf(dateTime);
|
|
|
+ vehiclesTrajectoryReq.setTs(timestamp);
|
|
|
vehiclesTrajectoryReq.setMobile(order.getDriverPhone());
|
|
|
vehiclesTrajectoryReq.setTruckNo(req.getTruckNo());
|
|
|
vehiclesTrajectoryReq.setLongitude(longitude);
|