提交 03df4cf2 authored 作者: 姜文业's avatar 姜文业

车辆当前定位

上级 a40cdc70
...@@ -23,12 +23,6 @@ public class TruckPositionDaoImpl extends BaseDaoImpl<TruckPositionMapper, Truck ...@@ -23,12 +23,6 @@ public class TruckPositionDaoImpl extends BaseDaoImpl<TruckPositionMapper, Truck
public void updateTruckPositionStatus(Integer deleteStatus, List<String> truckNoList) { public void updateTruckPositionStatus(Integer deleteStatus, List<String> truckNoList) {
update(lUdWrapper() update(lUdWrapper()
.set(TruckPosition::getDeleteStatus, deleteStatus) .set(TruckPosition::getDeleteStatus, deleteStatus)
.set(TruckPosition::getChildNo, "")
.set(TruckPosition::getChildStatus, 0)
.set(TruckPosition::getChildProvince, "")
.set(TruckPosition::getTruckProvince, "")
.set(TruckPosition::getLatitude, 0.00)
.set(TruckPosition::getLongitude, 0.00)
.notIn(CollectionUtil.isNotEmpty(truckNoList), TruckPosition::getTruckNo, truckNoList) .notIn(CollectionUtil.isNotEmpty(truckNoList), TruckPosition::getTruckNo, truckNoList)
); );
} }
......
...@@ -9,9 +9,10 @@ import com.clx.performance.dto.zjxl.TruckTraceDTO; ...@@ -9,9 +9,10 @@ import com.clx.performance.dto.zjxl.TruckTraceDTO;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.TruckPosition; import com.clx.performance.model.TruckPosition;
import com.clx.performance.service.trace.TruckTraceService; import com.clx.performance.service.trace.TruckTraceService;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.pc.trace.DriverTraceVO; import com.clx.performance.vo.pc.trace.DriverTraceVO;
import com.clx.user.feign.TruckFeign;
import com.clx.user.feign.UserClxFeign; import com.clx.user.feign.UserClxFeign;
import com.clx.user.vo.feign.TruckOwnerInfoVO;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.job.JobLog; import com.msl.common.job.JobLog;
import com.msl.common.result.Result; import com.msl.common.result.Result;
...@@ -41,15 +42,15 @@ public class TruckPositionJob { ...@@ -41,15 +42,15 @@ public class TruckPositionJob {
@Autowired(required = false) @Autowired(required = false)
UserClxFeign userClxFeign; UserClxFeign userClxFeign;
@Autowired @Autowired(required = false)
ZjxlGpsService zjxlGpsService; TruckFeign truckFeign;
@Autowired @Autowired
RedisTemplate redisTemplate; RedisTemplate redisTemplate;
@Autowired @Autowired
OrderChildDao orderChildDao;
@Autowired
TruckTraceService truckTraceService; TruckTraceService truckTraceService;
@Autowired @Autowired
OrderChildDao orderChildDao;
@Autowired
TruckPositionDao truckPositionDao; TruckPositionDao truckPositionDao;
/** /**
...@@ -80,9 +81,13 @@ public class TruckPositionJob { ...@@ -80,9 +81,13 @@ public class TruckPositionJob {
List<TruckPosition> truckPositionList = new ArrayList<>(); List<TruckPosition> truckPositionList = new ArrayList<>();
List<String> truckNos = result.getData(); List<String> truckNos = result.getData();
//批量处理不在内的车牌号均至为失效,位置为空 //处理不在内的车牌号均至为失效
truckPositionDao.updateTruckPositionStatus(DeleteStatusEnum.YES.getCode(),truckNos); truckPositionDao.updateTruckPositionStatus(DeleteStatusEnum.YES.getCode(),truckNos);
if(CollectionUtils.isEmpty(truckNos)){
return;
}
//有效运单集合 //有效运单集合
List<OrderChild> orderChildList = orderChildDao.selectListWithEmptyCarList(); List<OrderChild> orderChildList = orderChildDao.selectListWithEmptyCarList();
Map<String, OrderChild> truckChildStatusMap = orderChildList.stream() Map<String, OrderChild> truckChildStatusMap = orderChildList.stream()
...@@ -107,32 +112,43 @@ public class TruckPositionJob { ...@@ -107,32 +112,43 @@ public class TruckPositionJob {
if(Objects.isNull(trace)){ if(Objects.isNull(trace)){
//无中交轨迹 //无中交轨迹
TruckPosition position = new TruckPosition();
position.setTruckNo(truckNo);
position.setDeleteStatus(DeleteStatusEnum.NO.getCode());
Long userNo = null;
if(Objects.isNull(child)){ if(Objects.isNull(child)){
noZJXLNoChildTruckNos.add(truckNo); //车辆当前没有运单 取车主手机位置
Result<TruckOwnerInfoVO> truckOwnerResult = truckFeign.getTruckOwnerInfo(truckNo);
if(Objects.equals(truckOwnerResult.getCode(), ResultCodeEnum.SUCCESS.getCode())){
userNo = truckOwnerResult.getData().getUserNo();
}
}else{ }else{
List<DriverTraceVO> traceVOS =
truckTraceService.listDriverTraceByTime(child.getDriverUserNo(),beginTimeStr,endTimeStr);
TruckPosition position = new TruckPosition();
position.setTruckNo(truckNo);
position.setChildNo(child.getChildNo()); position.setChildNo(child.getChildNo());
//车辆有运单 取运单司机手机位置
userNo = child.getDriverUserNo();
}
if(Objects.nonNull(userNo)){
List<DriverTraceVO> traceVOS =
truckTraceService.listDriverTraceByTime(userNo,beginTimeStr,endTimeStr);
if(!CollectionUtils.isEmpty(traceVOS)){ if(!CollectionUtils.isEmpty(traceVOS)){
position.setLatitude(traceVOS.get(0).getLatitude()); position.setLatitude(traceVOS.get(0).getLatitude());
position.setLongitude(traceVOS.get(0).getLongitude()); position.setLongitude(traceVOS.get(0).getLongitude());
} }
position.setDeleteStatus(DeleteStatusEnum.NO.getCode());
truckPositionList.add(position);
} }
truckPositionList.add(position);
}else{ }else{
//有中交轨迹 //有中交轨迹
BigDecimal[] location = trace.getLocation();
TruckPosition position = new TruckPosition(); TruckPosition position = new TruckPosition();
position.setTruckNo(truckNo); position.setTruckNo(truckNo);
position.setLatitude(location[1]);
position.setLongitude(location[0]);
position.setDeleteStatus(DeleteStatusEnum.NO.getCode()); position.setDeleteStatus(DeleteStatusEnum.NO.getCode());
if(Objects.nonNull(child)){ if(Objects.nonNull(child)){
position.setChildNo(child.getChildNo()); position.setChildNo(child.getChildNo());
} }
BigDecimal[] location = trace.getLocation();
if(location.length > 1){
position.setLatitude(location[1]);
position.setLongitude(location[0]);
}
truckPositionList.add(position); truckPositionList.add(position);
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论