src/Entity/StatusTracker.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\StatusTrackerRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * @ORM\Entity(repositoryClass=StatusTrackerRepository::class)
  7.  */
  8. class StatusTracker
  9. {
  10.     const STATUS_dev_0 = 1;
  11.     const STATUS_dev_1 = 2;
  12.     const STATUS_dev_2 = 3;
  13.     const STATUS_dev_3 = 4;
  14.     const STATUS_dev_4 = 5;
  15.     const STATUS_dev_5 = 6;
  16.     const STATUS_dev_6 = 7;
  17.     const STATUS_operating = 8;
  18.     /**
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue
  21.      * @ORM\Column(type="integer")
  22.      */
  23.     private $id;
  24.     /**
  25.      * @ORM\Column(type="datetime", nullable=true)
  26.      */
  27.     private $createdAt;
  28.     /**
  29.      * @ORM\Column(type="string", length=255, nullable=true)
  30.      */
  31.     private $status;
  32.     /**
  33.      * @ORM\Column(type="text", length=100, nullable=true)
  34.      */
  35.     private $statusAdministratif;
  36.     
  37.     /**
  38.      * @ORM\ManyToOne(targetEntity="Project",inversedBy="statusTracker", cascade={"persist"})
  39.      * @ORM\JoinColumn(name="project_id", referencedColumnName="id",nullable=true)
  40.      */
  41.     private $project;
  42.     public function __construct()
  43.     {
  44.         $this->createdAt = new \DateTime();
  45.     }
  46.     public function getId(): ?int
  47.     {
  48.         return $this->id;
  49.     }
  50.     public function getCreatedAt(): ?\DateTimeInterface
  51.     {
  52.         return $this->createdAt;
  53.     }
  54.     public function setCreatedAt(?\DateTimeInterface $createdAt): self
  55.     {
  56.         $this->createdAt = $createdAt;
  57.         return $this;
  58.     }
  59.     public function getStatus(): ?string
  60.     {
  61.         return $this->status;
  62.     }
  63.     public function setStatus(?string $status): self
  64.     {
  65.         $this->status = $status;
  66.         return $this;
  67.     }
  68.     public function getStatusAdministratif(): ?string
  69.     {
  70.         return $this->statusAdministratif;
  71.     }
  72.     public function setStatusAdministratif(?string $statusAdministratif): self
  73.     {
  74.         $this->statusAdministratif = $statusAdministratif;
  75.         return $this;
  76.     }
  77.     public function getProject(): ?Project
  78.     {
  79.         return $this->project;
  80.     }
  81.     public function setProject(?Project $project): self
  82.     {
  83.         $this->project = $project;
  84.         return $this;
  85.     }
  86.     public function getStatusTrackerStr(){
  87.         if($this->status == self::STATUS_dev_0){
  88.             return 'Dev. 0 (Under instruction)' ;
  89.         }elseif($this->status == self::STATUS_dev_1){
  90.             return 'Dev. 1 (PC accepted)' ;
  91.         }elseif ($this->status == self::STATUS_dev_2){
  92.             return 'Dev. 2 (Grid connection agreement received)' ;
  93.         }elseif ($this->status == self::STATUS_dev_3){
  94.             return 'Dev. 3 (full permissions RtB)' ;
  95.         }elseif ($this->status == self::STATUS_dev_4){
  96.             return 'Dev. 4 (Erection EPC lauched)' ;
  97.         }elseif ($this->status == self::STATUS_dev_5){
  98.             return 'Dev. 5 (Construction complete)' ;
  99.         }elseif ($this->status == self::STATUS_dev_6){
  100.             return 'Dev. 6 (Commissioned)' ;
  101.         }elseif ($this->status == self::STATUS_operating){
  102.             return 'Operating' ;
  103.         }else {
  104.             return '';
  105.         }
  106.     }
  107. }