src/Entity/VehicleRtsActivitiesInvoices.php line 28

  1. <?php
  2. namespace App\Entity;
  3. use App\Validator\Constraints as AppAssert;
  4. use Doctrine\ORM\Mapping\Id;
  5. use Doctrine\ORM\Mapping\Index;
  6. use Doctrine\ORM\Mapping\Entity;
  7. use Doctrine\ORM\Mapping\Table;
  8. use Doctrine\ORM\Mapping\Column;
  9. use Doctrine\ORM\Mapping\JoinColumn;
  10. use Doctrine\ORM\Mapping\ManyToOne;
  11. use Doctrine\ORM\Mapping\OneToOne;
  12. use Doctrine\ORM\Mapping\OneToMany;
  13. use Doctrine\ORM\Mapping\GeneratedValue;
  14. use Doctrine\ORM\Mapping\HasLifecycleCallbacks;
  15. use Symfony\Component\Validator\Constraints as Assert;
  16. /**
  17.  * VehicleRtsActivitiesInvoices
  18.  *
  19.  * @AppAssert\UniqueInvoiceNumber
  20.  */
  21. #[Entity]
  22. #[HasLifecycleCallbacks]
  23. #[Table(name'vehicle_rts_activities_invoices')]
  24. #[Index(name'activity_fk_idx'columns: ['activity_id'])]
  25. class VehicleRtsActivitiesInvoices
  26. {
  27.     /**
  28.      * @var string
  29.      */
  30.     #[Column(name'type'type'string'length50nullabletrue)]
  31.     private $type;
  32.     /**
  33.      * available types
  34.      */
  35.     const INVOICE_TYPES = array(
  36.         'Agency'        => 'Agency',
  37.         'Traffic_Fines' => 'Traffic_Fines',
  38.         'Forklift'      => 'Forklift',
  39.         'Estimation'    => 'Estimation',
  40.         'Transport'     => 'Transport',
  41.         'Storage'       => 'Storage',
  42.         'Workshop'      => 'Workshop',
  43.         'Vehcile_Repairs' => 'Vehcile_Repairs',
  44.     );
  45.     /**
  46.      * @var \Activity
  47.      */
  48.     #[ManyToOne(targetEntity\Activity::class, inversedBy'activityInvoice'cascade: ['persist''merge'])]
  49.     #[Assert\Valid]
  50.     #[JoinColumn(name'activity_id'referencedColumnName'activity_id')]
  51.     private $activity;
  52.     /**
  53.      * @var \SupplierInvoices
  54.      */
  55.     #[OneToOne(targetEntity\SupplierInvoices::class, cascade: ['persist''merge''detach''refresh'], inversedBy'rtsInvoice')]
  56.     #[Assert\Valid]
  57.     #[JoinColumn(name'rts_supplier_invoice_id'referencedColumnName'invoice_id')]
  58.     private $supplierInvoice;
  59.     /**
  60.      * @var integer
  61.      */
  62.     #[Column(name'rts_supplier_invoice_id'type'integer'precision10scale0nullablefalse)]
  63.     #[Id]
  64.     #[GeneratedValue(strategy'NONE')]
  65.     private $rtsInvoiceId;
  66.     /**
  67.      * @var activityTransport
  68.      */
  69.     #[OneToMany(targetEntity\VehicleRtsActivityTransports::class, mappedBy'rtsInvoice'cascade: ['merge'])]
  70.     private $activityTransport;
  71.     /**
  72.      * @var activityEstimate
  73.      */
  74.     #[OneToMany(targetEntity\VehicleRtsActivitiesEstimateVal::class, mappedBy'rtsInvoice'cascade: ['merge'])]
  75.     private $activityEstimate;
  76.     /**
  77.      * @var \VehicleRtsActivitiesEstimateVal
  78.      */
  79.     #[ManyToOne(targetEntity\VehicleRtsActivitiesEstimateVal::class, inversedBy'estimateInvoice'cascade: ['persist''merge'])]
  80.     #[Assert\Valid]
  81.     #[JoinColumn(name'estimation_id'referencedColumnName'estimation_id')]
  82.     private $estimateVal;
  83.     /**
  84.      * Set type
  85.      *
  86.      * @param string $type
  87.      *
  88.      * @return VehicleRtsActivitiesInvoices
  89.      */
  90.     public function setType($type)
  91.     {
  92.         $this->type $type;
  93.         return $this;
  94.     }
  95.     /**
  96.      * Get type
  97.      *
  98.      * @return string
  99.      */
  100.     public function getType()
  101.     {
  102.         return $this->type;
  103.     }
  104.     /**
  105.      * Set activity
  106.      *
  107.      *
  108.      * @return VehicleRtsActivitiesInvoices
  109.      */
  110.     public function setActivity(\App\Entity\Activity $activity null)
  111.     {
  112.         $this->activity $activity;
  113.         return $this;
  114.     }
  115.     /**
  116.      * Get activity
  117.      *
  118.      * @return \App\Entity\Activity
  119.      */
  120.     public function getActivity()
  121.     {
  122.         return $this->activity;
  123.     }
  124.     /**
  125.      * Set supplierInvoice
  126.      *
  127.      *
  128.      * @return VehicleRtsActivitiesInvoices
  129.      */
  130.     public function setSupplierInvoice(\App\Entity\SupplierInvoices $supplierInvoice)
  131.     {
  132.         $this->supplierInvoice $supplierInvoice;
  133.         return $this;
  134.     }
  135.     /**
  136.      * Get supplierInvoice
  137.      *
  138.      * @return \App\Entity\SupplierInvoices
  139.      */
  140.     public function getSupplierInvoice()
  141.     {
  142.         return $this->supplierInvoice;
  143.     }
  144.     /**
  145.      * Set rtsInvoiceId
  146.      *
  147.      * @param integer $rtsInvoiceId
  148.      *
  149.      * @return VehicleRtsActivitiesInvoices
  150.      */
  151.     public function setRtsInvoiceId($rtsInvoiceId)
  152.     {
  153.         $this->rtsInvoiceId $rtsInvoiceId;
  154.         return $this;
  155.     }
  156.     /**
  157.      * Get rtsInvoiceId
  158.      *
  159.      * @return integer
  160.      */
  161.     public function getRtsInvoiceId()
  162.     {
  163.         return $this->rtsInvoiceId;
  164.     }
  165.     /**
  166.      * Set activityTransport
  167.      *
  168.      *
  169.      * @return VehicleRtsActivitiesInvoices
  170.      */
  171.     public function addActivityTransport(\App\Entity\VehicleRtsActivityTransports $activityTransport null)
  172.     {
  173.         $activityTransport->setRtsInvoice($this);
  174.         $this->activityTransport->add($activityTransport);
  175.         return $this;
  176.     }
  177.     /**
  178.      * Remove activityTransport
  179.      */
  180.     public function removeActivityTransport(\App\Entity\VehicleRtsActivityTransports $activityTransport)
  181.     {
  182.         $this->activityTransport->removeElement($activityTransport);
  183.     }
  184.     /**
  185.      * Get activityTransport
  186.      *
  187.      * @return \App\Entity\VehicleRtsActivityTransports
  188.      */
  189.     public function getActivityTransport()
  190.     {
  191.         return $this->activityTransport;
  192.     }
  193.     /**
  194.      * Set activityEstimate
  195.      *
  196.      *
  197.      * @return VehicleRtsActivitiesInvoices
  198.      */
  199.     public function addActivityEstimate(VehicleRtsActivitiesEstimateVal $activityEstimate null)
  200.     {
  201.         $activityEstimate->setRtsInvoice($this);
  202.         $this->activityEstimate->add($activityEstimate);
  203.         return $this;
  204.     }
  205.     /**
  206.      * Remove activityEstimate
  207.      */
  208.     public function removeActivityEstimate(VehicleRtsActivitiesEstimateVal $activityEstimate)
  209.     {
  210.         $this->activityEstimate->removeElement($activityEstimate);
  211.     }
  212.     /**
  213.      * Get activityEstimate
  214.      *
  215.      * @return \App\Entity\VehicleRtsActivitiesEstimateVal
  216.      */
  217.     public function getActivityEstimate()
  218.     {
  219.         return $this->activityEstimate;
  220.     }
  221.     /**
  222.      * @return \VehicleRtsActivitiesEstimateVal
  223.      */
  224.     public function getEstimateVal()
  225.     {
  226.         return $this->estimateVal;
  227.     }
  228.     /**
  229.      * @param \VehicleRtsActivitiesEstimateVal $estimateVal
  230.      */
  231.     public function setEstimateVal($estimateVal null)
  232.     {
  233.         $this->estimateVal $estimateVal;
  234.     }
  235. }