private function mapDrivingOrder(DrivingOrder $drivingOrder, $mission) { /* * map DrivingOrder infos to body array */ $body = new DrivingConfigPrinterBodyDTO(); $body->colA = $mission; $body->colB = $drivingOrder->getDrivingMission()->getDirection() > 0 ? 'R' : ''; $timeService = $this->container->get('tixi_api.datetimeservice'); $body->colC = $timeService->convertToLocalTimeString($drivingOrder->getPickUpTime()); $body->colD = $drivingOrder->getPassenger()->getHasMonthlyBilling() > 0 ? 'X' : ''; $passenger = $drivingOrder->getPassenger(); $home = $passenger->getAddress(); $body->colE = $passenger->getTitle() . ' ' . $passenger->getFirstname() . ' ' . $passenger->getLastname(); $body->colF = $this->getRideNodeAddress($drivingOrder->getRoute()->getStartAddress(), $home, $passenger->getTelephone()); $body->colG = $this->getRideNodeAddress($drivingOrder->getRoute()->getTargetAddress(), $home, $passenger->getTelephone()); $comment1 = $drivingOrder->getMemo(); $comment2 = $passenger->getNotice(); if (!empty($comment1) and !empty($comment1)) { $body->colH = $comment1 . '<br>' . $comment2; } else { $body->colH = $comment1 . $comment2; } $body->colI = $passenger->getIsInWheelChair() > 0 ? 'X' : ''; /** @var ArrayCollection $handicaps */ $handicaps = $passenger->getHandicaps(); $body->colJ = $handicaps->count() > 0 ? 'X' : ''; $body->colK = $passenger->getInsurancesAsString(); /** @var Zone $zone */ $zone = $drivingOrder->getZone(); $longDistance = false; if ($zone instanceof Zone) { $body->colL = $drivingOrder->getZone()->getName(); $longDistance = $zone->isUnclassified(); } else { $body->colL = '?'; } $body->colM = $drivingOrder->getCompanion(); $body->colX = ''; if ($longDistance) { /** @var DrivingOrder $returnOrder */ $returnOrder = $drivingOrder->getCorrespondingReturnOrder(); if ($returnOrder instanceof DrivingOrder) { $body->colX = $returnOrder->getPickUpDate()->format('d.m.Y') . ' ' . $returnOrder->getPickUpTime()->format('H:i'); } } return $body->getArray(); }