<?php
namespace App\Entity;
use App\Repository\FicheQualiteRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: FicheQualiteRepository::class)]
class FicheQualite
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $reference;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $coloris;
#[ORM\ManyToOne(targetEntity: Atelier::class, inversedBy: 'ficheQualites')]
private $atelier;
#[ORM\ManyToOne(targetEntity: Taille::class, inversedBy: 'ficheQualites')]
private $taille;
#[ORM\ManyToOne(targetEntity: Bonnet::class, inversedBy: 'ficheQualites')]
private $bonnet;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $numero_lancement;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $quantite_recu;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $quantite_controle;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $quantite_carton;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $ordre_transfert;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $numero_adr;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $semaine;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_affectation;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_reception;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_disposition;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'ficheQualitesOuvre')]
private $user_ouvre;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'ficheQualitesFerme')]
private $user_ferme;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_ouvre;
#[ORM\Column(type: 'boolean', nullable: true)]
private int $cotraitance = 0;
#[ORM\ManyToOne(targetEntity: CategorieFamille::class, inversedBy: 'ficheQualites')]
private $famille;
#[ORM\OneToMany(targetEntity: FicheQualiteMesure::class, mappedBy: 'fichequalite', cascade: ['persist', 'remove'])]
private $mesures;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $quantite_mesure;
#[ORM\OneToMany(targetEntity: FicheQualiteDefaut::class, mappedBy: 'fichequalite', cascade: ['persist', 'remove'])]
private $defauts;
#[ORM\ManyToOne(targetEntity: FichePreserie::class, inversedBy: 'ficheQualites')]
private $fichepreserie;
#[ORM\Column(type: 'boolean', nullable: true)]
private ?bool $ferme = false;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_fermeture;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $numero_colis;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_attente;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $name;
#[ORM\Column(type: 'float', nullable: true)]
private $score_sp;
#[ORM\Column(type: 'float', nullable: true)]
private $total_score_sp;
#[ORM\Column(type: 'float', nullable: true)]
private $pourcent_sp;
#[ORM\Column(type: 'integer', nullable: true)]
private $total_defaut_critique;
#[ORM\Column(type: 'integer', nullable: true)]
private $total_defaut_majeur;
#[ORM\Column(type: 'integer', nullable: true)]
private $total_defaut_mineur;
#[ORM\Column(type: 'integer', nullable: true)]
private $total_reparation;
#[ORM\Column(type: 'integer', nullable: true)]
private $total_solde;
#[ORM\Column(type: 'boolean', nullable: true)]
private int $essayage = 0;
#[ORM\Column(type: 'text', nullable: true)]
private $commentaire_essayage;
#[ORM\ManyToOne(targetEntity: StatutQualite::class, inversedBy: 'ficheQualites')]
private $statut;
#[ORM\ManyToOne(targetEntity: AtelierChaine::class, inversedBy: 'ficheQualites')]
private $chaine;
#[ORM\Column(type: 'float', nullable: true)]
private int $temps_passe = 0;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_debut_temp;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_fin_temp;
#[ORM\ManyToOne(targetEntity: Derogation::class, inversedBy: 'ficheQualites', cascade: ['persist', 'remove'])]
private $derogation;
public function __construct()
{
$this->mesures = new ArrayCollection();
$this->defauts = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getReference(): ?string
{
return $this->reference;
}
public function setReference(?string $reference): self
{
$this->reference = $reference;
return $this;
}
public function getColoris(): ?string
{
return $this->coloris;
}
public function setColoris(?string $coloris): self
{
$this->coloris = $coloris;
return $this;
}
public function getAtelier(): ?Atelier
{
return $this->atelier;
}
public function setAtelier(?Atelier $atelier): self
{
$this->atelier = $atelier;
return $this;
}
public function getTaille(): ?Taille
{
return $this->taille;
}
public function setTaille(?Taille $taille): self
{
$this->taille = $taille;
return $this;
}
public function getBonnet(): ?Bonnet
{
return $this->bonnet;
}
public function setBonnet(?Bonnet $bonnet): self
{
$this->bonnet = $bonnet;
return $this;
}
public function getNumeroLancement(): ?string
{
return $this->numero_lancement;
}
public function setNumeroLancement(?string $numero_lancement): self
{
$this->numero_lancement = $numero_lancement;
return $this;
}
public function getQuantiteRecu(): ?string
{
return $this->quantite_recu;
}
public function setQuantiteRecu(?string $quantite_recu): self
{
$this->quantite_recu = $quantite_recu;
return $this;
}
public function getQuantiteControle(): ?string
{
return $this->quantite_controle;
}
public function setQuantiteControle(?string $quantite_controle): self
{
$this->quantite_controle = $quantite_controle;
return $this;
}
public function getQuantiteCarton(): ?string
{
return $this->quantite_carton;
}
public function setQuantiteCarton(?string $quantite_carton): self
{
$this->quantite_carton = $quantite_carton;
return $this;
}
public function getOrdreTransfert(): ?string
{
return $this->ordre_transfert;
}
public function setOrdreTransfert(?string $ordre_transfert): self
{
$this->ordre_transfert = $ordre_transfert;
return $this;
}
public function getNumeroAdr(): ?string
{
return $this->numero_adr;
}
public function setNumeroAdr(?string $numero_adr): self
{
$this->numero_adr = $numero_adr;
return $this;
}
public function getSemaine(): ?string
{
return $this->semaine;
}
public function setSemaine(?string $semaine): self
{
$this->semaine = $semaine;
return $this;
}
public function getDateAffectation(): ?\DateTimeInterface
{
return $this->date_affectation;
}
public function setDateAffectation(?\DateTimeInterface $date_affectation): self
{
$this->date_affectation = $date_affectation;
return $this;
}
public function getDateReception(): ?\DateTimeInterface
{
return $this->date_reception;
}
public function setDateReception(?\DateTimeInterface $date_reception): self
{
$this->date_reception = $date_reception;
return $this;
}
public function getDateDisposition(): ?\DateTimeInterface
{
return $this->date_disposition;
}
public function setDateDisposition(?\DateTimeInterface $date_disposition): self
{
$this->date_disposition = $date_disposition;
return $this;
}
public function getUserOuvre(): ?User
{
return $this->user_ouvre;
}
public function setUserOuvre(?User $user_ouvre): self
{
$this->user_ouvre = $user_ouvre;
return $this;
}
public function getUserFerme(): ?User
{
return $this->user_ferme;
}
public function setUserFerme(?User $user_ferme): self
{
$this->user_ferme = $user_ferme;
return $this;
}
public function getDateOuvre(): ?\DateTimeInterface
{
return $this->date_ouvre;
}
public function setDateOuvre(?\DateTimeInterface $date_ouvre): self
{
$this->date_ouvre = $date_ouvre;
return $this;
}
public function getCotraitance(): ?bool
{
return $this->cotraitance;
}
public function setCotraitance(?bool $cotraitance): self
{
$this->cotraitance = $cotraitance;
return $this;
}
public function getFamille(): ?CategorieFamille
{
return $this->famille;
}
public function setFamille(?CategorieFamille $famille): self
{
$this->famille = $famille;
return $this;
}
/**
* @return Collection|FicheQualiteMesure[]
*/
public function getMesures(): Collection
{
return $this->mesures;
}
public function addMesure(FicheQualiteMesure $ficheQualiteMesure): self
{
if (!$this->mesures->contains($ficheQualiteMesure)) {
$this->mesures[] = $ficheQualiteMesure;
$ficheQualiteMesure->setFichequalite($this);
}
return $this;
}
public function removeMesure(FicheQualiteMesure $ficheQualiteMesure): self
{
if ($this->mesures->removeElement($ficheQualiteMesure)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteMesure->getFichequalite() === $this) {
$ficheQualiteMesure->setFichequalite(null);
}
}
return $this;
}
public function getQuantiteMesure(): ?string
{
return $this->quantite_mesure;
}
public function setQuantiteMesure(?string $quantite_mesure): self
{
$this->quantite_mesure = $quantite_mesure;
return $this;
}
/**
* @return Collection|FicheQualiteDefaut[]
*/
public function getDefauts(): Collection
{
return $this->defauts;
}
public function addDefaut(FicheQualiteDefaut $ficheQualiteDefaut): self
{
if (!$this->defauts->contains($ficheQualiteDefaut)) {
$this->defauts[] = $ficheQualiteDefaut;
$ficheQualiteDefaut->setFichequalite($this);
}
return $this;
}
public function removeDefaut(FicheQualiteDefaut $ficheQualiteDefaut): self
{
if ($this->defauts->removeElement($ficheQualiteDefaut)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteDefaut->getFichequalite() === $this) {
$ficheQualiteDefaut->setFichequalite(null);
}
}
return $this;
}
public function getFichepreserie(): ?FichePreserie
{
return $this->fichepreserie;
}
public function setFichepreserie(?FichePreserie $fichepreserie): self
{
$this->fichepreserie = $fichepreserie;
return $this;
}
public function getFerme(): ?bool
{
return $this->ferme;
}
public function setFerme(?bool $ferme): self
{
$this->ferme = $ferme;
return $this;
}
public function getDateFermeture(): ?\DateTimeInterface
{
return $this->date_fermeture;
}
public function setDateFermeture(?\DateTimeInterface $date_fermeture): self
{
$this->date_fermeture = $date_fermeture;
return $this;
}
public function getNumeroColis(): ?string
{
return $this->numero_colis;
}
public function setNumeroColis(?string $numero_colis): self
{
$this->numero_colis = $numero_colis;
return $this;
}
public function getDateAttente(): ?\DateTimeInterface
{
return $this->date_attente;
}
public function setDateAttente(?\DateTimeInterface $date_attente): self
{
$this->date_attente = $date_attente;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function getScoreSp(): ?float
{
return $this->score_sp;
}
public function setScoreSp(?float $score_sp): self
{
$this->score_sp = $score_sp;
return $this;
}
public function getTotalScoreSp(): ?float
{
return $this->total_score_sp;
}
public function setTotalScoreSp(?float $total_score_sp): self
{
$this->total_score_sp = $total_score_sp;
return $this;
}
public function getPourcentSp(): ?float
{
return $this->pourcent_sp;
}
public function setPourcentSp(?float $pourcent_sp): self
{
$this->pourcent_sp = $pourcent_sp;
return $this;
}
public function getTotalDefautCritique(): ?int
{
return $this->total_defaut_critique;
}
public function setTotalDefautCritique(?int $total_defaut_critique): self
{
$this->total_defaut_critique = $total_defaut_critique;
return $this;
}
public function getTotalDefautMajeur(): ?int
{
return $this->total_defaut_majeur;
}
public function setTotalDefautMajeur(?int $total_defaut_majeur): self
{
$this->total_defaut_majeur = $total_defaut_majeur;
return $this;
}
public function getTotalDefautMineur(): ?int
{
return $this->total_defaut_mineur;
}
public function setTotalDefautMineur(?int $total_defaut_mineur): self
{
$this->total_defaut_mineur = $total_defaut_mineur;
return $this;
}
public function getTotalReparation(): ?int
{
return $this->total_reparation;
}
public function setTotalReparation(?int $total_reparation): self
{
$this->total_reparation = $total_reparation;
return $this;
}
public function getTotalSolde(): ?int
{
return $this->total_solde;
}
public function setTotalSolde(?int $total_solde): self
{
$this->total_solde = $total_solde;
return $this;
}
public function getEssayage(): ?bool
{
return $this->essayage;
}
public function setEssayage(?bool $essayage): self
{
$this->essayage = $essayage;
return $this;
}
public function getCommentaireEssayage(): ?string
{
return $this->commentaire_essayage;
}
public function setCommentaireEssayage(?string $commentaire_essayage): self
{
$this->commentaire_essayage = $commentaire_essayage;
return $this;
}
public function getStatut(): ?StatutQualite
{
return $this->statut;
}
public function setStatut(?StatutQualite $statut): self
{
$this->statut = $statut;
return $this;
}
public function getChaine(): ?AtelierChaine
{
return $this->chaine;
}
public function setChaine(?AtelierChaine $chaine): self
{
$this->chaine = $chaine;
return $this;
}
public function getTempsPasse(): ?float
{
return $this->temps_passe;
}
public function setTempsPasse(?float $temps_passe): self
{
$this->temps_passe = $temps_passe;
return $this;
}
public function getDateDebutTemp(): ?\DateTimeInterface
{
return $this->date_debut_temp;
}
public function setDateDebutTemp(?\DateTimeInterface $date_debut_temp): self
{
$this->date_debut_temp = $date_debut_temp;
return $this;
}
public function getDateFinTemp(): ?\DateTimeInterface
{
return $this->date_fin_temp;
}
public function setDateFinTemp(?\DateTimeInterface $date_fin_temp): self
{
$this->date_fin_temp = $date_fin_temp;
return $this;
}
public function getDerogation(): ?Derogation
{
return $this->derogation;
}
public function setDerogation(?Derogation $derogation): self
{
$this->derogation = $derogation;
return $this;
}
}