src/Entity/FielpetPol/DatosAuditoria.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity\FielpetPol;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5. * @ORM\Entity(repositoryClass="App\Repository\FielpetPol\DatosAuditoriaRepository")
  6. * @ORM\Table(name="datos_auditoria")
  7. */
  8. class DatosAuditoria
  9. {
  10. const ESTADO_EN_AUDITORIA = 'EN_AUDITORIA';
  11. const ESTADO_AUDITADO = 'AUDITADO';
  12. /**
  13. * @ORM\Id
  14. * @ORM\GeneratedValue
  15. * @ORM\Column(type="integer")
  16. */
  17. private ?int $id = null;
  18. /**
  19. * @ORM\Column(name="id_siniestro", type="integer", nullable=true)
  20. */
  21. private ?int $idSiniestro = null;
  22. /**
  23. * @ORM\Column(name="id_vetform", type="integer")
  24. */
  25. private ?int $idVetform = null;
  26. /**
  27. * @ORM\Column(name="diagnostico_inicial", type="text", nullable=true)
  28. */
  29. private ?string $diagnosticoInicial = null;
  30. /**
  31. * @ORM\Column(name="diagnostico_final", type="text", nullable=true)
  32. */
  33. private ?string $diagnosticoFinal = null;
  34. /**
  35. * @ORM\ManyToOne(targetEntity="App\Entity\FielpetPol\Usuario")
  36. * @ORM\JoinColumn(name="usuario_edit", nullable=true, onDelete="SET NULL")
  37. */
  38. private ?Usuario $usuarioEdit = null;
  39. /**
  40. * @ORM\Column(name="fecha_auditoria", type="datetime", nullable=true)
  41. */
  42. private ?\DateTimeInterface $fechaAuditoria = null;
  43. /**
  44. * @ORM\Column(type="string", length=20)
  45. */
  46. private string $estado = self::ESTADO_EN_AUDITORIA;
  47. /**
  48. * @ORM\Column(type="text", nullable=true)
  49. */
  50. private ?string $justificacion = null;
  51. /**
  52. * @ORM\Column(name="fecha_creacion", type="datetime")
  53. */
  54. private \DateTimeInterface $fechaCreacion;
  55. /**
  56. * @ORM\Column(name="fecha_actualizacion", type="datetime")
  57. */
  58. private \DateTimeInterface $fechaActualizacion;
  59. public function __construct()
  60. {
  61. $this->fechaCreacion = new \DateTime();
  62. $this->fechaActualizacion = new \DateTime();
  63. }
  64. // ========== GETTERS & SETTERS ==========
  65. public function getId(): ?int { return $this->id; }
  66. public function getIdSiniestro(): ?int { return $this->idSiniestro; }
  67. public function setIdSiniestro(?int $idSiniestro): self {
  68. $this->idSiniestro = $idSiniestro;
  69. return $this;
  70. }
  71. public function getIdVetform(): ?int { return $this->idVetform; }
  72. public function setIdVetform(?int $idVetform): self {
  73. $this->idVetform = $idVetform;
  74. return $this;
  75. }
  76. public function getDiagnosticoInicial(): ?string { return $this->diagnosticoInicial; }
  77. public function setDiagnosticoInicial(?string $diagnosticoInicial): self {
  78. $this->diagnosticoInicial = $diagnosticoInicial;
  79. return $this;
  80. }
  81. public function getDiagnosticoFinal(): ?string { return $this->diagnosticoFinal; }
  82. public function setDiagnosticoFinal(?string $diagnosticoFinal): self {
  83. $this->diagnosticoFinal = $diagnosticoFinal;
  84. return $this;
  85. }
  86. public function getUsuarioEdit(): ?Usuario { return $this->usuarioEdit; }
  87. public function setUsuarioEdit(?Usuario $usuarioEdit): self {
  88. $this->usuarioEdit = $usuarioEdit;
  89. return $this;
  90. }
  91. public function getFechaAuditoria(): ?\DateTimeInterface { return $this->fechaAuditoria; }
  92. public function setFechaAuditoria(?\DateTimeInterface $fechaAuditoria): self {
  93. $this->fechaAuditoria = $fechaAuditoria;
  94. $this->fechaActualizacion = new \DateTime();
  95. return $this;
  96. }
  97. public function getEstado(): string { return $this->estado; }
  98. public function setEstado(string $estado): self {
  99. $this->estado = $estado;
  100. $this->fechaActualizacion = new \DateTime();
  101. return $this;
  102. }
  103. public function getJustificacion(): ?string { return $this->justificacion; }
  104. public function setJustificacion(?string $justificacion): self {
  105. $this->justificacion = $justificacion;
  106. return $this;
  107. }
  108. public function getFechaCreacion(): \DateTimeInterface { return $this->fechaCreacion; }
  109. public function getFechaActualizacion(): \DateTimeInterface { return $this->fechaActualizacion; }
  110. // ========== MÉTODOS HELPER ==========
  111. public function isEnAuditoria(): bool {
  112. return $this->estado === self::ESTADO_EN_AUDITORIA;
  113. }
  114. public function isAuditado(): bool {
  115. return $this->estado === self::ESTADO_AUDITADO;
  116. }
  117. }