resq/src/Entity/CustomerVehicle.php
2018-01-29 22:02:28 +08:00

267 lines
5.4 KiB
PHP

<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use DateTime;
/**
* @ORM\Entity
* @ORM\Table(name="customer_vehicle")
*/
class CustomerVehicle
{
// unique id
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
// user-defined name for vehicle
/**
* @ORM\Column(type="string", length=80)
* @Assert\NotBlank()
*/
protected $name;
// link to customer
/**
* @ORM\ManyToOne(targetEntity="Customer", inversedBy="vehicles")
* @ORM\JoinColumn(name="customer_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
protected $customer;
// vehicle
/**
* @ORM\ManyToOne(targetEntity="Vehicle", inversedBy="customers")
* @ORM\JoinColumn(name="vehicle_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
protected $vehicle;
// plate number
/**
* @ORM\Column(type="string", length=10)
* @Assert\NotBlank()
*/
protected $plate_number;
// model year
/**
* @ORM\Column(type="smallint")
* @Assert\NotBlank()
*/
protected $model_year;
// color of customer's vehicle
/**
* @ORM\Column(type="string", length=25)
* @Assert\NotBlank()
*/
protected $color;
// vehicle status (new / second-hand)
/**
* @ORM\Column(type="string", length=15)
* @Assert\NotBlank()
*/
protected $status_condition;
// fuel type - diesel, gas
/**
* @ORM\Column(type="string", length=15)
* @Assert\NotBlank()
*/
protected $fuel_type;
// warranty code
// TODO: figure out how to check expiration
/**
* @ORM\Column(type="string", length=20, nullable=true)
*/
protected $warranty_code;
// date that battery warranty expires
/**
* @ORM\Column(type="date", nullable=true)
*/
protected $warranty_expiration;
// link to current battery
/**
* @ORM\ManyToOne(targetEntity="Battery", inversedBy="cust_vehicles")
* @ORM\JoinColumn(name="battery_id", referencedColumnName="id", nullable=true)
*/
protected $curr_battery;
// job orders that involve customer vehicle
/**
* @ORM\OneToMany(targetEntity="JobOrder", mappedBy="cus_vehicle")
*/
protected $job_orders;
// vehicle using motolite battery?
/**
* @ORM\Column(type="boolean")
*/
protected $flag_motolite_battery;
// is vehicle still active?
/**
* @ORM\Column(type="boolean")
*/
protected $flag_active;
public function getID()
{
return $this->id;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getName()
{
return $this->name;
}
public function setCustomer(Customer $customer)
{
$this->customer = $customer;
return $this;
}
public function getCustomer()
{
return $this->customer;
}
public function setVehicle(Vehicle $vehicle)
{
$this->vehicle = $vehicle;
return $this;
}
public function getVehicle()
{
return $this->vehicle;
}
public function setPlateNumber($plate_number)
{
$this->plate_number = $plate_number;
return $this;
}
public function getPlateNumber()
{
return $this->plate_number;
}
public function setModelYear($model_year)
{
$this->model_year = $model_year;
return $this;
}
public function getModelYear()
{
return $this->model_year;
}
public function setColor($color)
{
$this->color = $color;
return $this;
}
public function getColor()
{
return $this->color;
}
public function setStatusCondition($status_condition)
{
$this->status_condition = $status_condition;
return $this;
}
public function getStatusCondition()
{
return $this->status_condition;
}
public function setFuelType($fuel_type)
{
$this->fuel_type = $fuel_type;
return $this;
}
public function getFuelType()
{
return $this->fuel_type;
}
public function setWarrantyCode($warranty_code)
{
$this->warranty_code = $warranty_code;
return $this;
}
public function getWarrantyCode()
{
return $this->warranty_code;
}
public function setWarrantyExpiration(DateTime $warranty_expiration = null)
{
$this->warranty_expiration = $warranty_expiration;
return $this;
}
public function getWarrantyExpiration()
{
return $this->warranty_expiration;
}
public function setCurrentBattery(Battery $curr_battery)
{
$this->curr_battery = $curr_battery;
return $this;
}
public function getCurrentBattery()
{
return $this->curr_battery;
}
public function setHasMotoliteBattery($flag_motolite_battery = true)
{
$this->flag_motolite_battery = $flag_motolite_battery;
return $this;
}
public function hasMotoliteBattery()
{
return $this->flag_motolite_battery;
}
public function setActive($flag_active = true)
{
$this->flag_active = $flag_active;
return $this;
}
public function isActive()
{
return $this->flag_active;
}
}