<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use App\Repository\CommandeRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CommandeRepository::class)
*/
class Commande
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="integer")
*/
private $nombreColisTotal;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $numeroDae;
/**
* @ORM\Column(type="boolean")
*/
private $assuranceLivraison;
/**
* @ORM\Column(type="boolean")
*/
private $emballageLivraison;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $fichierFacture;
/**
* @ORM\Column(type="string", length=255)
*/
private $numeroFacture;
/**
* @ORM\Column(type="float")
*/
private $montantTotalFacture;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $dateDebutFenetre;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $dateFinFenetre;
/**
* @ORM\Column(type="date")
*/
private $dateCommandeSoumission;
/**
* @ORM\Column(type="string", length=255)
*/
private $codePostalLivraison;
/**
* @ORM\Column(type="string", length=255)
*/
private $villeLivraison;
/**
* @ORM\Column(type="string", length=255)
*/
private $adresseLivraison;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $complementAdresseLivraison;
/**
* @ORM\Column(type="string", length=255)
*/
private $etatUs;
/**
* @ORM\Column(type="string", length=255)
*/
private $state;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $observation;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $province;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $nombreBouteilleRouge;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $nombreBouteilleBlanc;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $nombreBouteillePetillant;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $token;
/**
* @ORM\ManyToOne(targetEntity=Client::class, inversedBy="commandes")
* @ORM\JoinColumn(nullable=false)
*/
private $client;
/**
* @ORM\OneToOne(targetEntity=ClientFinal::class, inversedBy="commande", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=false)
*/
private $clientFinal;
/**
* @ORM\OneToMany(targetEntity=Colis::class, mappedBy="commande", orphanRemoval=true)
*/
private $colis;
/**
* @ORM\Column(type="boolean")
*/
private $fedexPdfGenerated;
/**
* @ORM\Column(type="boolean")
*/
private $isTemporaire;
/**
* @ORM\Column(type="boolean")
*/
private $isValideeParClient;
/**
* @ORM\Column(type="boolean")
*/
private $commandeMassive;
/**
* @ORM\Column(type="date")
*/
private $dateCollecte;
private $previDebut;
private $previFin;
private $crenoUpdatable;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $nombreMagnumRouge;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $nombreMagnumBlanc;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $nombreMagnumPetillant;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $trackingNumber;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $fedexPdfAvailable;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $shipDate;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $priorUrl;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $typeEmballage;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $individualTrackingNumbers;
/**
* @ORM\Column(type="boolean", nullable=true, options={"default" : 0})
*/
private $fastPickup;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $fichierFactureProForma;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $proForma;
public function __construct()
{
$this->colis = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNombreColisTotal(): ?int
{
return $this->nombreColisTotal;
}
public function setNombreColisTotal(int $nombreColisTotal): self
{
$this->nombreColisTotal = $nombreColisTotal;
return $this;
}
public function getNumeroDae(): ?string
{
return $this->numeroDae;
}
public function setNumeroDae(?string $numeroDae): self
{
$this->numeroDae = $numeroDae;
return $this;
}
public function isAssuranceLivraison(): ?bool
{
return $this->assuranceLivraison;
}
public function setAssuranceLivraison(bool $assuranceLivraison): self
{
$this->assuranceLivraison = $assuranceLivraison;
return $this;
}
public function isEmballageLivraison(): ?bool
{
return $this->emballageLivraison;
}
public function setEmballageLivraison(bool $emballageLivraison): self
{
$this->emballageLivraison = $emballageLivraison;
return $this;
}
public function getFichierFacture(): ?string
{
return $this->fichierFacture;
}
public function setFichierFacture(?string $fichierFacture): self
{
$this->fichierFacture = $fichierFacture;
return $this;
}
public function getNumeroFacture(): ?string
{
return $this->numeroFacture;
}
public function setNumeroFacture(string $numeroFacture): self
{
$this->numeroFacture = $numeroFacture;
return $this;
}
public function getMontantTotalFacture(): ?float
{
return $this->montantTotalFacture;
}
public function setMontantTotalFacture(float $montantTotalFacture): self
{
$this->montantTotalFacture = $montantTotalFacture;
return $this;
}
public function getDateDebutFenetre(): ?\DateTimeInterface
{
return $this->dateDebutFenetre;
}
public function setDateDebutFenetre(?\DateTimeInterface $dateDebutFenetre): self
{
$this->dateDebutFenetre = $dateDebutFenetre;
return $this;
}
public function getDateFinFenetre(): ?\DateTimeInterface
{
return $this->dateFinFenetre;
}
public function setDateFinFenetre(?\DateTimeInterface $dateFinFenetre): self
{
$this->dateFinFenetre = $dateFinFenetre;
return $this;
}
public function getDateCommandeSoumission(): ?\DateTimeInterface
{
return $this->dateCommandeSoumission;
}
public function setDateCommandeSoumission(\DateTimeInterface $dateCommandeSoumission): self
{
$this->dateCommandeSoumission = $dateCommandeSoumission;
return $this;
}
public function getCodePostalLivraison(): ?string
{
return $this->codePostalLivraison;
}
public function setCodePostalLivraison(string $codePostalLivraison): self
{
$this->codePostalLivraison = $codePostalLivraison;
return $this;
}
public function getVilleLivraison(): ?string
{
return $this->villeLivraison;
}
public function setVilleLivraison(string $villeLivraison): self
{
$this->villeLivraison = $villeLivraison;
return $this;
}
public function getAdresseLivraison(): ?string
{
return $this->adresseLivraison;
}
public function setAdresseLivraison(string $adresseLivraison): self
{
$this->adresseLivraison = $adresseLivraison;
return $this;
}
public function getComplementAdresseLivraison(): ?string
{
return $this->complementAdresseLivraison;
}
public function setComplementAdresseLivraison(?string $complementAdresseLivraison): self
{
$this->complementAdresseLivraison = $complementAdresseLivraison;
return $this;
}
public function getEtatUs(): ?string
{
return $this->etatUs;
}
public function setEtatUs(string $etatUs): self
{
$this->etatUs = $etatUs;
return $this;
}
public function getState(): ?string
{
return $this->state;
}
public function setState(string $state): self
{
$this->state = $state;
return $this;
}
public function getObservation(): ?string
{
return $this->observation;
}
public function setObservation(?string $observation): self
{
$this->observation = $observation;
return $this;
}
public function getProvince(): ?string
{
return $this->province;
}
public function setProvince(?string $province): self
{
$this->province = $province;
return $this;
}
public function getNombreBouteilleRouge(): ?int
{
return $this->nombreBouteilleRouge;
}
public function setNombreBouteilleRouge(?int $nombreBouteilleRouge): self
{
$this->nombreBouteilleRouge = $nombreBouteilleRouge;
return $this;
}
public function getNombreBouteilleBlanc(): ?int
{
return $this->nombreBouteilleBlanc;
}
public function setNombreBouteilleBlanc(?int $nombreBouteilleBlanc): self
{
$this->nombreBouteilleBlanc = $nombreBouteilleBlanc;
return $this;
}
public function getNombreBouteillePetillant(): ?int
{
return $this->nombreBouteillePetillant;
}
public function setNombreBouteillePetillant(?int $nombreBouteillePetillant): self
{
$this->nombreBouteillePetillant = $nombreBouteillePetillant;
return $this;
}
public function getToken(): ?string
{
return $this->token;
}
public function setToken(?string $token): self
{
$this->token = $token;
return $this;
}
public function getClient(): ?Client
{
return $this->client;
}
public function setClient(Client $client): self
{
$this->client = $client;
return $this;
}
public function getClientFinal(): ?ClientFinal
{
return $this->clientFinal;
}
public function setClientFinal(ClientFinal $clientFinal): self
{
$this->clientFinal = $clientFinal;
return $this;
}
/**
* @return Collection<int, Colis>
*/
public function getColis(): Collection
{
return $this->colis;
}
public function addColi(Colis $coli): self
{
if (!$this->colis->contains($coli)) {
$this->colis[] = $coli;
$coli->setCommande($this);
}
return $this;
}
public function removeColi(Colis $coli): self
{
if ($this->colis->removeElement($coli)) {
// set the owning side to null (unless already changed)
if ($coli->getCommande() === $this) {
$coli->setCommande(null);
}
}
return $this;
}
public function isFedexPdfGenerated(): ?bool
{
return $this->fedexPdfGenerated;
}
public function setFedexPdfGenerated(bool $fedexPdfGenerated): self
{
$this->fedexPdfGenerated = $fedexPdfGenerated;
return $this;
}
public function isIsTemporaire(): ?bool
{
return $this->isTemporaire;
}
public function setIsTemporaire(bool $isTemporaire): self
{
$this->isTemporaire = $isTemporaire;
return $this;
}
public function isIsValideeParClient(): ?bool
{
return $this->isValideeParClient;
}
public function setIsValideeParClient(bool $isValideeParClient): self
{
$this->isValideeParClient = $isValideeParClient;
return $this;
}
public function isCommandeMassive(): ?bool
{
return $this->commandeMassive;
}
public function setCommandeMassive(bool $commandeMassive): self
{
$this->commandeMassive = $commandeMassive;
return $this;
}
public function getDateCollecte(): ?\DateTimeInterface
{
return $this->dateCollecte;
}
public function setDateCollecte(\DateTimeInterface $dateCollecte): self
{
$this->dateCollecte = $dateCollecte;
return $this;
}
public function getPreviDebut()
{
return $this->previDebut;
}
public function setPreviDebut($previDebut)
{
$this->previDebut = $previDebut;
}
public function getPreviFin()
{
return $this->previFin;
}
public function setPreviFin($previFin)
{
$this->previFin = $previFin;
}
public function isCrenoUpdatable(){
return $this->crenoUpdatable;
}
public function setCrenoUpdatable($crenoUpdatable){
$this->crenoUpdatable = $crenoUpdatable;
}
public function getNombreMagnumRouge(): ?int
{
return $this->nombreMagnumRouge;
}
public function setNombreMagnumRouge(?int $nombreMagnumRouge): self
{
$this->nombreMagnumRouge = $nombreMagnumRouge;
return $this;
}
public function getNombreMagnumBlanc(): ?int
{
return $this->nombreMagnumBlanc;
}
public function setNombreMagnumBlanc(?int $nombreMagnumBlanc): self
{
$this->nombreMagnumBlanc = $nombreMagnumBlanc;
return $this;
}
public function getNombreMagnumPetillant(): ?int
{
return $this->nombreMagnumPetillant;
}
public function setNombreMagnumPetillant(?int $nombreMagnumPetillant): self
{
$this->nombreMagnumPetillant = $nombreMagnumPetillant;
return $this;
}
public function getTrackingNumber(): ?string
{
return $this->trackingNumber;
}
public function setTrackingNumber(?string $trackingNumber): self
{
$this->trackingNumber = $trackingNumber;
return $this;
}
public function isFedexPdfAvailable(): ?bool
{
return $this->fedexPdfAvailable;
}
public function setFedexPdfAvailable(?bool $fedexPdfAvailable): self
{
$this->fedexPdfAvailable = $fedexPdfAvailable;
return $this;
}
public function getShipDate(): ?\DateTimeInterface
{
return $this->shipDate;
}
public function setShipDate(?\DateTimeInterface $shipDate): self
{
$this->shipDate = $shipDate;
return $this;
}
public function getPriorUrl(): ?string
{
return $this->priorUrl;
}
public function setPriorUrl(?string $priorUrl): self
{
$this->priorUrl = $priorUrl;
return $this;
}
public function getTypeEmballage(): ?string
{
return $this->typeEmballage;
}
public function setTypeEmballage(?string $typeEmballage): self
{
$this->typeEmballage = $typeEmballage;
return $this;
}
public function getIndividualTrackingNumbers(): ?string
{
return $this->individualTrackingNumbers;
}
public function setIndividualTrackingNumbers(?string $individualTrackingNumbers): self
{
$this->individualTrackingNumbers = $individualTrackingNumbers;
return $this;
}
public function isFastPickup(): ?bool
{
return $this->fastPickup;
}
public function setFastPickup(?bool $fastPickup): self
{
$this->fastPickup = $fastPickup;
return $this;
}
public function getFichierFactureProForma(): ?string
{
return $this->fichierFactureProForma;
}
public function setFichierFactureProForma(?string $fichierFactureProForma): self
{
$this->fichierFactureProForma = $fichierFactureProForma;
return $this;
}
public function getProForma(): ?string
{
return $this->proForma;
}
public function setProForma(?string $proForma): self
{
$this->proForma = $proForma;
return $this;
}
}