提交 0ebf5567 authored 作者: jiangwujie's avatar jiangwujie

feature(电子围栏): 调整查询卡车位置的接口

Former-commit-id: 2aa16014
上级 4b18cce6
......@@ -3287,7 +3287,7 @@ public class OrderChildServiceImpl implements OrderChildService {
truckLatitudeY = truckTraceDTO.getLocation()[1];
}
if (truckLongitudeX == null || truckLatitudeY == null) {
BigDecimal[] location = truckTraceService.getCurrentPosition(truckNo, driverUserNo);
BigDecimal[] location = truckTraceService.getTruckCurrentPosition(truckNo);
log.info("运单号:{},卡车:{},卡车经纬度:{}", childNo, truckNo, location);
if (location != null && location.length > 2) {
truckLongitudeX = location[0];
......
......@@ -303,6 +303,41 @@ public class TruckTraceServiceImpl implements TruckTraceService {
return null;
}
/**
* 获取卡车当前位置 5分钟内的位置
* @param truckNo 卡车车牌号
* @return 位置
*/
@Override
public BigDecimal[] getTruckCurrentPosition(String truckNo) {
String beginTime = LocalDateTimeUtils.formatTime(LocalDateTime.now().minusMinutes(LAST_POSITION_TIME));
return getTruckCurrentPosition(truckNo, beginTime);
}
/**
* 获取卡车当前位置
* @param truckNo 卡车车牌号
* @param beginTime 开始时间
* @return 位置
*/
@Override
public BigDecimal[] getTruckCurrentPosition(String truckNo, String beginTime) {
String endTime = LocalDateTimeUtils.formatTime();
// 车辆
List<TruckTraceESPlus> list = truckTraceESPlusMapper.selectList(new LambdaEsQueryWrapper<TruckTraceESPlus>()
.eq(TruckTraceESPlus::getTruckNo, truckNo)
.ge(TruckTraceESPlus::getGpsTime, beginTime)
.le(TruckTraceESPlus::getGpsTime, endTime)
.orderByDesc("gpsTime")
.limit(1)
);
if (!list.isEmpty()){
return list.get(0).getLocation();
}
return null;
}
@Override
public int getParkTime(String truckNo, Long userNo, LocalDateTime beginDateTime) {
return getParkTime(truckNo, userNo, beginDateTime, LocalDateTime.now());
......
......@@ -23,6 +23,10 @@ public interface TruckTraceService {
BigDecimal[] getCurrentPosition(String truckNo, Long userNo, String beginTime);
BigDecimal[] getTruckCurrentPosition(String truckNo);
BigDecimal[] getTruckCurrentPosition(String truckNo, String beginTime);
int getParkTime(String truckNo, Long userNo, LocalDateTime beginDateTime);
int getParkTime(String truckNo, Long userNo, LocalDateTime beginTime, LocalDateTime endTime);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论