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

运单预警

上级 73756c91
...@@ -83,4 +83,20 @@ public enum DriverTruckEnum { ...@@ -83,4 +83,20 @@ public enum DriverTruckEnum {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst(); return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
} }
} }
//车辆状态:1空车 2重车
@Getter
@AllArgsConstructor
public enum TraceTruckStatus {
EMPTY(1, "空车"),
HEAVY(2, "重车");
private final Integer code;
private final String msg;
public static Optional<TraceTruckStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
} }
...@@ -21,8 +21,8 @@ import java.util.List; ...@@ -21,8 +21,8 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class VehicleTraceVO { public class VehicleTraceVO {
@ApiModelProperty(value = "车辆轨迹列表") @ApiModelProperty(value = "车辆轨迹列表")
List<DriverTruckTraceVO> truckTraceList; List<List<DriverTruckTraceVO>> truckTraceList;
@ApiModelProperty(value = "司机轨迹列表") @ApiModelProperty(value = "司机轨迹列表")
List<DriverTraceVO> driverTraceList; List<List<DriverTraceVO>> driverTraceList;
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import com.clx.performance.dao.OrderChildDao; ...@@ -6,6 +6,7 @@ import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnLogDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnLogDao;
import com.clx.performance.dao.vehiclewarn.VehicleWarnRangeDao; import com.clx.performance.dao.vehiclewarn.VehicleWarnRangeDao;
import com.clx.performance.enums.DriverTruckEnum;
import com.clx.performance.enums.ResultEnum; import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum; import com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum;
import com.clx.performance.enums.vehiclewarn.VehicleWarnLogEnum; import com.clx.performance.enums.vehiclewarn.VehicleWarnLogEnum;
...@@ -138,23 +139,26 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService { ...@@ -138,23 +139,26 @@ public class VehicleWarnInfoServiceImpl implements VehicleWarnInfoService {
if (orderChild.getFinishTime() != null) {endTime = orderChild.getFinishTime();} if (orderChild.getFinishTime() != null) {endTime = orderChild.getFinishTime();}
if (endTime.isAfter(beginTime.plusDays(TRUCK_TRACE_DAY_MAX))) {endTime = beginTime.plusDays(TRUCK_TRACE_DAY_MAX);} //最多查询3天 if (endTime.isAfter(beginTime.plusDays(TRUCK_TRACE_DAY_MAX))) {endTime = beginTime.plusDays(TRUCK_TRACE_DAY_MAX);} //最多查询3天
List<DriverTruckTraceVO> truckTraceList = truckTraceService.calcTruckStayTime(truckTraceService.listTruckTraceByTime(vehicleWarnInfo.getTruckNo(), LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime))); List<DriverTruckTraceVO> truckTraceList = truckTraceService.listTruckTraceByTime(vehicleWarnInfo.getTruckNo(),
List<DriverTraceVO> driverTraceList = truckTraceService.calcDriverStayTime(truckTraceService.listDriverTraceByTime(vehicleWarnInfo.getDriverUserNo(), LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime))); LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime));
// 接单重车、卸车空车 // 接单重车、卸车空车
for (DriverTruckTraceVO item : truckTraceList) { for (DriverTruckTraceVO item : truckTraceList) {
item.setTruckStatus(2); item.setTruckStatus(DriverTruckEnum.TraceTruckStatus.HEAVY.getCode());
if (orderChild.getCancelTime() != null){ if (orderChild.getCancelTime() != null){
if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getCancelTime())){item.setTruckStatus(1);} if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getCancelTime())){
item.setTruckStatus(DriverTruckEnum.TraceTruckStatus.EMPTY.getCode());}
} }
if (orderChild.getUnloadTime() != null){ if (orderChild.getUnloadTime() != null){
if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getUnloadTime())){item.setTruckStatus(1);} if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getUnloadTime())){
item.setTruckStatus(DriverTruckEnum.TraceTruckStatus.EMPTY.getCode());}
} }
} }
List<DriverTraceVO> driverTraceList = truckTraceService.listDriverTraceByTime(vehicleWarnInfo.getDriverUserNo(),
LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime));
VehicleTraceVO result = new VehicleTraceVO(); VehicleTraceVO result = new VehicleTraceVO();
result.setDriverTraceList(driverTraceList); result.setDriverTraceList(truckTraceService.splitDriverTrace(driverTraceList));
result.setTruckTraceList(truckTraceList); result.setTruckTraceList(truckTraceService.splitTruckTrace(truckTraceList));
return result; return result;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论