<?php
namespace App\Entity;
use App\Repository\ComputingRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ComputingRepository::class)
*/
class Computing
{
const STATUT_VIDE = 0;
const STATUT_A_GEOCODER = 1;
const STATUT_GEO_VALIDE = 3;
const STATUT_EXECUTE = 3;
const STATUT_INVALIDE = 4;
const STATUT_GROUPE_ADRESSE_NON_VERROUILLE = 5;
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $Title;
/**
* @ORM\Column(type="string", length=300)
*/
private $Addresse;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $lon;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $lat;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $Status;
/**
* @ORM\ManyToOne(targetEntity=AddressesList::class, inversedBy="computing")
*/
private $AddressesGroup;
/**
* @ORM\Column(type="time", nullable=true)
*/
private $departureTime;
/**
* @ORM\Column(type="time", nullable=true)
*/
private $returnTime;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $departureDate;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $DepartureDateTime;
public function getId(): ?int
{
return $this->id;
}
public function getTitle(): ?string
{
return $this->Title;
}
public function setTitle(string $Title): self
{
$this->Title = $Title;
return $this;
}
public function getAddresse(): ?string
{
return $this->Addresse;
}
public function setAddresse(string $Addresse): self
{
$this->Addresse = $Addresse;
return $this;
}
public function getLon(): ?float
{
return $this->lon;
}
public function setLon(?float $lon): self
{
$this->lon = $lon;
return $this;
}
public function getLat(): ?float
{
return $this->lat;
}
public function setLat(?float $lat): self
{
$this->lat = $lat;
return $this;
}
public function getStatus(): ?int
{
return $this->Status;
}
public function setStatus(int $Status): self
{
$this->Status = $Status;
return $this;
}
public function getAddressesGroup(): ?AddressesList
{
return $this->AddressesGroup;
}
public function setAddressesGroup(?AddressesList $AddressesGroup): self
{
$this->AddressesGroup = $AddressesGroup;
return $this;
}
public function getStatusTextInfo(){
switch ($this->getStatus())
{
case self::STATUT_VIDE: return 'Adresse vide';
case self::STATUT_A_GEOCODER: return 'Adresse à géocoder';
case self::STATUT_EXECUTE: return 'Calcul réalisé';
case self::STATUT_GEO_VALIDE: return 'Géocodée';
case self::STATUT_INVALIDE: return 'Calcul invalide';
case self::STATUT_GROUPE_ADRESSE_NON_VERROUILLE: return "Veuillez vérrouiller le groupe d'adresse avant de lancer le calcul.";
}
}
public function getStatusDisplayCatergory(){
switch ($this->getStatus())
{
case self::STATUT_VIDE: return 'badge-soft-warning';;
case self::STATUT_A_GEOCODER: return 'badge-soft-info';
case self::STATUT_EXECUTE: return ' badge-soft-success';
case self::STATUT_GEO_VALIDE: return 'badge-soft-info';
case self::STATUT_INVALIDE: return 'badge-soft-light';
case self::STATUT_GROUPE_ADRESSE_NON_VERROUILLE: return 'badge-soft-warning';;
}
}
public function getDepartureTime(): ?\DateTimeInterface
{
return $this->departureTime;
}
public function setDepartureTime(?\DateTimeInterface $departureTime): self
{
$this->departureTime = $departureTime;
return $this;
}
public function getReturnTime(): ?\DateTimeInterface
{
return $this->returnTime;
}
public function setReturnTime(?\DateTimeInterface $returnTime): self
{
$this->returnTime = $returnTime;
return $this;
}
public function getDepartureDate(): ?\DateTimeInterface
{
return $this->departureDate;
}
public function setDepartureDate(?\DateTimeInterface $departureDate): self
{
$this->departureDate = $departureDate;
return $this;
}
public function getDepartureDateTime(): ?\DateTimeInterface
{
return $this->DepartureDateTime;
}
public function setDepartureDateTime(?\DateTimeInterface $DepartureDateTime): self
{
$this->DepartureDateTime = $DepartureDateTime;
return $this;
}
}