<?php
namespace App\Entity\Rangements;
use App\Entity\Articles\Finition;
use App\Entity\Clients\Client;
use App\Entity\GestionComerciale\Commande;
use App\Entity\GestionComerciale\RaisonAnomalie;
use App\Entity\Transporteurs\Transporteur;
use App\Entity\Utilisateur\Utilisateur;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\ORM\Mapping\Index;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use App\Annotations\SecuredEntity;
/**
* Caisse
*
* @ORM\Table("rangement__caisse")
* @ORM\Entity(repositoryClass="App\Repository\Rangements\CaisseRepository")
* @Gedmo\SoftDeleteable(fieldName="dateSuppression",timeAware=false)
* @UniqueEntity("libelle",message="Libellé déja utilisé")
* @ORM\HasLifecycleCallbacks()*
* @SecuredEntity(name="Chariot",group="REGLAGES")
*/
class Caisse
{
const TYPE_EMBALLAGE = 0;
const TYPE_OPTION = 1;
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="statut_caisse_id", type="integer", nullable=true)
*/
private $statutCaisse;
/**
* @ORM\Column(name="hauteur", type="float", nullable=true)
*/
private $hauteur;
/**
* @ORM\Column(name="largeur", type="float", nullable=true)
*/
private $largeur;
/**
* @ORM\Column(name="longueur", type="float", nullable=true)
*/
private $longueur;
/**
* @var integer
*
* @ORM\Column(name="nbEtageres", type="integer", nullable=true)
*/
private $nbEtageres;
/**
* @var integer
*
* @ORM\Column(name="pourcentage_occupation", type="integer", nullable=true)
*/
private $pourcentageOccupation;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Utilisateur")
* @ORM\JoinColumn(nullable=true)
*/
private $utilisateur;
/**
* @ORM\Column(name="libelle", type="string", length=255,nullable=true)
* @Assert\NotBlank(message="Libellé obligatoire")
*/
private $libelle;
/**
* @ORM\Column(name="couleur", type="string", length=255,nullable=true)
*/
private $couleur;
/**
* @ORM\Column(name="ean", type="string", length=255,nullable=true)
*/
private $ean;
/**
* @ORM\Column(name="dateMaj", type="datetime", nullable=true)
*/
private $dateMaj;
/**
* @ORM\Column(name="date_supression", type="datetime", nullable=true)
*/
private $dateSuppression;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Clients\Client", inversedBy="commandes", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $client;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\GestionComerciale\Commande", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $commande;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Transporteurs\Transporteur", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $transporteur;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $couleurTexte;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\GestionComerciale\RaisonAnomalie", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $raisonAnomalie;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $commentaireAnomalie;
/**
* @ORM\Column(name="type_id", type="integer", nullable=true)
*/
private $type;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Articles\Finition", cascade={"persist"})
*/
private $finition;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $md5AdresseLivraison;
public function __construct(){
$this->dateMaj = new Datetime();
$this->couleur = '#000000';
$this->couleurTexte = '#ffffff';
}
public function getId(): int
{
return $this->id;
}
public function setLibelle(?string $libelle): Caisse
{
$this->libelle = $libelle;
return $this;
}
public function getLibelle(): ?string
{
return $this->libelle;
}
public function setEan(?string $ean): Caisse
{
$this->ean = $ean;
return $this;
}
public function getEan(): ?string
{
return $this->ean;
}
public function setDateMaj(?DateTime $dateMaj): Caisse
{
$this->dateMaj = $dateMaj;
return $this;
}
public function getDateMaj(): ?DateTime
{
return $this->dateMaj;
}
public function setDateSuppression(?DateTime $dateSuppression): Caisse
{
$this->dateSuppression = $dateSuppression;
return $this;
}
public function getDateSuppression(): ?DateTime
{
return $this->dateSuppression;
}
public function setUtilisateur(?Utilisateur $utilisateur): Caisse
{
$this->utilisateur = $utilisateur;
return $this;
}
public function getUtilisateur(): ?Utilisateur
{
return $this->utilisateur;
}
public function setHauteur(?float $hauteur): Caisse
{
$this->hauteur = $hauteur;
return $this;
}
public function getHauteur(): ?float
{
return $this->hauteur;
}
public function setLargeur(?float $largeur): Caisse
{
$this->largeur = $largeur;
return $this;
}
public function getLargeur(): ?float
{
return $this->largeur;
}
public function setLongueur(?float $longueur): Caisse
{
$this->longueur = $longueur;
return $this;
}
public function getLongueur(): ?float
{
return $this->longueur;
}
public function setNbEtageres(?int $nbEtageres): Caisse
{
$this->nbEtageres = $nbEtageres;
return $this;
}
public function getNbEtageres(): ?int
{
return $this->nbEtageres;
}
public function setPourcentageOccupation(?int $pourcentageOccupation): Caisse
{
$this->pourcentageOccupation = $pourcentageOccupation;
return $this;
}
public function getPourcentageOccupation(): ?int
{
return $this->pourcentageOccupation;
}
public function __toString() {
return $this->libelle;
}
public function getCouleur(): ?string
{
return $this->couleur;
}
public function setCouleur(?string $couleur): self
{
$this->couleur = $couleur;
return $this;
}
public function getStatutCaisse(): ?int
{
return $this->statutCaisse;
}
public function setStatutCaisse(int $statutCaisse): self
{
$this->statutCaisse = $statutCaisse;
return $this;
}
public function getClient(): ?Client
{
return $this->client;
}
public function setClient(?Client $client): self
{
$this->client = $client;
return $this;
}
public function getCouleurTexte(): ?string
{
return $this->couleurTexte;
}
public function setCouleurTexte(?string $couleurTexte): self
{
$this->couleurTexte = $couleurTexte;
return $this;
}
public function getRaisonAnomalie(): ?RaisonAnomalie
{
return $this->raisonAnomalie;
}
public function setRaisonAnomalie(?RaisonAnomalie $raisonAnomalie): self
{
$this->raisonAnomalie = $raisonAnomalie;
return $this;
}
public function getCommentaireAnomalie(): ?string
{
return $this->commentaireAnomalie;
}
public function setCommentaireAnomalie(?string $commentaireAnomalie): self
{
$this->commentaireAnomalie = $commentaireAnomalie;
return $this;
}
public function getCommande(): ?Commande
{
return $this->commande;
}
public function setCommande(?Commande $commande): self
{
$this->commande = $commande;
return $this;
}
public function getType(): ?int
{
return $this->type;
}
public function setType(?int $type): self
{
$this->type = $type;
return $this;
}
public function getFinition(): ?Finition
{
return $this->finition;
}
public function setFinition(?Finition $finition): self
{
$this->finition = $finition;
return $this;
}
public function getTransporteur(): ?Transporteur
{
return $this->transporteur;
}
public function setTransporteur(?Transporteur $transporteur): self
{
$this->transporteur = $transporteur;
return $this;
}
public function getMd5AdresseLivraison(): ?string
{
return $this->md5AdresseLivraison;
}
public function setMd5AdresseLivraison(?string $md5AdresseLivraison): self
{
$this->md5AdresseLivraison = $md5AdresseLivraison;
return $this;
}
}