提交 27dc73a6 authored 作者: 艾庆国's avatar 艾庆国

运单预警

上级 0e63db6b
......@@ -31,6 +31,8 @@ public class DriverTraceAddParam {
private BigDecimal[] location;
@ApiModelProperty(value = "时间")
private String gpsTime;
@ApiModelProperty(value = "速度", example = "12.34")
private BigDecimal speed;
}
}
......@@ -22,6 +22,8 @@ public class DriverTraceVO {
private BigDecimal speed;
@ApiModelProperty(value = "停留时长(min)", example = "12.3")
private BigDecimal stayTime=BigDecimal.ZERO;
@ApiModelProperty(value = "停留结束时间")
private String stayEndTime;
@ApiModelProperty(value = "车辆状态:1空车 2重车", example = "1")
private Integer truckStatus;
}
......@@ -26,6 +26,8 @@ public class DriverTruckTraceVO {
private BigDecimal latitude;
@ApiModelProperty(value = "GPS 时间")
private String gpsTime;
@ApiModelProperty(value = "停留结束时间")
private String stayEndTime;
@ApiModelProperty(value = "停留时长(min)", example = "12.3")
private BigDecimal stayTime=BigDecimal.ZERO;
@ApiModelProperty(value = "车辆状态:1空车 2重车", example = "1")
......
......@@ -113,8 +113,8 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
if (orderChild.getFinishTime() != null) {endTime = orderChild.getFinishTime();}
if (endTime.isAfter(beginTime.plusDays(TRUCK_TRACE_DAY_MAX))) {endTime = beginTime.plusDays(TRUCK_TRACE_DAY_MAX);} //最多查询3天
List<DriverTruckTraceVO> truckTraceList = truckTraceService.listTruckTraceByTime(vehicleWarnInfo.getTruckNo(), LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime));
List<DriverTraceVO> driverTraceList = truckTraceService.listDriverTraceByTime(vehicleWarnInfo.getDriverUserNo(), LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime));
List<DriverTruckTraceVO> truckTraceList = truckTraceService.calcTruckStayTime(truckTraceService.listTruckTraceByTime(vehicleWarnInfo.getTruckNo(), LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime)));
List<DriverTraceVO> driverTraceList = truckTraceService.calcDriverStayTime(truckTraceService.listDriverTraceByTime(vehicleWarnInfo.getDriverUserNo(), LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime)));
// 接单重车、卸车空车
for (DriverTruckTraceVO item : truckTraceList) {
......
......@@ -73,7 +73,7 @@ public class VehicleWarnParkWarnServiceImpl implements VehicleWarnParkWarnServic
}
private void doParkTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnConfig vehicleWarnConfig, int parkTimee){
private void doParkTimeout(OrderChild orderChild, VehicleWarnChild vehicleWarnChild, VehicleWarnConfig vehicleWarnConfig, int parkTime){
VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao.findByChildNoAndWarnConfigId(vehicleWarnChild.getChildNo(), vehicleWarnConfig.getId()).orNull();
if (vehicleWarnInfo != null && Objects.equals(vehicleWarnInfo.getStatus(), VehicleWarnInfoEnum.Status.RESOLVE.getCode())){
return;
......@@ -85,7 +85,7 @@ public class VehicleWarnParkWarnServiceImpl implements VehicleWarnParkWarnServic
// 超时判断
int time = vehicleWarnConfig.getTimeoutRatio().multiply(new BigDecimal(MIN_FER_HOUR)).intValue();
if (parkTimee > time){return;}
if (parkTime > time){return;}
// 更新
vehicleWarnCommonService.vehicleWarnInfoUpdate(orderChild, vehicleWarnInfo, vehicleWarnConfig);
......
......@@ -20,4 +20,19 @@ public interface TruckTraceService {
BigDecimal[] getCurrentPosition(String truckNo, Long userNo);
int getParkTime(String truckNo, Long userNo);
BigDecimal[] getCurrentTruckPosition(String truckNo);
List<List<DriverTraceVO>> splitDriverTrace(List<DriverTraceVO> driverTraceList);
//计算车辆的停留结束时间
List<DriverTruckTraceVO> calcTruckStayTime(List<DriverTruckTraceVO> traceList);
//计算司机的停留结束时间
List<DriverTraceVO> calcDriverStayTime(List<DriverTraceVO> traceList);
List<List<DriverTruckTraceVO>> splitTruckTrace(List<DriverTruckTraceVO> traceList);
}
......@@ -409,4 +409,9 @@ public class LocalDateTimeUtils {
Duration duration = Duration.between(startTime, endTime);
return duration.getSeconds();
}
public static long betweenMin(LocalDateTime startTime, LocalDateTime endTime){
Duration duration = Duration.between(startTime, endTime);
return duration.toMinutes();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论