src/Entity/Articoli.php line 62

  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\DBAL\Types\Types;
  6. use Doctrine\ORM\Event\LifecycleEventArgs;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * Articoli
  10.  *
  11.  * @ORM\Table(name="articoli", indexes={
  12.  *     @ORM\Index(name="articoli_codice_idx",
  13.  *     columns={
  14.  *      "codice"
  15.  *     }),
  16.  *     @ORM\Index(name="articoli_descrizione_idx",
  17.  *     columns={
  18.  *      "descrizione"
  19.  *     }, options={"lengths": {255}}),
  20.  *     @ORM\Index(name="articoli_nome_idx",
  21.  *     columns={
  22.  *      "nome"
  23.  *     }),
  24.  *     @ORM\Index(name="articoli_attivo_idx",
  25.  *     columns={
  26.  *      "attivo"
  27.  *     }),
  28.  *     @ORM\Index(name="articoli_cod_imp_idx",
  29.  *     columns={
  30.  *      "codice_importazione"
  31.  *     }),
  32.  *     @ORM\Index(name="articoli_ordinamento_idx",
  33.  *     columns={
  34.  *      "ordinamento"
  35.  *     }),
  36.  *     @ORM\Index(name="articoli_descrizione_breve_idx",
  37.  *     columns={
  38.  *      "descrizione_breve"
  39.  *     }),
  40.  *     @ORM\Index(name="articoli_um_codice_idx",
  41.  *     columns={
  42.  *      "um"
  43.  *     }),
  44.  *     @ORM\Index(name="articoli_cod_gruppo_art_idx",
  45.  *     columns={
  46.  *      "codice_gruppo_articoli"
  47.  *     }),
  48.  *     @ORM\Index(name="articoli_macro_cat_idx",
  49.  *     columns={
  50.  *      "macro_categoria"
  51.  *     }),
  52.  *     @ORM\Index(name="articoli_macrocat_codice_idx",
  53.  *     columns={
  54.  *      "codice", "macro_categoria"
  55.  *     })
  56.  * })
  57.  * @ORM\Entity(repositoryClass="App\Repository\ArticoliRepository")
  58.  */
  59. class Articoli
  60. {
  61.     /**
  62.      * @var int
  63.      *
  64.      * @ORM\Column(name="id", type="integer")
  65.      * @ORM\Id
  66.      * @ORM\GeneratedValue(strategy="AUTO")
  67.      */
  68.     private $id;
  69.     /**
  70.      * @var int
  71.      *
  72.      * @ORM\Column(name="ordinamento", type="integer", nullable=true)
  73.      */
  74.     private $ordinamento;
  75.     /**
  76.      * @ORM\OneToMany(targetEntity="App\Entity\AssociazioneArticoliTipoOrdine", mappedBy="articolo", cascade={"remove"}, orphanRemoval=true)
  77.      */
  78.     private $associazioneArticoliTipoOrdine;
  79.     /**
  80.      * @ORM\OneToMany(targetEntity="App\Entity\DisponibilitaAFasce", mappedBy="articolo", cascade={"remove"}, orphanRemoval=true)
  81.      */
  82.     private $disponibilitaAFasce;
  83.     /**
  84.      * @ORM\OneToMany(targetEntity="App\Entity\MappaCategorieArticoli", mappedBy="articolo", cascade={"remove"}, orphanRemoval=true)
  85.      */
  86.     private $mappaCategorieArticoli;
  87.     /**
  88.      * @var string
  89.      *
  90.      * @ORM\Column(name="nome", type="string", length=255)
  91.      */
  92.     private $nome;
  93.     /**
  94.      * @var string
  95.      *
  96.      * @ORM\Column(name="descrizione", type="text", nullable=true)
  97.      */
  98.     private $descrizione;
  99.     /**
  100.      * @var string
  101.      *
  102.      * @ORM\Column(name="descrizione_breve", type="string", length=255, nullable=true)
  103.      */
  104.     private $descrizioneBreve;
  105.     /**
  106.      * @var string
  107.      *
  108.      * @ORM\Column(name="codice", type="string", length=255, nullable=true)
  109.      */
  110.     private $codice;
  111.     /**
  112.      * @var string
  113.      *
  114.      * @ORM\Column(name="codice_importazione", type="string", length=255, nullable=true)
  115.      */
  116.     private $codiceImportazione;
  117.     /**
  118.      * @var string
  119.      *
  120.      * @ORM\Column(name="codice_gruppo_articoli", type="string", length=255, nullable=true)
  121.      */
  122.     private $codiceGruppoArticoli;
  123.     /**
  124.      * @var string
  125.      *
  126.      * @ORM\Column(name="macro_categoria", type="string", length=255, nullable=true)
  127.      */
  128.     private $macroCategoria;
  129.     /**
  130.      * @ORM\ManyToOne(targetEntity="UnitaMisura")
  131.      * @ORM\JoinColumn(name="um", referencedColumnName="codice", onDelete="SET NULL")
  132.      */
  133.     private $um;
  134.     /**
  135.      * @ORM\ManyToOne(targetEntity="UnitaMisura")
  136.      * @ORM\JoinColumn(name="um_peso", referencedColumnName="codice", onDelete="SET NULL", nullable=true)
  137.      */
  138.     private $umPeso;
  139.     /**
  140.      * @var string
  141.      *
  142.      * @ORM\Column(name="peso_netto", type="decimal", precision=10, scale=5, nullable=true)
  143.      */
  144.     private $pesoNetto = 0;
  145.     /**
  146.      * @var string
  147.      *
  148.      * @ORM\Column(name="peso_lordo", type="decimal", precision=10, scale=5, nullable=true)
  149.      */
  150.     private $pesoLordo = 0;
  151.     /**
  152.      * @var string
  153.      *
  154.      * @ORM\Column(name="image", type="string", length=255, nullable=true)
  155.      */
  156.     private $image;
  157.     /**
  158.      * @var \DateTime
  159.      *
  160.      * @ORM\Column(name="data_modifica", type="datetime")
  161.      */
  162.     private $dataModifica;
  163.     /**
  164.      * @var \DateTime
  165.      *
  166.      * @ORM\Column(name="data_creazione", type="datetime")
  167.      */
  168.     private $dataCreazione;
  169.     /**
  170.      * @ORM\ManyToOne(targetEntity="User")
  171.      * @ORM\JoinColumn(name="utente_id", referencedColumnName="id", onDelete="SET NULL")
  172.      */
  173.     private $utente;
  174.     /**
  175.      * @ORM\ManyToOne(targetEntity="TipologiePreimpostate")
  176.      * @ORM\JoinColumn(name="tipologie_preimpostate_id", referencedColumnName="id", onDelete="SET NULL")
  177.      */
  178.     private $tipologiePreimpostate;
  179.     /**
  180.      * @var bool
  181.      *
  182.      * @ORM\Column(name="usa_tipologie_preimpostate", type="boolean")
  183.      */
  184.     private $usaTipologiePreimpostate;
  185.     /**
  186.      * @var string
  187.      *
  188.      * @ORM\Column(name="codice_aliquota", type="string", length=255, nullable=true)
  189.      */
  190.     private $codiceAliquota;
  191.     /**
  192.      * @var string
  193.      *
  194.      * @ORM\Column(name="valore_aliquota", type="decimal", precision=10, scale=2, nullable=true)
  195.      */
  196.     private $valoreAliquota;
  197.     /**
  198.      * @var bool
  199.      *
  200.      * @ORM\Column(name="prezzo_su_richiesta", type="boolean", nullable=true)
  201.      */
  202.     private $prezzoSuRichiesta;
  203.     /**
  204.      * @var bool
  205.      *
  206.      * @ORM\Column(name="attivo", type="boolean", nullable=true)
  207.      */
  208.     private $attivo;
  209.     public function __construct()
  210.     {
  211.         $this->associazioneArticoliTipoOrdine = new ArrayCollection();
  212.         $this->disponibilitaAFasce = new ArrayCollection();
  213.         $this->mappaCategorieArticoli = new ArrayCollection();
  214.     }
  215.     public function getId(): ?int
  216.     {
  217.         return $this->id;
  218.     }
  219.     public function getNome(): ?string
  220.     {
  221.         return $this->nome;
  222.     }
  223.     public function setNome(string $nome): static
  224.     {
  225.         $this->nome = $nome;
  226.         return $this;
  227.     }
  228.     public function getDescrizione(): ?string
  229.     {
  230.         return $this->descrizione;
  231.     }
  232.     public function setDescrizione(?string $descrizione): static
  233.     {
  234.         $this->descrizione = $descrizione;
  235.         return $this;
  236.     }
  237.     public function getDescrizioneBreve(): ?string
  238.     {
  239.         return $this->descrizioneBreve;
  240.     }
  241.     public function setDescrizioneBreve(?string $descrizioneBreve): static
  242.     {
  243.         $this->descrizioneBreve = $descrizioneBreve;
  244.         return $this;
  245.     }
  246.     public function getCodice(): ?string
  247.     {
  248.         return $this->codice;
  249.     }
  250.     public function setCodice(?string $codice): static
  251.     {
  252.         $this->codice = $codice;
  253.         return $this;
  254.     }
  255.     public function getCodiceImportazione(): ?string
  256.     {
  257.         return $this->codiceImportazione;
  258.     }
  259.     public function setCodiceImportazione(?string $codiceImportazione): static
  260.     {
  261.         $this->codiceImportazione = $codiceImportazione;
  262.         return $this;
  263.     }
  264.     public function getCodiceGruppoArticoli(): ?string
  265.     {
  266.         return $this->codiceGruppoArticoli;
  267.     }
  268.     public function setCodiceGruppoArticoli(?string $codiceGruppoArticoli): static
  269.     {
  270.         $this->codiceGruppoArticoli = $codiceGruppoArticoli;
  271.         return $this;
  272.     }
  273.     public function getMacroCategoria(): ?string
  274.     {
  275.         return $this->macroCategoria;
  276.     }
  277.     public function setMacroCategoria(?string $macroCategoria): static
  278.     {
  279.         $this->macroCategoria = $macroCategoria;
  280.         return $this;
  281.     }
  282.     public function getPesoNetto(): ?string
  283.     {
  284.         return $this->pesoNetto;
  285.     }
  286.     public function setPesoNetto(?string $pesoNetto): static
  287.     {
  288.         $this->pesoNetto = $pesoNetto;
  289.         return $this;
  290.     }
  291.     public function getPesoLordo(): ?string
  292.     {
  293.         return $this->pesoLordo;
  294.     }
  295.     public function setPesoLordo(?string $pesoLordo): static
  296.     {
  297.         $this->pesoLordo = $pesoLordo;
  298.         return $this;
  299.     }
  300.     public function getImage(): ?string
  301.     {
  302.         return $this->image;
  303.     }
  304.     public function setImage(?string $image): static
  305.     {
  306.         $this->image = $image;
  307.         return $this;
  308.     }
  309.     public function getDataModifica(): ?\DateTimeInterface
  310.     {
  311.         return $this->dataModifica;
  312.     }
  313.     public function setDataModifica(\DateTimeInterface $dataModifica): static
  314.     {
  315.         $this->dataModifica = $dataModifica;
  316.         return $this;
  317.     }
  318.     public function getDataCreazione(): ?\DateTimeInterface
  319.     {
  320.         return $this->dataCreazione;
  321.     }
  322.     public function setDataCreazione(\DateTimeInterface $dataCreazione): static
  323.     {
  324.         $this->dataCreazione = $dataCreazione;
  325.         return $this;
  326.     }
  327.     public function getUsaTipologiePreimpostate(): ?bool
  328.     {
  329.         return $this->usaTipologiePreimpostate;
  330.     }
  331.     public function setUsaTipologiePreimpostate(bool $usaTipologiePreimpostate): static
  332.     {
  333.         $this->usaTipologiePreimpostate = $usaTipologiePreimpostate;
  334.         return $this;
  335.     }
  336.     public function getCodiceAliquota(): ?string
  337.     {
  338.         return $this->codiceAliquota;
  339.     }
  340.     public function setCodiceAliquota(?string $codiceAliquota): static
  341.     {
  342.         $this->codiceAliquota = $codiceAliquota;
  343.         return $this;
  344.     }
  345.     public function getValoreAliquota(): ?string
  346.     {
  347.         return $this->valoreAliquota;
  348.     }
  349.     public function setValoreAliquota(?string $valoreAliquota): static
  350.     {
  351.         $this->valoreAliquota = $valoreAliquota;
  352.         return $this;
  353.     }
  354.     public function getPrezzoSuRichiesta(): ?bool
  355.     {
  356.         return $this->prezzoSuRichiesta;
  357.     }
  358.     public function setPrezzoSuRichiesta(?bool $prezzoSuRichiesta): static
  359.     {
  360.         $this->prezzoSuRichiesta = $prezzoSuRichiesta;
  361.         return $this;
  362.     }
  363.     /**
  364.      * @return Collection<int, AssociazioneArticoliTipoOrdine>
  365.      */
  366.     public function getAssociazioneArticoliTipoOrdine(): Collection
  367.     {
  368.         return $this->associazioneArticoliTipoOrdine;
  369.     }
  370.     public function addAssociazioneArticoliTipoOrdine(AssociazioneArticoliTipoOrdine $associazioneArticoliTipoOrdine): static
  371.     {
  372.         if (!$this->associazioneArticoliTipoOrdine->contains($associazioneArticoliTipoOrdine)) {
  373.             $this->associazioneArticoliTipoOrdine->add($associazioneArticoliTipoOrdine);
  374.             $associazioneArticoliTipoOrdine->setArticolo($this);
  375.         }
  376.         return $this;
  377.     }
  378.     public function removeAssociazioneArticoliTipoOrdine(AssociazioneArticoliTipoOrdine $associazioneArticoliTipoOrdine): static
  379.     {
  380.         if ($this->associazioneArticoliTipoOrdine->removeElement($associazioneArticoliTipoOrdine)) {
  381.             // set the owning side to null (unless already changed)
  382.             if ($associazioneArticoliTipoOrdine->getArticolo() === $this) {
  383.                 $associazioneArticoliTipoOrdine->setArticolo(null);
  384.             }
  385.         }
  386.         return $this;
  387.     }
  388.     /**
  389.      * @return Collection<int, DisponibilitaAFasce>
  390.      */
  391.     public function getDisponibilitaAFasce(): Collection
  392.     {
  393.         return $this->disponibilitaAFasce;
  394.     }
  395.     public function addDisponibilitaAFasce(DisponibilitaAFasce $disponibilitaAFasce): static
  396.     {
  397.         if (!$this->disponibilitaAFasce->contains($disponibilitaAFasce)) {
  398.             $this->disponibilitaAFasce->add($disponibilitaAFasce);
  399.             $disponibilitaAFasce->setArticolo($this);
  400.         }
  401.         return $this;
  402.     }
  403.     public function removeDisponibilitaAFasce(DisponibilitaAFasce $disponibilitaAFasce): static
  404.     {
  405.         if ($this->disponibilitaAFasce->removeElement($disponibilitaAFasce)) {
  406.             // set the owning side to null (unless already changed)
  407.             if ($disponibilitaAFasce->getArticolo() === $this) {
  408.                 $disponibilitaAFasce->setArticolo(null);
  409.             }
  410.         }
  411.         return $this;
  412.     }
  413.     public function getUm(): ?UnitaMisura
  414.     {
  415.         return $this->um;
  416.     }
  417.     public function setUm(?UnitaMisura $um): static
  418.     {
  419.         $this->um = $um;
  420.         return $this;
  421.     }
  422.     public function getUmPeso(): ?UnitaMisura
  423.     {
  424.         return $this->umPeso;
  425.     }
  426.     public function setUmPeso(?UnitaMisura $umPeso): static
  427.     {
  428.         $this->umPeso = $umPeso;
  429.         return $this;
  430.     }
  431.     public function getUtente(): ?User
  432.     {
  433.         return $this->utente;
  434.     }
  435.     public function setUtente(?User $utente): static
  436.     {
  437.         $this->utente = $utente;
  438.         return $this;
  439.     }
  440.     public function getTipologiePreimpostate(): ?TipologiePreimpostate
  441.     {
  442.         return $this->tipologiePreimpostate;
  443.     }
  444.     public function setTipologiePreimpostate(?TipologiePreimpostate $tipologiePreimpostate): static
  445.     {
  446.         $this->tipologiePreimpostate = $tipologiePreimpostate;
  447.         return $this;
  448.     }
  449.     public function getOrdinamento(): ?int
  450.     {
  451.         return $this->ordinamento;
  452.     }
  453.     public function setOrdinamento(?int $ordinamento): static
  454.     {
  455.         $this->ordinamento = $ordinamento;
  456.         return $this;
  457.     }
  458.     public function getAttivo(): ?bool
  459.     {
  460.         return $this->attivo;
  461.     }
  462.     public function setAttivo(?bool $attivo): static
  463.     {
  464.         $this->attivo = $attivo;
  465.         return $this;
  466.     }
  467.     public function isUsaTipologiePreimpostate(): ?bool
  468.     {
  469.         return $this->usaTipologiePreimpostate;
  470.     }
  471.     public function isPrezzoSuRichiesta(): ?bool
  472.     {
  473.         return $this->prezzoSuRichiesta;
  474.     }
  475.     public function isAttivo(): ?bool
  476.     {
  477.         return $this->attivo;
  478.     }
  479.     /**
  480.      * @return Collection<int, MappaCategorieArticoli>
  481.      */
  482.     public function getMappaCategorieArticoli(): Collection
  483.     {
  484.         return $this->mappaCategorieArticoli;
  485.     }
  486.     public function addMappaCategorieArticoli(MappaCategorieArticoli $mappaCategorieArticoli): static
  487.     {
  488.         if (!$this->mappaCategorieArticoli->contains($mappaCategorieArticoli)) {
  489.             $this->mappaCategorieArticoli->add($mappaCategorieArticoli);
  490.             $mappaCategorieArticoli->setArticolo($this);
  491.         }
  492.         return $this;
  493.     }
  494.     public function removeMappaCategorieArticoli(MappaCategorieArticoli $mappaCategorieArticoli): static
  495.     {
  496.         if ($this->mappaCategorieArticoli->removeElement($mappaCategorieArticoli)) {
  497.             // set the owning side to null (unless already changed)
  498.             if ($mappaCategorieArticoli->getArticolo() === $this) {
  499.                 $mappaCategorieArticoli->setArticolo(null);
  500.             }
  501.         }
  502.         return $this;
  503.     }
  504. }