| | |
| | | mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class); |
| | | } |
| | | //调用推送服务接口 |
| | | if (null != orderId) { |
| | | if (null != orderId && !order_id.contains("XU")) { |
| | | RtTripInfo rtTripInfo = systemRuntimeStatus.getRtTripInfo(); |
| | | PushOrderRouteDTO dto = new PushOrderRouteDTO(); |
| | | dto.setOrderId(orderId); |
| | | dto.setRouteType(order_id.contains("XU") ? 2 : 1); |
| | | dto.setRouteType(1); |
| | | dto.setLongitude(longitude); |
| | | dto.setLatitude(latitude); |
| | | //TODO 这两个字段现在拿不到 |
| | |
| | | XpVehicle xpVehicle = xpVehicleR.getData(); |
| | | // 运营中 继续执行 |
| | | if(xpVehicle.getOperatingStatus()==1 && xpVehicle.getState()==0){ |
| | | log.info("巡游单到达终点,继续执行下一笔巡游单"); |
| | | // 创建新的巡游单子 判断是否为返程单子 |
| | | if(xpCruiseOrder.getOrderType()==2){ |
| | | R<XpCruiseOrder> lastOrder = xpCruiseOrderClient.getCruiseOrder(xpCruiseOrder.getLastOrderId()); |
| | | XpCruiseOrder lastXpCruiseOrder = lastOrder.getData(); |
| | | // 修改一下id 加一个一样的巡游单子 |
| | | lastXpCruiseOrder.setId(null); |
| | | lastXpCruiseOrder.setStatus(1); |
| | | xpCruiseOrderClient.addCruiseOrder(lastXpCruiseOrder); |
| | | }else if(xpCruiseOrder.getOrderType()==1){ |
| | | // 正常巡游 找到下一个点位 若到达最后点位 则反向找点位 |
| | | // 起点 |
| | | Double endLon = xpCruiseOrder.getEndLon(); |
| | | Double endLat = xpCruiseOrder.getEndLat(); |
| | | XpCruiseOrder newXpCruiseOrder = new XpCruiseOrder(); |
| | | newXpCruiseOrder.setVehicleId(xpCruiseOrder.getVehicleId()); |
| | | newXpCruiseOrder.setVehicleVin(xpCruiseOrder.getVehicleVin()); |
| | | newXpCruiseOrder.setFleetId(xpCruiseOrder.getFleetId()); |
| | | newXpCruiseOrder.setOrderType(1); |
| | | newXpCruiseOrder.setStartLat(endLat); |
| | | newXpCruiseOrder.setStartLon(endLon); |
| | | newXpCruiseOrder.setStartPointId(xpCruiseOrder.getEndPointId()); |
| | | newXpCruiseOrder.setStartPointName(xpCruiseOrder.getEndPointName()); |
| | | newXpCruiseOrder.setStatus(1); |
| | | newXpCruiseOrder.setLastOrderId(xpCruiseOrder.getId()); |
| | | // 正常巡游 找到下一个点位 若到达最后点位 则反向找点位 |
| | | // 起点 |
| | | Double endLon = xpCruiseOrder.getEndLon(); |
| | | Double endLat = xpCruiseOrder.getEndLat(); |
| | | XpCruiseOrder newXpCruiseOrder = new XpCruiseOrder(); |
| | | newXpCruiseOrder.setVehicleId(xpCruiseOrder.getVehicleId()); |
| | | newXpCruiseOrder.setVehicleVin(xpCruiseOrder.getVehicleVin()); |
| | | newXpCruiseOrder.setFleetId(xpCruiseOrder.getFleetId()); |
| | | newXpCruiseOrder.setOrderType(1); |
| | | newXpCruiseOrder.setStartLat(endLat); |
| | | newXpCruiseOrder.setStartLon(endLon); |
| | | newXpCruiseOrder.setStartPointId(xpCruiseOrder.getEndPointId()); |
| | | newXpCruiseOrder.setStartPointName(xpCruiseOrder.getEndPointName()); |
| | | newXpCruiseOrder.setStatus(1); |
| | | newXpCruiseOrder.setLastOrderId(xpCruiseOrder.getId()); |
| | | |
| | | // 通过车找终点id |
| | | CruisePointDto cruisePointDto = new CruisePointDto(); |
| | | cruisePointDto.setNewXpCruiseOrder(newXpCruiseOrder); |
| | | cruisePointDto.setVehicleId(xpCruiseOrder.getVehicleId()); |
| | | cruisePointDto.setPointId(newXpCruiseOrder.getStartPointId()); |
| | | cruisePointDto.setOrderReverse(xpCruiseOrder.getOrderReverse()); |
| | | R<XpCruiseOrder> cruisePoint = xpCruisePlanClient.getCruisePoint(cruisePointDto); |
| | | if(cruisePoint!=null){ |
| | | xpCruiseOrderClient.addCruiseOrder(cruisePoint.getData()); |
| | | } |
| | | // 通过车找终点id |
| | | CruisePointDto cruisePointDto = new CruisePointDto(); |
| | | cruisePointDto.setNewXpCruiseOrder(newXpCruiseOrder); |
| | | cruisePointDto.setVehicleId(xpCruiseOrder.getVehicleId()); |
| | | cruisePointDto.setPointId(newXpCruiseOrder.getStartPointId()); |
| | | cruisePointDto.setOrderReverse(xpCruiseOrder.getOrderReverse()); |
| | | R<XpCruiseOrder> cruisePoint = xpCruisePlanClient.getCruisePoint(cruisePointDto); |
| | | if(cruisePoint!=null){ |
| | | xpCruiseOrderClient.addCruiseOrder(cruisePoint.getData()); |
| | | } |
| | | } |
| | | } |