<?php
namespace App\Entity;
use App\Repository\RFSolicitudDocumentoRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'rf_solicitud_documento')]
#[ORM\Entity(repositoryClass: RFSolicitudDocumentoRepository::class)]
class RFSolicitudDocumento
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255)]
private ?string $DF = null;
#[ORM\ManyToOne(inversedBy: 'solicitudDocumento')]
private ?RFFUID $FUID = null;
#[ORM\Column]
private ?int $idEntidad = null;
#[ORM\ManyToOne(inversedBy: 'solicitudDocumentos')]
private ?ParTipoSolicitud $tipoSolicitud = null;
#[ORM\Column(nullable: true)]
private ?bool $validaUbicacion = null;
#[ORM\Column(nullable: true)]
private ?bool $requiereEntrega = null;
#[ORM\Column(nullable: true)]
private ?bool $confirmaDisposicion = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaNotificacion = null;
#[ORM\ManyToOne(inversedBy: 'generaSolicitudDocumento')]
private ?TerPersona $usuarioSolicita = null;
#[ORM\ManyToOne(inversedBy: 'atiendeSolicitudDocumento')]
private ?TerPersona $usuarioAtiende = null;
#[ORM\ManyToOne(inversedBy: 'solicitudDocumento')]
private ?ParEstado $estado = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $createAt = null;
#[ORM\Column(length: 50)]
private ?string $createUser = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $updateAt = null;
#[ORM\Column(length: 50)]
private ?string $updateUser = null;
#[ORM\ManyToOne(inversedBy: 'recibeSolicitudDocumento')]
private ?TerPersona $usuarioRecibe = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $firmaRecibido = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaRecibido = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaVencimiento = null;
#[ORM\Column(nullable: true)]
private ?bool $cambiosDocumento = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $descripcionCambio = null;
#[ORM\OneToMany(mappedBy: 'solicitudDocumento', targetEntity: RFProrrogaSolicitudDocumento::class)]
private Collection $prorrogaSolicitudDocumento;
#[ORM\OneToMany(mappedBy: 'solicitudDocumento', targetEntity: RFCambioCustodiaDocumento::class)]
private Collection $cambioCustodiaDocumento;
#[ORM\ManyToOne(inversedBy: 'entregaSolicitudDocumento')]
private ?TerPersona $usuarioEntrega = null;
#[ORM\ManyToOne(inversedBy: 'confirmaEntregaSolicitudDocumento')]
private ?TerPersona $usuarioConfirmaDevolucion = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacionDevolucion = null;
#[ORM\Column(nullable: true)]
private ?bool $novedadRegistrada = null;
#[ORM\Column(nullable: true)]
private ?int $foliosEntrega = null;
#[ORM\ManyToOne(inversedBy: 'devolucionaSolicitudDocumento')]
private ?TerPersona $usuarioDevoluciona = null;
public function __construct()
{
$this->entregaDocumento = new ArrayCollection();
$this->prorrogaSolicitudDocumento = new ArrayCollection();
$this->cambioCustodiaDocumento = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getDF(): ?string
{
return $this->DF;
}
public function setDF(string $DF): static
{
$this->DF = $DF;
return $this;
}
public function getFUID(): ?RFFUID
{
return $this->FUID;
}
public function setFUID(?RFFUID $FUID): static
{
$this->FUID = $FUID;
return $this;
}
public function getIdEntidad(): ?int
{
return $this->idEntidad;
}
public function setIdEntidad(int $idEntidad): static
{
$this->idEntidad = $idEntidad;
return $this;
}
public function getTipoSolicitud(): ?ParTipoSolicitud
{
return $this->tipoSolicitud;
}
public function setTipoSolicitud(?ParTipoSolicitud $tipoSolicitud): static
{
$this->tipoSolicitud = $tipoSolicitud;
return $this;
}
public function isValidaUbicacion(): ?bool
{
return $this->validaUbicacion;
}
public function setValidaUbicacion(?bool $validaUbicacion): static
{
$this->validaUbicacion = $validaUbicacion;
return $this;
}
public function isRequiereEntrega(): ?bool
{
return $this->requiereEntrega;
}
public function setRequiereEntrega(?bool $requiereEntrega): static
{
$this->requiereEntrega = $requiereEntrega;
return $this;
}
public function isConfirmaDisposicion(): ?bool
{
return $this->confirmaDisposicion;
}
public function setConfirmaDisposicion(?bool $confirmaDisposicion): static
{
$this->confirmaDisposicion = $confirmaDisposicion;
return $this;
}
public function getFechaNotificacion(): ?\DateTimeInterface
{
return $this->fechaNotificacion;
}
public function setFechaNotificacion(?\DateTimeInterface $fechaNotificacion): static
{
$this->fechaNotificacion = $fechaNotificacion;
return $this;
}
public function getUsuarioSolicita(): ?TerPersona
{
return $this->usuarioSolicita;
}
public function setUsuarioSolicita(?TerPersona $usuarioSolicita): static
{
$this->usuarioSolicita = $usuarioSolicita;
return $this;
}
public function getUsuarioAtiende(): ?TerPersona
{
return $this->usuarioAtiende;
}
public function setUsuarioAtiende(?TerPersona $usuarioAtiende): static
{
$this->usuarioAtiende = $usuarioAtiende;
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
public function getCreateAt(): ?\DateTimeInterface
{
return $this->createAt;
}
public function setCreateAt(\DateTimeInterface $createAt): static
{
$this->createAt = $createAt;
return $this;
}
public function getCreateUser(): ?string
{
return $this->createUser;
}
public function setCreateUser(string $createUser): static
{
$this->createUser = $createUser;
return $this;
}
public function getUpdateAt(): ?\DateTimeInterface
{
return $this->updateAt;
}
public function setUpdateAt(\DateTimeInterface $updateAt): static
{
$this->updateAt = $updateAt;
return $this;
}
public function getUpdateUser(): ?string
{
return $this->updateUser;
}
public function setUpdateUser(string $updateUser): static
{
$this->updateUser = $updateUser;
return $this;
}
public function getUsuarioRecibe(): ?TerPersona
{
return $this->usuarioRecibe;
}
public function setUsuarioRecibe(?TerPersona $usuarioRecibe): static
{
$this->usuarioRecibe = $usuarioRecibe;
return $this;
}
public function getFirmaRecibido(): ?string
{
return $this->firmaRecibido;
}
public function setFirmaRecibido(?string $firmaRecibido): static
{
$this->firmaRecibido = $firmaRecibido;
return $this;
}
public function getFechaRecibido(): ?\DateTimeInterface
{
return $this->fechaRecibido;
}
public function setFechaRecibido(?\DateTimeInterface $fechaRecibido): static
{
$this->fechaRecibido = $fechaRecibido;
return $this;
}
public function getFechaVencimiento(): ?\DateTimeInterface
{
return $this->fechaVencimiento;
}
public function setFechaVencimiento(?\DateTimeInterface $fechaVencimiento): static
{
$this->fechaVencimiento = $fechaVencimiento;
return $this;
}
public function isCambiosDocumento(): ?bool
{
return $this->cambiosDocumento;
}
public function setCambiosDocumento(?bool $cambiosDocumento): static
{
$this->cambiosDocumento = $cambiosDocumento;
return $this;
}
public function getDescripcionCambio(): ?string
{
return $this->descripcionCambio;
}
public function setDescripcionCambio(?string $descripcionCambio): static
{
$this->descripcionCambio = $descripcionCambio;
return $this;
}
/**
* @return Collection<int, RFProrrogaSolicitudDocumento>
*/
public function getProrrogaSolicitudDocumento(): Collection
{
return $this->prorrogaSolicitudDocumento;
}
public function addProrrogaSolicitudDocumento(RFProrrogaSolicitudDocumento $prorrogaSolicitudDocumento): static
{
if (!$this->prorrogaSolicitudDocumento->contains($prorrogaSolicitudDocumento)) {
$this->prorrogaSolicitudDocumento->add($prorrogaSolicitudDocumento);
$prorrogaSolicitudDocumento->setSolicitudDocumento($this);
}
return $this;
}
public function removeProrrogaSolicitudDocumento(RFProrrogaSolicitudDocumento $prorrogaSolicitudDocumento): static
{
if ($this->prorrogaSolicitudDocumento->removeElement($prorrogaSolicitudDocumento)) {
// set the owning side to null (unless already changed)
if ($prorrogaSolicitudDocumento->getSolicitudDocumento() === $this) {
$prorrogaSolicitudDocumento->setSolicitudDocumento(null);
}
}
return $this;
}
/**
* @return Collection<int, RFCambioCustodiaDocumento>
*/
public function getCambioCustodiaDocumento(): Collection
{
return $this->cambioCustodiaDocumento;
}
public function addCambioCustodiaDocumento(RFCambioCustodiaDocumento $cambioCustodiaDocumento): static
{
if (!$this->cambioCustodiaDocumento->contains($cambioCustodiaDocumento)) {
$this->cambioCustodiaDocumento->add($cambioCustodiaDocumento);
$cambioCustodiaDocumento->setSolicitudDocumento($this);
}
return $this;
}
public function removeCambioCustodiaDocumento(RFCambioCustodiaDocumento $cambioCustodiaDocumento): static
{
if ($this->cambioCustodiaDocumento->removeElement($cambioCustodiaDocumento)) {
// set the owning side to null (unless already changed)
if ($cambioCustodiaDocumento->getSolicitudDocumento() === $this) {
$cambioCustodiaDocumento->setSolicitudDocumento(null);
}
}
return $this;
}
public function getUsuarioEntrega(): ?TerPersona
{
return $this->usuarioEntrega;
}
public function setUsuarioEntrega(?TerPersona $usuarioEntrega): static
{
$this->usuarioEntrega = $usuarioEntrega;
return $this;
}
public function getUsuarioConfirmaDevolucion(): ?TerPersona
{
return $this->usuarioConfirmaDevolucion;
}
public function setUsuarioConfirmaDevolucion(?TerPersona $usuarioConfirmaDevolucion): static
{
$this->usuarioConfirmaDevolucion = $usuarioConfirmaDevolucion;
return $this;
}
public function getObservacionDevolucion(): ?string
{
return $this->observacionDevolucion;
}
public function setObservacionDevolucion(?string $observacionDevolucion): static
{
$this->observacionDevolucion = $observacionDevolucion;
return $this;
}
public function isNovedadRegistrada(): ?bool
{
return $this->novedadRegistrada;
}
public function setNovedadRegistrada(?bool $novedadRegistrada): static
{
$this->novedadRegistrada = $novedadRegistrada;
return $this;
}
public function getFoliosEntrega(): ?int
{
return $this->foliosEntrega;
}
public function setFoliosEntrega(?int $foliosEntrega): static
{
$this->foliosEntrega = $foliosEntrega;
return $this;
}
public function getUsuarioDevoluciona(): ?TerPersona
{
return $this->usuarioDevoluciona;
}
public function setUsuarioDevoluciona(?TerPersona $usuarioDevoluciona): static
{
$this->usuarioDevoluciona = $usuarioDevoluciona;
return $this;
}
}