src/Entity/Materiel.php line 12

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\MaterielRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\Entity(repositoryClassMaterielRepository::class)]
  9. class Materiel
  10. {
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\Column(length255)]
  16.     private ?string $nom null;
  17.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  18.     private ?string $description null;
  19.     #[ORM\Column(length255nullabletrue)]
  20.     private ?string $presentation null;
  21.     #[ORM\Column(length255nullabletrue)]
  22.     private ?string $tarif null;
  23.     #[ORM\Column(length1nullabletrue)]
  24.     private ?string $codeSC null;
  25.     #[ORM\Column(length1nullabletrue)]
  26.     private ?string $codePA null;
  27.     #[ORM\ManyToMany(targetEntityCategorie::class, mappedBy'materiels')]
  28.     #[ORM\JoinTable(name:"materiel_categorie")]
  29.     private Collection $categories;
  30.     #[ORM\ManyToMany(targetEntityProtocole::class, mappedBy'materiels')]
  31.     #[ORM\JoinTable(name:"protocole_materiel")]
  32.     private Collection $protocoles;
  33.     #[ORM\ManyToMany(targetEntityself::class)]
  34.     private Collection $associes;
  35.     // #[ORM\OneToMany(mappedBy: 'materiel', targetEntity: Materielphoto::class)]
  36.     // private Collection $materielphotos;
  37.     #[ORM\Column]
  38.     private ?bool $archive null;
  39.     #[ORM\OneToMany(mappedBy'materiel'targetEntityCommentaire::class)]    
  40.     private Collection $commentaires;
  41.     #[ORM\ManyToMany(targetEntityself::class)]
  42.     #[ORM\JoinTable(name:"kitmateriels")]
  43.     private Collection $kitmateriels;
  44.     #[ORM\Column(length255nullabletrue)]
  45.     private ?string $reference null;
  46.     public function __construct()
  47.     {
  48.         $this->id 0;
  49.         $this->archive false;
  50.         $this->categories = new ArrayCollection();
  51.         $this->associes = new ArrayCollection();
  52.         $this->protocoles = new ArrayCollection();
  53.         //$this->materielphotos = new ArrayCollection();
  54.         $this->commentaires = new ArrayCollection();
  55.         $this->kitmateriels = new ArrayCollection();
  56.     }
  57.     public function __toString(): string
  58.     {
  59.         return $this->getNom();
  60.     }
  61.     public function nomType(): string
  62.     {
  63.         $suffix '';
  64.         if($this->codeSC == 'S'){
  65.             $suffix ' (stérilisable)';
  66.         }
  67.         elseif($this->codeSC == 'C'){
  68.             $suffix ' (consommable)';
  69.         }
  70.         return $this->getNom().$suffix;
  71.     }
  72.     public function getId(): ?int
  73.     {
  74.         return $this->id;
  75.     }
  76.     public function getNom(): ?string
  77.     {
  78.         return $this->nom;
  79.     }
  80.     public function getNom4Tri(): ?string
  81.     {
  82.         $unwanted_array = array(    'Š'=>'S''š'=>'s''Ž'=>'Z''ž'=>'z''À'=>'A''Á'=>'A''Â'=>'A''Ã'=>'A''Ä'=>'A''Å'=>'A''Æ'=>'A''Ç'=>'C''È'=>'E''É'=>'E',
  83.                             'Ê'=>'E''Ë'=>'E''Ì'=>'I''Í'=>'I''Î'=>'I''Ï'=>'I''Ñ'=>'N''Ò'=>'O''Ó'=>'O''Ô'=>'O''Õ'=>'O''Ö'=>'O''Ø'=>'O''Ù'=>'U',
  84.                             'Ú'=>'U''Û'=>'U''Ü'=>'U''Ý'=>'Y''Þ'=>'B''ß'=>'Ss''à'=>'a''á'=>'a''â'=>'a''ã'=>'a''ä'=>'a''å'=>'a''æ'=>'a''ç'=>'c',
  85.                             'è'=>'e''é'=>'e''ê'=>'e''ë'=>'e''ì'=>'i''í'=>'i''î'=>'i''ï'=>'i''ð'=>'o''ñ'=>'n''ò'=>'o''ó'=>'o''ô'=>'o''õ'=>'o',
  86.                             'ö'=>'o''ø'=>'o''ù'=>'u''ú'=>'u''û'=>'u''ý'=>'y''þ'=>'b''ÿ'=>'y' );
  87.         return strtr$this->nom$unwanted_array );
  88.         //return str_replace("â","a", $this->nom);
  89.     }
  90.     public function setNom(string $nom): self
  91.     {
  92.         $this->nom $nom;
  93.         return $this;
  94.     }
  95.     public function getDescription(): ?string
  96.     {
  97.         return $this->description;
  98.     }
  99.     public function setDescription(?string $description): self
  100.     {
  101.         $this->description $description;
  102.         return $this;
  103.     }
  104.     public function getPresentation(): ?string
  105.     {
  106.         return $this->presentation;
  107.     }
  108.     public function setPresentation(?string $presentation): self
  109.     {
  110.         $this->presentation $presentation;
  111.         return $this;
  112.     }
  113.     public function getReference(): ?string
  114.     {
  115.         return $this->reference;
  116.     }
  117.     public function setReference(?string $reference): self
  118.     {
  119.         $this->reference $reference;
  120.         return $this;
  121.     }
  122.     public function getTarif(): ?string
  123.     {
  124.         return $this->tarif;
  125.     }
  126.     public function setTarif(?string $tarif): self
  127.     {
  128.         $this->tarif $tarif;
  129.         return $this;
  130.     }
  131.     public function getCodeSC(): ?string
  132.     {
  133.         return $this->codeSC;
  134.     }
  135.     public function setCodeSC(?string $codeSC): self
  136.     {
  137.         $this->codeSC $codeSC;
  138.         return $this;
  139.     }
  140.     public function getCodePA(): ?string
  141.     {
  142.         return $this->codePA;
  143.     }
  144.     public function setCodePA(?string $codePA): self
  145.     {
  146.         $this->codePA $codePA;
  147.         return $this;
  148.     }
  149.     /**
  150.      * @return Collection<int, Categorie>
  151.      */
  152.     public function getCategories(): Collection
  153.     {
  154.         return $this->categories;
  155.     }
  156.     public function addCategory(Categorie $category): self
  157.     {
  158.         if (!$this->categories->contains($category)) {
  159.             $this->categories->add($category);
  160.             $category->addMateriel($this);
  161.         }
  162.         return $this;
  163.     }
  164.     public function removeCategory(Categorie $category): self
  165.     {
  166.         if ($this->categories->removeElement($category)) {
  167.             $category->removeMateriel($this);
  168.         }
  169.         return $this;
  170.     }
  171.     /**
  172.      * @return Collection<int, self>
  173.      */
  174.     public function getAssocies(): Collection
  175.     {
  176.         return $this->associes;
  177.     }
  178.     public function addAssocy(self $assocy): self
  179.     {
  180.         if (!$this->associes->contains($assocy)) {
  181.             $this->associes->add($assocy);
  182.         }
  183.         return $this;
  184.     }
  185.     public function removeAssocy(self $assocy): self
  186.     {
  187.         $this->associes->removeElement($assocy);
  188.         return $this;
  189.     }
  190.     // /**
  191.     //  * @return Collection<int, Materielphoto>
  192.     //  */
  193.     // public function getMaterielphotos(): Collection
  194.     // {
  195.     //     return $this->materielphotos;
  196.     // }
  197.     // public function addMaterielphoto(Materielphoto $materielphoto): self
  198.     // {
  199.     //     if (!$this->materielphotos->contains($materielphoto)) {
  200.     //         $this->materielphotos->add($materielphoto);
  201.     //         $materielphoto->setMateriel($this);
  202.     //     }
  203.     //     return $this;
  204.     // }
  205.     // public function removeMaterielphoto(Materielphoto $materielphoto): self
  206.     // {
  207.     //     if ($this->materielphotos->removeElement($materielphoto)) {
  208.     //         // set the owning side to null (unless already changed)
  209.     //         if ($materielphoto->getMateriel() === $this) {
  210.     //             $materielphoto->setMateriel(null);
  211.     //         }
  212.     //     }
  213.     //     return $this;
  214.     // }
  215.     public function isArchive(): ?bool
  216.     {
  217.         return $this->archive;
  218.     }
  219.     public function setArchive(bool $archive): self
  220.     {
  221.         $this->archive $archive;
  222.         return $this;
  223.     }
  224.     /**
  225.      * @return Collection<int, Commentaire>
  226.      */
  227.     public function getCommentaires(): Collection
  228.     {
  229.         return $this->commentaires;
  230.     }
  231.     public function addCommentaire(Commentaire $commentaire): self
  232.     {
  233.         if (!$this->commentaires->contains($commentaire)) {
  234.             $this->commentaires->add($commentaire);
  235.             $commentaire->setMateriel($this);
  236.         }
  237.         return $this;
  238.     }
  239.     public function removeCommentaire(Commentaire $commentaire): self
  240.     {
  241.         if ($this->commentaires->removeElement($commentaire)) {
  242.             // set the owning side to null (unless already changed)
  243.             if ($commentaire->getMateriel() === $this) {
  244.                 $commentaire->setMateriel(null);
  245.             }
  246.         }
  247.         return $this;
  248.     }
  249.     /**
  250.      * @return Collection<int, Protocole>
  251.      */
  252.     public function getProtocoles(): Collection
  253.     {
  254.         return $this->protocoles;
  255.     }
  256.     public function addProtocole(Protocole $protocole): self
  257.     {
  258.         if (!$this->protocoles->contains($protocole)) {
  259.             $this->protocoles->add($protocole);
  260.             $protocole->addMateriel($this);
  261.         }
  262.         return $this;
  263.     }
  264.     public function removeProtocole(Protocole $protocole): self
  265.     {
  266.         if ($this->protocoles->removeElement($protocole)) {
  267.             $protocole->removeMateriel($this);
  268.         }
  269.         return $this;
  270.     }
  271.     /**
  272.      * @return Collection<int, self>
  273.      */
  274.     public function getKitmateriels(): Collection
  275.     {
  276.         return $this->kitmateriels;
  277.     }
  278.     public function addKitmateriel(self $kitmateriel): self
  279.     {
  280.         if (!$this->kitmateriels->contains($kitmateriel)) {
  281.             $this->kitmateriels->add($kitmateriel);
  282.         }
  283.         return $this;
  284.     }
  285.     public function removeKitmateriel(self $kitmateriel): self
  286.     {
  287.         $this->kitmateriels->removeElement($kitmateriel);
  288.         return $this;
  289.     }
  290. }