<?php
namespace App\Entity;
use App\Repository\FichePreserieRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: FichePreserieRepository::class)]
class FichePreserie implements \Stringable
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $reference;
#[ORM\ManyToOne(targetEntity: CategorieMetier::class, inversedBy: 'fichePreseries')]
private $categorie;
#[ORM\ManyToOne(targetEntity: SouscategorieMetier::class, inversedBy: 'fichePreseries')]
private $souscategorie;
#[ORM\Column(type: 'integer', nullable: true)]
private $version;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_creation;
#[ORM\Column(type: 'datetime', nullable: true)]
private $date_update;
#[ORM\OneToMany(targetEntity: FicheControlePreserie::class, mappedBy: 'fichepreserie')]
private $ficheControlePreseries;
#[ORM\ManyToOne(targetEntity: Atelier::class, inversedBy: 'fichePreseries')]
private $atelier;
#[ORM\Column(type: 'boolean', nullable: true)]
private int $cotraitance = 0;
#[ORM\OneToMany(targetEntity: FichePreserieOperation::class, mappedBy: 'fichepreserie', cascade: ['persist', 'remove'])]
private $operations;
#[ORM\OneToMany(targetEntity: FichePreserieCoupe::class, mappedBy: 'preserie', cascade: ['persist', 'remove'])]
private $fichePreserieCoupes;
#[ORM\OneToMany(targetEntity: FicheQualite::class, mappedBy: 'fichepreserie', cascade: ['persist', 'remove'])]
private $ficheQualites;
#[ORM\OneToMany(targetEntity: FicheQualiteAtelierAuditeur::class, mappedBy: 'fichepreserie', cascade: ['persist', 'remove'])]
private $ficheQualiteAtelierAuditeurs;
#[ORM\OneToMany(targetEntity: FicheQualiteSynthese::class, mappedBy: 'fiche_preserie', cascade: ['persist', 'remove'])]
private $ficheQualiteSyntheses;
#[ORM\OneToMany(targetEntity: FicheQualiteAtelier::class, mappedBy: 'fichepreserie', cascade: ['persist', 'remove'])]
private $ficheQualiteAteliers;
#[ORM\OneToMany(targetEntity: FicheQualiteCent::class, mappedBy: 'fichepreserie', cascade: ['persist', 'remove'])]
private $ficheQualiteCents;
public function __construct()
{
$this->date_creation = new \DateTime();
$this->date_update = new \DateTime();
$this->ficheControlePreseries = new ArrayCollection();
$this->operations = new ArrayCollection();
$this->fichePreserieCoupes = new ArrayCollection();
$this->ficheQualites = new ArrayCollection();
$this->ficheQualiteAtelierAuditeurs = new ArrayCollection();
$this->ficheQualiteSyntheses = new ArrayCollection();
$this->ficheQualiteAteliers = new ArrayCollection();
$this->ficheQualiteCents = new ArrayCollection();
}
public function __clone()
{
if ($this->id) {
$this->id = null;
$operationsCloneCollection = new ArrayCollection();
foreach ($this->operations as $operation) {
$operationClone = clone $operation;
$operationClone->setFichepreserie($this);
$operationsCloneCollection->add($operationClone);
}
$this->operations = $operationsCloneCollection;
return $this;
}
}
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 getCategorie(): ?CategorieMetier
{
return $this->categorie;
}
public function setCategorie(?CategorieMetier $categorie): self
{
$this->categorie = $categorie;
return $this;
}
public function getSouscategorie(): ?SouscategorieMetier
{
return $this->souscategorie;
}
public function setSouscategorie(?SouscategorieMetier $souscategorie): self
{
$this->souscategorie = $souscategorie;
return $this;
}
public function getVersion(): ?int
{
return $this->version;
}
public function setVersion(?int $version): self
{
$this->version = $version;
return $this;
}
public function getDateCreation(): ?\DateTimeInterface
{
return $this->date_creation;
}
public function setDateCreation(?\DateTimeInterface $date_creation): self
{
$this->date_creation = $date_creation;
return $this;
}
public function getDateUpdate(): ?\DateTimeInterface
{
return $this->date_update;
}
public function setDateUpdate(?\DateTimeInterface $date_update): self
{
$this->date_update = $date_update;
return $this;
}
/**
* @return Collection|FicheControlePreserie[]
*/
public function getFicheControlePreseries(): Collection
{
return $this->ficheControlePreseries;
}
public function addFicheControlePreseries(FicheControlePreserie $ficheControlePreseries): self
{
if (!$this->ficheControlePreseries->contains($ficheControlePreseries)) {
$this->ficheControlePreseries[] = $ficheControlePreseries;
$ficheControlePreseries->setFichepreserie($this);
}
return $this;
}
public function removeFicheControlePreseries(FicheControlePreserie $ficheControlePreseries): self
{
if ($this->ficheControlePreseries->removeElement($ficheControlePreseries)) {
// set the owning side to null (unless already changed)
if ($ficheControlePreseries->getFichepreserie() === $this) {
$ficheControlePreseries->setFichepreserie(null);
}
}
return $this;
}
public function getAtelier(): ?Atelier
{
return $this->atelier;
}
public function setAtelier(?Atelier $atelier): self
{
$this->atelier = $atelier;
return $this;
}
public function getCotraitance(): ?bool
{
return $this->cotraitance;
}
public function setCotraitance(?bool $cotraitance): self
{
$this->cotraitance = $cotraitance;
return $this;
}
/**
* @return Collection|FichePreserieOperation[]
*/
public function getOperations(): Collection
{
return $this->operations;
}
public function addOperation(FichePreserieOperation $fichePreserieOperation): self
{
if (!$this->operations->contains($fichePreserieOperation)) {
$this->operations[] = $fichePreserieOperation;
$fichePreserieOperation->setFichepreserie($this);
}
return $this;
}
public function removeOperation(FichePreserieOperation $fichePreserieOperation): self
{
if ($this->operations->removeElement($fichePreserieOperation)) {
// set the owning side to null (unless already changed)
if ($fichePreserieOperation->getFichepreserie() === $this) {
$fichePreserieOperation->setFichepreserie(null);
}
}
return $this;
}
/**
* @return Collection|FichePreserieCoupe[]
*/
public function getFichePreserieCoupes(): Collection
{
return $this->fichePreserieCoupes;
}
public function addFichePreserieCoupe(FichePreserieCoupe $fichePreserieCoupe): self
{
if (!$this->fichePreserieCoupes->contains($fichePreserieCoupe)) {
$this->fichePreserieCoupes[] = $fichePreserieCoupe;
$fichePreserieCoupe->setPreserie($this);
}
return $this;
}
public function removeFichePreserieCoupe(FichePreserieCoupe $fichePreserieCoupe): self
{
if ($this->fichePreserieCoupes->removeElement($fichePreserieCoupe)) {
// set the owning side to null (unless already changed)
if ($fichePreserieCoupe->getPreserie() === $this) {
$fichePreserieCoupe->setPreserie(null);
}
}
return $this;
}
public function __toString(): string
{
return (string) $this->reference;
}
/**
* @return Collection|FicheQualite[]
*/
public function getFicheQualites(): Collection
{
return $this->ficheQualites;
}
public function addFicheQualite(FicheQualite $ficheQualite): self
{
if (!$this->ficheQualites->contains($ficheQualite)) {
$this->ficheQualites[] = $ficheQualite;
$ficheQualite->setFichepreserie($this);
}
return $this;
}
public function removeFicheQualite(FicheQualite $ficheQualite): self
{
if ($this->ficheQualites->removeElement($ficheQualite)) {
// set the owning side to null (unless already changed)
if ($ficheQualite->getFichepreserie() === $this) {
$ficheQualite->setFichepreserie(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualiteAtelierAuditeur[]
*/
public function getFicheQualiteAtelierAuditeurs(): Collection
{
return $this->ficheQualiteAtelierAuditeurs;
}
public function addFicheQualiteAtelierAuditeur(FicheQualiteAtelierAuditeur $ficheQualiteAtelierAuditeur): self
{
if (!$this->ficheQualiteAtelierAuditeurs->contains($ficheQualiteAtelierAuditeur)) {
$this->ficheQualiteAtelierAuditeurs[] = $ficheQualiteAtelierAuditeur;
$ficheQualiteAtelierAuditeur->setFichepreserie($this);
}
return $this;
}
public function removeFicheQualiteAtelierAuditeur(FicheQualiteAtelierAuditeur $ficheQualiteAtelierAuditeur): self
{
if ($this->ficheQualiteAtelierAuditeurs->removeElement($ficheQualiteAtelierAuditeur)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteAtelierAuditeur->getFichepreserie() === $this) {
$ficheQualiteAtelierAuditeur->setFichepreserie(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualiteSynthese[]
*/
public function getFicheQualiteSyntheses(): Collection
{
return $this->ficheQualiteSyntheses;
}
public function addFicheQualiteSynthesis(FicheQualiteSynthese $ficheQualiteSynthesis): self
{
if (!$this->ficheQualiteSyntheses->contains($ficheQualiteSynthesis)) {
$this->ficheQualiteSyntheses[] = $ficheQualiteSynthesis;
$ficheQualiteSynthesis->setFichePreserie($this);
}
return $this;
}
public function removeFicheQualiteSynthesis(FicheQualiteSynthese $ficheQualiteSynthesis): self
{
if ($this->ficheQualiteSyntheses->removeElement($ficheQualiteSynthesis)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteSynthesis->getFichePreserie() === $this) {
$ficheQualiteSynthesis->setFichePreserie(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualiteAtelier[]
*/
public function getFicheQualiteAteliers(): Collection
{
return $this->ficheQualiteAteliers;
}
public function addFicheQualiteAtelier(FicheQualiteAtelier $ficheQualiteAtelier): self
{
if (!$this->ficheQualiteAteliers->contains($ficheQualiteAtelier)) {
$this->ficheQualiteAteliers[] = $ficheQualiteAtelier;
$ficheQualiteAtelier->setFichepreserie($this);
}
return $this;
}
public function removeFicheQualiteAtelier(FicheQualiteAtelier $ficheQualiteAtelier): self
{
if ($this->ficheQualiteAteliers->removeElement($ficheQualiteAtelier)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteAtelier->getFichepreserie() === $this) {
$ficheQualiteAtelier->setFichepreserie(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualiteCent[]
*/
public function getFicheQualiteCents(): Collection
{
return $this->ficheQualiteCents;
}
public function addFicheQualiteCent(FicheQualiteCent $ficheQualiteCent): self
{
if (!$this->ficheQualiteCents->contains($ficheQualiteCent)) {
$this->ficheQualiteCents[] = $ficheQualiteCent;
$ficheQualiteCent->setFichepreserie($this);
}
return $this;
}
public function removeFicheQualiteCent(FicheQualiteCent $ficheQualiteCent): self
{
if ($this->ficheQualiteCents->removeElement($ficheQualiteCent)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteCent->getFichepreserie() === $this) {
$ficheQualiteCent->setFichepreserie(null);
}
}
return $this;
}
}