| | |
| | | if(vehicle!=null){ |
| | | // 生成新的巡游单子 回到最新巡游的初始起点位置 |
| | | XpCruiseOrder xpCruiseOrders = xpCruiseOrderMapper.selectOne(new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleId, vehicle.getId()).eq(XpCruiseOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("limit 1")); |
| | | int temp=0; |
| | | if(xpCruiseOrders==null){ |
| | | temp=1; |
| | | //特殊情况 可能没有产生终止的订单 (到站点就被正常接单了)所以找正常订单 |
| | | xpCruiseOrders=xpCruiseOrderMapper.selectOne(new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleId, vehicle.getId()).eq(XpCruiseOrder::getStatus, 3).orderByDesc(BaseModel::getCreateTime).last("limit 1")); |
| | | } |
| | | XpCruiseOrder xpCruiseOrder = new XpCruiseOrder(); |
| | | xpCruiseOrder.setVehicleId(vehicle.getId()); |
| | | xpCruiseOrder.setFleetId(vehicle.getFleetId()); |
| | |
| | | xpCruiseOrder.setStartLon(order.getEndLon()); |
| | | xpCruiseOrder.setStartLat(order.getEndLat()); |
| | | |
| | | xpCruiseOrder.setEndPointId(xpCruiseOrders.getStartPointId()); |
| | | xpCruiseOrder.setEndPointName(xpCruiseOrders.getStartPointName()); |
| | | xpCruiseOrder.setEndLon(xpCruiseOrders.getStartLon()); |
| | | xpCruiseOrder.setEndLat(xpCruiseOrders.getStartLat()); |
| | | // 完成的直接走终点 终止的走起点 |
| | | if(temp==0){ |
| | | xpCruiseOrder.setEndPointId(xpCruiseOrders.getStartPointId()); |
| | | xpCruiseOrder.setEndPointName(xpCruiseOrders.getStartPointName()); |
| | | xpCruiseOrder.setEndLon(xpCruiseOrders.getStartLon()); |
| | | xpCruiseOrder.setEndLat(xpCruiseOrders.getStartLat()); |
| | | }else { |
| | | xpCruiseOrder.setEndPointId(xpCruiseOrders.getEndPointId()); |
| | | xpCruiseOrder.setEndPointName(xpCruiseOrders.getEndPointName()); |
| | | xpCruiseOrder.setEndLon(xpCruiseOrders.getEndLon()); |
| | | xpCruiseOrder.setEndLat(xpCruiseOrders.getEndLat()); |
| | | } |
| | | |
| | | |
| | | xpCruiseOrder.setStatus(1); |
| | | xpCruiseOrder.setLastOrderId(xpCruiseOrders.getId()); |