コード例 #1
0
ファイル: RideNodeList.php プロジェクト: binaryfr3ak/sfitixi
 public function __construct(DrivingPool $drivingPool = null)
 {
     $this->rideNodes = array();
     $this->counter = 0;
     $this->totalDistance = 0;
     $this->totalEmptyRideTime = 0;
     $this->totalEmptyRideDistance = 0;
     $this->maxPassengersOnRide = 0;
     $this->maxWheelChairsOnRide = 0;
     $this->contradictingVehicleCategories = array();
     if (null === $drivingPool) {
         throw new \Exception('New RideNodeList must have a driving pool assigned.');
     }
     $this->drivingPool = $drivingPool;
     $this->vehicle = $drivingPool->getVehicle();
     $this->driver = $drivingPool->getDriver();
 }
コード例 #2
0
 private function mapDrivingPool(DrivingPool $drivingPool, $page)
 {
     /*
      * map DrivingPool infos to wrapper array
      */
     $wrapper = new DrivingConfigPrinterWrapperDTO();
     $wrapper->page = $page;
     $wrapper->poolid = $drivingPool->getId();
     $vehicle = $drivingPool->getVehicle();
     if (null !== $vehicle) {
         $wrapper->vehiclename = $vehicle->getName();
         $wrapper->parking = $vehicle->getParking();
     } else {
         $wrapper->vehiclename = $this->translate('drivingconfig.notassigned');
         $wrapper->parking = '';
         $this->errorMessages[] = $this->translate('drivingconfig.vehicle.notassigned') . ' ' . $drivingPool->getId();
     }
     $shift = $drivingPool->getShift();
     $wrapper->shiftname = $shift->getShiftType()->getName();
     $dt = $shift->getWorkingDay()->getDate();
     $wrapper->swissdate = $dt->format('d.m.Y');
     $wrapper->dayname = $dt->format('l');
     if ($drivingPool->hasAssociatedDriver()) {
         $driver = $drivingPool->getDriver();
         $wrapper->drivername = $driver->getFirstname() . ' ' . $driver->getLastname();
         $wrapper->driveremail = $driver->getEmail();
         $wrapper->driverfaxnr = $driver->getFax();
     } else {
         $wrapper->drivername = $this->translate('drivingconfig.notassigned');
         $wrapper->driveremail = '';
         $wrapper->driverfaxnr = '';
         $this->errorMessages[] = $this->translate('drivingconfig.driver.notassigned') . ' ' . $drivingPool->getId();
     }
     if ($drivingPool->getAmountOfAssociatedDrivingMissions() == 1) {
         /** @var Passenger $passenger */
         $passenger = $this->getFirstPassenger($drivingPool);
         $wrapper->clientname = $passenger->getTitle() . ' ' . $passenger->getFirstname() . ' ' . $passenger->getLastname();
         $wrapper->clientadr = $passenger->getAddress()->getStreet() . ', ' . $passenger->getAddress()->getPostalCode() . ' ' . $passenger->getAddress()->getCity() . '.';
         $wrapper->clientfon = $passenger->getTelephone();
     }
     $wrapper->errormsg = '';
     $wrapper->memo = nl2br($this->memo);
     $wrapper->customerfootnote = $this->container->getParameter('tixi_parameter_client_tarifs');
     return $wrapper->getArray();
 }
コード例 #3
0
 /**
  * @param DrivingPool $pool
  * @param array $allVehicles MonthlyPlanEditVehiclesDTO[]
  * @return MonthlyPlanEditPoolDTO
  */
 private function getAssignedPools(DrivingPool $pool, $allVehicles)
 {
     $poolDTO = new MonthlyPlanEditPoolDTO();
     $poolDTO->drivingPoolId = $pool->getId();
     $poolDTO->drivingMissions = $pool->getAmountOfAssociatedDrivingMissions();
     /** @var Vehicle $vehicle */
     $vehicle = $pool->getVehicle();
     if (null !== $vehicle) {
         /** @var MonthlyPlanEditVehiclesDTO $dto */
         $dto = $allVehicles[$vehicle->getId()];
         $poolDTO->vehicleId = $dto->vehicleId;
         $poolDTO->vehicleName = $dto->vehicleName;
         $poolDTO->vehicleCategoryId = $dto->vehicleCategoryId;
         $poolDTO->vehicleInService = $dto->vehicleInService;
     }
     /** @var Driver $driver */
     $driver = $pool->getDriver();
     if (null !== $driver) {
         $poolDTO->driverId = $driver->getId();
         $poolDTO->driverName = $driver->getNameString();
         $poolDTO->driverContradictingIds = $this->getContradictingIdsFor($driver);
     }
     return $poolDTO;
 }