src/Entity/Almacen/Articulo.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Almacen;
  3. use App\Repository\Almacen\ArticuloRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  9. use App\Entity\Equipos\Maquinaria;
  10. /**
  11.  * @ORM\Entity(repositoryClass=ArticuloRepository::class)
  12.  * @ORM\Table(name="gral_articulos")
  13.  * @UniqueEntity(
  14.  *     fields={"descripcion", "categoria"},
  15.  *     errorPath="descripcion",
  16.  *     message="Ya existe una categoria con el descripcion ingresada"
  17.  * )
  18.  */
  19. class Articulo
  20. {
  21.     /**
  22.      * @ORM\Id
  23.      * @ORM\GeneratedValue
  24.      * @ORM\Column(type="integer")
  25.      */
  26.     private $id;
  27.     /**
  28.      * @ORM\Column(type="string", length=255)
  29.      * @Assert\NotNull(message="El campo es requerido")
  30.      */
  31.     private $descripcion;
  32.     /**
  33.      * @ORM\Column(type="string", length=255, nullable=true)
  34.      */
  35.     private $codigo;
  36.     /**
  37.      * @ORM\Column(type="string", length=255, nullable=true)
  38.      */
  39.     private $codigoBarras;
  40.     /**
  41.      * @ORM\Column(type="boolean",  options={"default"=true})
  42.      */
  43.     private $activo true;
  44.     /**
  45.      * @ORM\Column(type="boolean", options={"default"=false})
  46.      */
  47.     private $herramienta false;
  48.     /**
  49.      * @ORM\ManyToOne(targetEntity=UnidadMedida::class)
  50.      * @ORM\JoinColumn(name="id_uda_med", referencedColumnName="id", nullable=true)
  51.      * @Assert\NotNull(message="El campo es requerido")
  52.      */
  53.     private $unidaMedida;
  54.     /**
  55.      * @ORM\ManyToOne(targetEntity=Categoria::class)
  56.      * @ORM\JoinColumn(name="id_categoria", referencedColumnName="id", nullable=true)
  57.      * @Assert\NotNull(message="El campo es requerido")
  58.      */
  59.     private $categoria;
  60.     /**
  61.      * @ORM\ManyToMany(targetEntity=Maquinaria::class, inversedBy="articulos")
  62.      * @ORM\JoinTable(name="config_articulo_maquina")
  63.      */
  64.     private $maquinarias;
  65.     /**
  66.      * ORM\OneToMany(targetEntity=ArticuloDeposito::class, mappedBy="articulo")
  67.      */
  68.     private $articulosDeposito;
  69.     /**
  70.      * @ORM\ManyToMany(targetEntity=AplicacionArticulo::class)
  71.      * @ORM\JoinTable(name="gral_articulo_aplicacion",
  72.      *      joinColumns={@ORM\JoinColumn(name="id_articulo", referencedColumnName="id")},
  73.      *      inverseJoinColumns={@ORM\JoinColumn(name="id_aplicacion", referencedColumnName="id")}
  74.      *      )
  75.      */
  76.     private $aplicaciones;
  77.     public function getListaAplicaciones()
  78.     {
  79.         return implode(' - '$this->aplicaciones->toArray());
  80.     }
  81.     public function __construct()
  82.     {
  83.         $this->maquinarias = new ArrayCollection();
  84.         $this->articulosDeposito = new ArrayCollection();
  85.         $this->aplicaciones = new ArrayCollection();
  86.     }
  87.     public function __toString()
  88.     {
  89.         return $this->descripcion;
  90.     }
  91.     public function getId(): ?int
  92.     {
  93.         return $this->id;
  94.     }
  95.     public function getDescripcion(): ?string
  96.     {
  97.         return $this->descripcion;
  98.     }
  99.     public function setDescripcion(string $descripcion): self
  100.     {
  101.         $this->descripcion $descripcion;
  102.         return $this;
  103.     }
  104.     public function getCodigo(): ?string
  105.     {
  106.         return $this->codigo;
  107.     }
  108.     public function setCodigo(?string $codigo): self
  109.     {
  110.         $this->codigo $codigo;
  111.         return $this;
  112.     }
  113.     public function getCodigoBarras(): ?string
  114.     {
  115.         return $this->codigoBarras;
  116.     }
  117.     public function setCodigoBarras(?string $codigoBarras): self
  118.     {
  119.         $this->codigoBarras $codigoBarras;
  120.         return $this;
  121.     }
  122.     public function getUnidaMedida(): ?UnidadMedida
  123.     {
  124.         return $this->unidaMedida;
  125.     }
  126.     public function setUnidaMedida(?UnidadMedida $unidaMedida): self
  127.     {
  128.         $this->unidaMedida $unidaMedida;
  129.         return $this;
  130.     }
  131.     public function getCategoria(): ?Categoria
  132.     {
  133.         return $this->categoria;
  134.     }
  135.     public function setCategoria(?Categoria $categoria): self
  136.     {
  137.         $this->categoria $categoria;
  138.         return $this;
  139.     }
  140.     /**
  141.      * @return Collection<int, Maquinaria>
  142.      */
  143.     public function getMaquinarias(): Collection
  144.     {
  145.         return $this->maquinarias;
  146.     }
  147.     public function addMaquinaria(Maquinaria $maquinaria): self
  148.     {
  149.         if (!$this->maquinarias->contains($maquinaria)) {
  150.             $this->maquinarias[] = $maquinaria;
  151.         }
  152.         return $this;
  153.     }
  154.     public function removeMaquinaria(Maquinaria $maquinaria): self
  155.     {
  156.         $this->maquinarias->removeElement($maquinaria);
  157.         return $this;
  158.     }
  159.     /**
  160.      * @return Collection<int, ArticuloDeposito>
  161.      */
  162.     public function getArticulosDeposito(): Collection
  163.     {
  164.         return $this->articulosDeposito;
  165.     }
  166.     public function addArticulosDeposito(ArticuloDeposito $articulosDeposito): self
  167.     {
  168.         if (!$this->articulosDeposito->contains($articulosDeposito)) {
  169.             $this->articulosDeposito[] = $articulosDeposito;
  170.             $articulosDeposito->setArticarticulos($this);
  171.         }
  172.         return $this;
  173.     }
  174.     public function removeArticulosDeposito(ArticuloDeposito $articulosDeposito): self
  175.     {
  176.         if ($this->articulosDeposito->removeElement($articulosDeposito)) {
  177.             // set the owning side to null (unless already changed)
  178.             if ($articulosDeposito->getArticarticulos() === $this) {
  179.                 $articulosDeposito->setArticarticulos(null);
  180.             }
  181.         }
  182.         return $this;
  183.     }
  184.     public function isActivo(): ?bool
  185.     {
  186.         return $this->activo;
  187.     }
  188.     public function setActivo(bool $activo): self
  189.     {
  190.         $this->activo $activo;
  191.         return $this;
  192.     }
  193.     public function isHerramienta(): ?bool
  194.     {
  195.         return $this->herramienta;
  196.     }
  197.     public function setHerramienta(bool $herramienta): self
  198.     {
  199.         $this->herramienta $herramienta;
  200.         return $this;
  201.     }
  202.     /**
  203.      * @return Collection<int, AplicacionArticulo>
  204.      */
  205.     public function getAplicaciones(): Collection
  206.     {
  207.         return $this->aplicaciones;
  208.     }
  209.     public function addAplicacione(AplicacionArticulo $aplicacione): self
  210.     {
  211.         if (!$this->aplicaciones->contains($aplicacione)) {
  212.             $this->aplicaciones[] = $aplicacione;
  213.         }
  214.         return $this;
  215.     }
  216.     public function removeAplicacione(AplicacionArticulo $aplicacione): self
  217.     {
  218.         $this->aplicaciones->removeElement($aplicacione);
  219.         return $this;
  220.     }
  221. }