<?php
namespace AdminBundle\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* DriverHistoryQueue
*/
#[ORM\Table(name: 'driver_history_queue')]
#[ORM\Entity(repositoryClass: \AdminBundle\Repository\DriverHistoryQueueRepository::class)]
class DriverHistoryQueue
{
/**
* @var int
*/
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
private $id;
/**
* @var Driver
*/
#[ORM\JoinColumn(name: 'driver_id', referencedColumnName: 'id', nullable: false)]
#[ORM\ManyToOne(targetEntity: \AdminBundle\Entity\Driver::class, inversedBy: 'driverHistoryQueues')]
protected $driver;
/**
* @var Area
*/
#[ORM\JoinColumn(name: 'area_id', referencedColumnName: 'id', nullable: false)]
#[ORM\ManyToOne(targetEntity: \AdminBundle\Entity\Area::class, inversedBy: 'driverHistoryQueues')]
protected $area;
/**
* @var boolean
*/
#[ORM\Column(name: 'queue_time_completed', type: 'boolean', options: ['default' => 0])]
protected $queueTimeCompleted = false;
/**
* @var boolean
*/
#[ORM\Column(name: 'booking_dispatched', type: 'boolean', options: ['default' => 0])]
protected $bookingDispatched = false;
/**
* @var string
*/
#[ORM\Column(name: 'leave_reason', type: 'text', nullable: true)]
protected $leaveReason;
/**
* @var DateTime
*/
#[ORM\Column(name: 'created_at', type: 'datetime')]
protected $createdAt;
/**
* @var DateTime
*/
#[ORM\Column(name: 'leaved_at', type: 'datetime', nullable: true)]
protected $leavedAt;
/**
* @var int
*/
#[ORM\Column(name: 'priority', type: 'integer', nullable: false, options: ['default' => 0])]
private $priority;
public function __construct()
{
$this->createdAt = new DateTime();
$this->priority = 0;
}
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return Driver
*/
public function getDriver()
{
return $this->driver;
}
/**
* @param Driver $driver
*
* @return DriverHistoryQueue
*/
public function setDriver(Driver $driver)
{
$this->driver = $driver;
return $this;
}
/**
* @return Area
*/
public function getArea()
{
return $this->area;
}
/**
* @param Area $area
*
* @return DriverHistoryQueue
*/
public function setArea(Area $area)
{
$this->area = $area;
return $this;
}
/**
* @return bool
*/
public function getQueueTimeCompleted()
{
return $this->queueTimeCompleted;
}
/**
* @param bool $queueTimeCompleted
*
* @return DriverHistoryQueue
*/
public function setQueueTimeCompleted(bool $queueTimeCompleted)
{
$this->queueTimeCompleted = $queueTimeCompleted;
return $this;
}
/**
* @return bool
*/
public function getBookingDispatched()
{
return $this->bookingDispatched;
}
/**
* @param bool $bookingDispatched
*
* @return DriverHistoryQueue
*/
public function setBookingDispatched(bool $bookingDispatched)
{
$this->bookingDispatched = $bookingDispatched;
return $this;
}
/**
* @return DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* @param DateTime $createdAt
*
* @return DriverHistoryQueue
*/
public function setCreatedAt(DateTime $createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* @return DateTime
*/
public function getLeavedAt()
{
return $this->leavedAt;
}
/**
* @param DateTime $leavedAt
*
* @return DriverHistoryQueue
*/
public function setLeavedAt(DateTime $leavedAt)
{
$this->leavedAt = $leavedAt;
return $this;
}
/**
* @return string
*/
public function getLeaveReason()
{
return $this->leaveReason;
}
/**
* @param string $leaveReason
*
* @return DriverHistoryQueue
*/
public function setLeaveReason(string $leaveReason)
{
$this->leaveReason = $leaveReason;
return $this;
}
/**
* @return int
*/
public function getPriority()
{
return $this->priority;
}
/**
* @param int $priority
*
* @return DriverHistoryQueue
*/
public function setPriority(int $priority)
{
$this->priority = $priority;
return $this;
}
}