<?phpnamespace App\Entity;use App\Repository\StatusTrackerRepository;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=StatusTrackerRepository::class) */class StatusTracker{ const STATUS_dev_0 = 1; const STATUS_dev_1 = 2; const STATUS_dev_2 = 3; const STATUS_dev_3 = 4; const STATUS_dev_4 = 5; const STATUS_dev_5 = 6; const STATUS_dev_6 = 7; const STATUS_operating = 8; /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="datetime", nullable=true) */ private $createdAt; /** * @ORM\Column(type="string", length=255, nullable=true) */ private $status; /** * @ORM\Column(type="text", length=100, nullable=true) */ private $statusAdministratif; /** * @ORM\ManyToOne(targetEntity="Project",inversedBy="statusTracker", cascade={"persist"}) * @ORM\JoinColumn(name="project_id", referencedColumnName="id",nullable=true) */ private $project; public function __construct() { $this->createdAt = new \DateTime(); } public function getId(): ?int { return $this->id; } public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; } public function setCreatedAt(?\DateTimeInterface $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getStatus(): ?string { return $this->status; } public function setStatus(?string $status): self { $this->status = $status; return $this; } public function getStatusAdministratif(): ?string { return $this->statusAdministratif; } public function setStatusAdministratif(?string $statusAdministratif): self { $this->statusAdministratif = $statusAdministratif; return $this; } public function getProject(): ?Project { return $this->project; } public function setProject(?Project $project): self { $this->project = $project; return $this; } public function getStatusTrackerStr(){ if($this->status == self::STATUS_dev_0){ return 'Dev. 0 (Under instruction)' ; }elseif($this->status == self::STATUS_dev_1){ return 'Dev. 1 (PC accepted)' ; }elseif ($this->status == self::STATUS_dev_2){ return 'Dev. 2 (Grid connection agreement received)' ; }elseif ($this->status == self::STATUS_dev_3){ return 'Dev. 3 (full permissions RtB)' ; }elseif ($this->status == self::STATUS_dev_4){ return 'Dev. 4 (Erection EPC lauched)' ; }elseif ($this->status == self::STATUS_dev_5){ return 'Dev. 5 (Construction complete)' ; }elseif ($this->status == self::STATUS_dev_6){ return 'Dev. 6 (Commissioned)' ; }elseif ($this->status == self::STATUS_operating){ return 'Operating' ; }else { return ''; } }}