示例#1
0
 /**
  * @param DrivingOrder $drivingOrder
  * @return DrivingMission
  */
 public static function registerDrivingMissionFromOrder(DrivingOrder $drivingOrder)
 {
     $drivingMission = new DrivingMission();
     $drivingMission->setDirection(self::SAME_START);
     $drivingMission->setServiceOrder(array($drivingOrder->getId()));
     $boardingTime = DispositionVariables::getBoardingTimes();
     $extraMinutesPassenger = $drivingOrder->getPassenger()->getExtraMinutes();
     $additionalTimesOnRide = $boardingTime + $extraMinutesPassenger;
     $serviceMinuteOfDay = DateTimeService::getMinutesOfDay($drivingOrder->getPickUpTime());
     $serviceDuration = $drivingOrder->getRoute()->getDurationInMinutes() + $additionalTimesOnRide;
     $serviceDistance = $drivingOrder->getRoute()->getDistanceInMeters();
     $drivingMission->setServiceMinuteOfDay($serviceMinuteOfDay);
     $drivingMission->setServiceDuration($serviceDuration);
     $drivingMission->setServiceDistance($serviceDistance);
     //DrivingMission <-> Order
     $drivingMission->assignDrivingOrder($drivingOrder);
     $drivingOrder->assignDrivingMission($drivingMission);
     return $drivingMission;
 }
 /**
  * Convert one driving order to one embedded list DTO
  *
  * @param DrivingOrder $drivingOrder
  * @return DrivingOrderEmbeddedListDTO
  */
 public function drivingOrderToDrivingOrderEmbeddedListDTO(DrivingOrder $drivingOrder)
 {
     $listDTO = new DrivingOrderEmbeddedListDTO();
     $listDTO->id = $drivingOrder->getId();
     $listDTO->passengerId = $drivingOrder->getPassenger()->getId();
     $listDTO->isDeleted = !$drivingOrder->isActive();
     $listDTO->sortOrder = $drivingOrder->getSortOrder();
     $listDTO->pickupDate = $this->dateTimeService->convertToLocalDateTime($drivingOrder->getPickUpDate())->format('d.m.Y');
     $listDTO->pickupTime = $this->dateTimeService->convertToLocalDateTime($drivingOrder->getPickUpTime())->format('H:i');
     $listDTO->addressFromString = $drivingOrder->getRoute()->getStartAddress()->toString();
     $listDTO->addressToString = $drivingOrder->getRoute()->getTargetAddress()->toString();
     return $listDTO;
 }