<?php
namespace App\Entity\FielpetPol;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\FielpetPol\DatosAuditoriaRepository")
* @ORM\Table(name="datos_auditoria")
*/
class DatosAuditoria
{
const ESTADO_EN_AUDITORIA = 'EN_AUDITORIA';
const ESTADO_AUDITADO = 'AUDITADO';
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private ?int $id = null;
/**
* @ORM\Column(name="id_siniestro", type="integer", nullable=true)
*/
private ?int $idSiniestro = null;
/**
* @ORM\Column(name="id_vetform", type="integer")
*/
private ?int $idVetform = null;
/**
* @ORM\Column(name="diagnostico_inicial", type="text", nullable=true)
*/
private ?string $diagnosticoInicial = null;
/**
* @ORM\Column(name="diagnostico_final", type="text", nullable=true)
*/
private ?string $diagnosticoFinal = null;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\FielpetPol\Usuario")
* @ORM\JoinColumn(name="usuario_edit", nullable=true, onDelete="SET NULL")
*/
private ?Usuario $usuarioEdit = null;
/**
* @ORM\Column(name="fecha_auditoria", type="datetime", nullable=true)
*/
private ?\DateTimeInterface $fechaAuditoria = null;
/**
* @ORM\Column(type="string", length=20)
*/
private string $estado = self::ESTADO_EN_AUDITORIA;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $justificacion = null;
/**
* @ORM\Column(name="fecha_creacion", type="datetime")
*/
private \DateTimeInterface $fechaCreacion;
/**
* @ORM\Column(name="fecha_actualizacion", type="datetime")
*/
private \DateTimeInterface $fechaActualizacion;
public function __construct()
{
$this->fechaCreacion = new \DateTime();
$this->fechaActualizacion = new \DateTime();
}
// ========== GETTERS & SETTERS ==========
public function getId(): ?int { return $this->id; }
public function getIdSiniestro(): ?int { return $this->idSiniestro; }
public function setIdSiniestro(?int $idSiniestro): self {
$this->idSiniestro = $idSiniestro;
return $this;
}
public function getIdVetform(): ?int { return $this->idVetform; }
public function setIdVetform(?int $idVetform): self {
$this->idVetform = $idVetform;
return $this;
}
public function getDiagnosticoInicial(): ?string { return $this->diagnosticoInicial; }
public function setDiagnosticoInicial(?string $diagnosticoInicial): self {
$this->diagnosticoInicial = $diagnosticoInicial;
return $this;
}
public function getDiagnosticoFinal(): ?string { return $this->diagnosticoFinal; }
public function setDiagnosticoFinal(?string $diagnosticoFinal): self {
$this->diagnosticoFinal = $diagnosticoFinal;
return $this;
}
public function getUsuarioEdit(): ?Usuario { return $this->usuarioEdit; }
public function setUsuarioEdit(?Usuario $usuarioEdit): self {
$this->usuarioEdit = $usuarioEdit;
return $this;
}
public function getFechaAuditoria(): ?\DateTimeInterface { return $this->fechaAuditoria; }
public function setFechaAuditoria(?\DateTimeInterface $fechaAuditoria): self {
$this->fechaAuditoria = $fechaAuditoria;
$this->fechaActualizacion = new \DateTime();
return $this;
}
public function getEstado(): string { return $this->estado; }
public function setEstado(string $estado): self {
$this->estado = $estado;
$this->fechaActualizacion = new \DateTime();
return $this;
}
public function getJustificacion(): ?string { return $this->justificacion; }
public function setJustificacion(?string $justificacion): self {
$this->justificacion = $justificacion;
return $this;
}
public function getFechaCreacion(): \DateTimeInterface { return $this->fechaCreacion; }
public function getFechaActualizacion(): \DateTimeInterface { return $this->fechaActualizacion; }
// ========== MÉTODOS HELPER ==========
public function isEnAuditoria(): bool {
return $this->estado === self::ESTADO_EN_AUDITORIA;
}
public function isAuditado(): bool {
return $this->estado === self::ESTADO_AUDITADO;
}
}