src/Entity/UbicacionAbstract.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Gedmo\Mapping\Annotation as Gedmo;
  7. use Symfony\Component\Uid\Uuid;
  8. /**
  9. * @ORM\Entity(repositoryClass="App\Repository\UbicacionAbstractRepository")
  10. * @ORM\Table(name="ubicacion", schema="perseo")
  11. * @ORM\InheritanceType("SINGLE_TABLE")
  12. * @ORM\DiscriminatorColumn(name="type", type="string")
  13. * @ORM\DiscriminatorMap({
  14. * "general":"App\Entity\UbicacionGeneral",
  15. * "proveedor":"App\Entity\UbicacionProveedor"
  16. * })
  17. * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false, hardDelete=true)
  18. */
  19. abstract class UbicacionAbstract
  20. {
  21. /**
  22. * @ORM\Id
  23. * @ORM\Column(type="uuid", unique=true)
  24. * @ORM\GeneratedValue(strategy="CUSTOM")
  25. * @ORM\CustomIdGenerator(class="doctrine.uuid_generator")
  26. */
  27. protected $id;
  28. /**
  29. * @ORM\Column(type="string", nullable=true)
  30. */
  31. protected $nombre;
  32. /**
  33. * @ORM\Column(type="string", nullable=true)
  34. */
  35. protected $descripcion;
  36. /**
  37. * @ORM\Column(type="datetime", nullable=true, name="deleted_at")
  38. */
  39. protected $deletedAt;
  40. /**
  41. * @ORM\Column(type="datetime", nullable=false, name="updated_at", options={"default":"2022-01-01 00:00:00"})
  42. * @Gedmo\Timestampable(on="update")
  43. */
  44. protected $updatedAt;
  45. /**
  46. * @ORM\Column(type="datetime", nullable=false, name="created_at", options={"default":"2022-01-01 00:00:00"})
  47. * @Gedmo\Timestampable(on="create")
  48. */
  49. protected $createdAt;
  50. /**
  51. * @ORM\OneToMany(targetEntity="App\Entity\AccionUbicacion", mappedBy="ubicacionActual")
  52. */
  53. private $accionesUbicacionActual;
  54. /**
  55. * @ORM\OneToMany(targetEntity="App\Entity\AccionUbicacion", mappedBy="ubicacionAnterior")
  56. */
  57. private $accionesUbicacionAnterior;
  58. public function __construct()
  59. {
  60. $this->accionesUbicacionActual = new ArrayCollection();
  61. $this->accionesUbicacionAnterior = new ArrayCollection();
  62. }
  63. public function __toString(): string
  64. {
  65. return $this->getNombre()??'---';
  66. }
  67. public function getId(): ?Uuid
  68. {
  69. return $this->id;
  70. }
  71. public function getNombre(): ?string
  72. {
  73. return $this->nombre;
  74. }
  75. public function setNombre(?string $nombre): self
  76. {
  77. $this->nombre = $nombre;
  78. return $this;
  79. }
  80. public function getDescripcion(): ?string
  81. {
  82. return $this->descripcion;
  83. }
  84. public function setDescripcion(?string $descripcion): self
  85. {
  86. $this->descripcion = $descripcion;
  87. return $this;
  88. }
  89. public function getDeletedAt(): ?\DateTimeInterface
  90. {
  91. return $this->deletedAt;
  92. }
  93. public function setDeletedAt(?\DateTimeInterface $deletedAt): self
  94. {
  95. $this->deletedAt = $deletedAt;
  96. return $this;
  97. }
  98. public function getUpdatedAt(): ?\DateTimeInterface
  99. {
  100. return $this->updatedAt;
  101. }
  102. public function setUpdatedAt(\DateTimeInterface $updatedAt): self
  103. {
  104. $this->updatedAt = $updatedAt;
  105. return $this;
  106. }
  107. public function getCreatedAt(): ?\DateTimeInterface
  108. {
  109. return $this->createdAt;
  110. }
  111. public function setCreatedAt(\DateTimeInterface $createdAt): self
  112. {
  113. $this->createdAt = $createdAt;
  114. return $this;
  115. }
  116. /**
  117. * @return Collection<int, AccionUbicacion>
  118. */
  119. public function getAccionesUbicacionActual(): Collection
  120. {
  121. return $this->accionesUbicacionActual;
  122. }
  123. public function addAccionesUbicacionActual(AccionUbicacion $accionesUbicacionActual): self
  124. {
  125. if (!$this->accionesUbicacionActual->contains($accionesUbicacionActual)) {
  126. $this->accionesUbicacionActual->add($accionesUbicacionActual);
  127. $accionesUbicacionActual->setUbicacionActual($this);
  128. }
  129. return $this;
  130. }
  131. public function removeAccionesUbicacionActual(AccionUbicacion $accionesUbicacionActual): self
  132. {
  133. if ($this->accionesUbicacionActual->removeElement($accionesUbicacionActual)) {
  134. // set the owning side to null (unless already changed)
  135. if ($accionesUbicacionActual->getUbicacionActual() === $this) {
  136. $accionesUbicacionActual->setUbicacionActual(null);
  137. }
  138. }
  139. return $this;
  140. }
  141. /**
  142. * @return Collection<int, AccionUbicacion>
  143. */
  144. public function getAccionesUbicacionAnterior(): Collection
  145. {
  146. return $this->accionesUbicacionAnterior;
  147. }
  148. public function addAccionesUbicacionAnterior(AccionUbicacion $accionesUbicacionAnterior): self
  149. {
  150. if (!$this->accionesUbicacionAnterior->contains($accionesUbicacionAnterior)) {
  151. $this->accionesUbicacionAnterior->add($accionesUbicacionAnterior);
  152. $accionesUbicacionAnterior->setUbicacionAnterior($this);
  153. }
  154. return $this;
  155. }
  156. public function removeAccionesUbicacionAnterior(AccionUbicacion $accionesUbicacionAnterior): self
  157. {
  158. if ($this->accionesUbicacionAnterior->removeElement($accionesUbicacionAnterior)) {
  159. // set the owning side to null (unless already changed)
  160. if ($accionesUbicacionAnterior->getUbicacionAnterior() === $this) {
  161. $accionesUbicacionAnterior->setUbicacionAnterior(null);
  162. }
  163. }
  164. return $this;
  165. }
  166. }