<?php
namespace App\Entity;
use App\Repository\SegSolicitudCCTVRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: SegSolicitudCCTVRepository::class)]
class SegSolicitudCCTV
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $fechaSolicitud = null;
#[ORM\ManyToOne(inversedBy: 'solicitanteCCTV')]
private ?TerPersona $solicitante = null;
#[ORM\ManyToOne(inversedBy: 'solicitudCCTV')]
private ?ParProceso $proceso = null;
#[ORM\ManyToOne(inversedBy: 'solicitudCCTV')]
private ?TerEmpresaCliente $cliente = null;
#[ORM\Column(length: 255)]
private ?string $OT = null;
#[ORM\Column(length: 255)]
private ?string $ubicacion = null;
#[ORM\Column(length: 255)]
private ?string $periodoVerificar = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $situacion = 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\OneToMany(mappedBy: 'solicitudCCTV', targetEntity: SegSolicitudCCTVEvidencia::class)]
private Collection $solicitudCCTVEvidencia;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $descripcionRevision = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $reporteCCTV = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $linkConsulta = null;
#[ORM\Column(nullable: true)]
private ?bool $informacionAdicional = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacionSolicitante = null;
#[ORM\ManyToOne(inversedBy: 'solicitudCCTV')]
private ?ParEstado $estado = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $tiempoRevision = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaNovedad = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $horarioNovedad = null;
#[ORM\OneToMany(mappedBy: 'solicitudCCTV', targetEntity: SegSolicitudCCTVReporte::class)]
private Collection $solicitudCCTVReportes;
#[ORM\Column(length: 255, nullable: true)]
private ?string $placaVehiculo = null;
public function __construct()
{
$this->solicitudCCTVEvidencia = new ArrayCollection();
$this->solicitudCCTVReportes = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getFechaSolicitud(): ?\DateTimeInterface
{
return $this->fechaSolicitud;
}
public function setFechaSolicitud(\DateTimeInterface $fechaSolicitud): static
{
$this->fechaSolicitud = $fechaSolicitud;
return $this;
}
public function getSolicitante(): ?TerPersona
{
return $this->solicitante;
}
public function setSolicitante(?TerPersona $solicitante): static
{
$this->solicitante = $solicitante;
return $this;
}
public function getProceso(): ?ParProceso
{
return $this->proceso;
}
public function setProceso(?ParProceso $proceso): static
{
$this->proceso = $proceso;
return $this;
}
public function getCliente(): ?TerEmpresaCliente
{
return $this->cliente;
}
public function setCliente(?TerEmpresaCliente $cliente): self
{
$this->cliente = $cliente;
return $this;
}
public function getOT(): ?string
{
return $this->OT;
}
public function setOT(string $OT): static
{
$this->OT = $OT;
return $this;
}
public function getUbicacion(): ?string
{
return $this->ubicacion;
}
public function setUbicacion(string $ubicacion): static
{
$this->ubicacion = $ubicacion;
return $this;
}
public function getPeriodoVerificar(): ?string
{
return $this->periodoVerificar;
}
public function setPeriodoVerificar(string $periodoVerificar): static
{
$this->periodoVerificar = $periodoVerificar;
return $this;
}
public function getSituacion(): ?string
{
return $this->situacion;
}
public function setSituacion(string $situacion): static
{
$this->situacion = $situacion;
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;
}
/**
* @return Collection<int, SegSolicitudCCTVEvidencia>
*/
public function getSolicitudCCTVEvidencia(): Collection
{
return $this->solicitudCCTVEvidencia;
}
public function addSolicitudCCTVEvidencium(SegSolicitudCCTVEvidencia $solicitudCCTVEvidencium): static
{
if (!$this->solicitudCCTVEvidencia->contains($solicitudCCTVEvidencium)) {
$this->solicitudCCTVEvidencia->add($solicitudCCTVEvidencium);
$solicitudCCTVEvidencium->setSolicitudCCTV($this);
}
return $this;
}
public function removeSolicitudCCTVEvidencium(SegSolicitudCCTVEvidencia $solicitudCCTVEvidencium): static
{
if ($this->solicitudCCTVEvidencia->removeElement($solicitudCCTVEvidencium)) {
// set the owning side to null (unless already changed)
if ($solicitudCCTVEvidencium->getSolicitudCCTV() === $this) {
$solicitudCCTVEvidencium->setSolicitudCCTV(null);
}
}
return $this;
}
public function getDescripcionRevision(): ?string
{
return $this->descripcionRevision;
}
public function setDescripcionRevision(?string $descripcionRevision): static
{
$this->descripcionRevision = $descripcionRevision;
return $this;
}
public function getReporteCCTV(): ?string
{
return $this->reporteCCTV;
}
public function setReporteCCTV(?string $reporteCCTV): static
{
$this->reporteCCTV = $reporteCCTV;
return $this;
}
public function getLinkConsulta(): ?string
{
return $this->linkConsulta;
}
public function setLinkConsulta(?string $linkConsulta): static
{
$this->linkConsulta = $linkConsulta;
return $this;
}
public function isInformacionAdicional(): ?bool
{
return $this->informacionAdicional;
}
public function setInformacionAdicional(?bool $informacionAdicional): static
{
$this->informacionAdicional = $informacionAdicional;
return $this;
}
public function getObservacionSolicitante(): ?string
{
return $this->observacionSolicitante;
}
public function setObservacionSolicitante(?string $observacionSolicitante): static
{
$this->observacionSolicitante = $observacionSolicitante;
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
public function getTiempoRevision(): ?string
{
return $this->tiempoRevision;
}
public function setTiempoRevision(?string $tiempoRevision): static
{
$this->tiempoRevision = $tiempoRevision;
return $this;
}
public function getFechaNovedad(): ?\DateTimeInterface
{
return $this->fechaNovedad;
}
public function setFechaNovedad(?\DateTimeInterface $fechaNovedad): static
{
$this->fechaNovedad = $fechaNovedad;
return $this;
}
public function getHorarioNovedad(): ?string
{
return $this->horarioNovedad;
}
public function setHorarioNovedad(?string $horarioNovedad): static
{
$this->horarioNovedad = $horarioNovedad;
return $this;
}
/**
* @return Collection<int, SegSolicitudCCTVReporte>
*/
public function getSolicitudCCTVReportes(): Collection
{
return $this->solicitudCCTVReportes;
}
public function addSolicitudCCTVReporte(SegSolicitudCCTVReporte $solicitudCCTVReporte): static
{
if (!$this->solicitudCCTVReportes->contains($solicitudCCTVReporte)) {
$this->solicitudCCTVReportes->add($solicitudCCTVReporte);
$solicitudCCTVReporte->setSolicitudCCTV($this);
}
return $this;
}
public function removeSolicitudCCTVReporte(SegSolicitudCCTVReporte $solicitudCCTVReporte): static
{
if ($this->solicitudCCTVReportes->removeElement($solicitudCCTVReporte)) {
// set the owning side to null (unless already changed)
if ($solicitudCCTVReporte->getSolicitudCCTV() === $this) {
$solicitudCCTVReporte->setSolicitudCCTV(null);
}
}
return $this;
}
public function getPlacaVehiculo(): ?string
{
return $this->placaVehiculo;
}
public function setPlacaVehiculo(?string $placaVehiculo): static
{
$this->placaVehiculo = $placaVehiculo;
return $this;
}
}