<?php
namespace App\Entity;
use App\Repository\SegVisitanteRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: SegVisitanteRepository::class)]
class SegVisitante
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'visitante')]
private ?SegIngresoVisitante $ingresoVisitante = null;
#[ORM\ManyToOne(inversedBy: 'visitante')]
private ?ParTipoDocumento $tipoDocumento = null;
#[ORM\Column(length: 50)]
private ?string $numeroIdentificacion = null;
#[ORM\Column(length: 255)]
private ?string $nombres = null;
#[ORM\Column(length: 10, nullable: true)]
private ?string $placa = null;
#[ORM\Column(length: 255, nullable:true)]
private ?string $correo = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $seguridadSocial = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $createAt = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $createUser = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $updateAt = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $updateUser = null;
#[ORM\ManyToOne(inversedBy: 'visitante')]
private ?ParARL $arl = null;
#[ORM\Column(length: 100, nullable: true)]
private ?string $vigenciaSeguridadSocial = null;
#[ORM\Column(nullable: true)]
private ?bool $autorizado = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $novedad = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $foto = null;
#[ORM\Column(nullable: true)]
private ?int $numeroCarnet = null;
#[ORM\OneToMany(mappedBy: 'visitante', targetEntity: SegVisitanteElemento::class)]
private Collection $visitanteElementos;
#[ORM\ManyToOne(inversedBy: 'visitantes')]
private ?ParEstado $estado = null;
#[ORM\ManyToOne(inversedBy: 'visitante')]
private ?ParTipoVehiculo $tipoVehiculo = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaIngreso = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaSalida = null;
#[ORM\Column(nullable: true)]
private ?bool $notificadoIngreso = null;
#[ORM\Column(nullable: true)]
private ?bool $salidaCarnet = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacionesSalida = null;
public function __construct()
{
$this->visitanteElementos = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getIngresoVisitante(): ?SegIngresoVisitante
{
return $this->ingresoVisitante;
}
public function setIngresoVisitante(?SegIngresoVisitante $ingresoVisitante): static
{
$this->ingresoVisitante = $ingresoVisitante;
return $this;
}
public function getTipoDocumento(): ?ParTipoDocumento
{
return $this->tipoDocumento;
}
public function setTipoDocumento(?ParTipoDocumento $tipoDocumento): static
{
$this->tipoDocumento = $tipoDocumento;
return $this;
}
public function getNumeroIdentificacion(): ?string
{
return $this->numeroIdentificacion;
}
public function setNumeroIdentificacion(string $numeroIdentificacion): static
{
$this->numeroIdentificacion = $numeroIdentificacion;
return $this;
}
public function getNombres(): ?string
{
return $this->nombres;
}
public function setNombres(string $nombres): static
{
$this->nombres = $nombres;
return $this;
}
public function getPlaca(): ?string
{
return $this->placa;
}
public function setPlaca(?string $placa): static
{
$this->placa = $placa;
return $this;
}
public function getCorreo(): ?string
{
return $this->correo;
}
public function setCorreo(?string $correo): static
{
$this->correo = $correo;
return $this;
}
public function getSeguridadSocial(): ?string
{
return $this->seguridadSocial;
}
public function setSeguridadSocial(?string $seguridadSocial): static
{
$this->seguridadSocial = $seguridadSocial;
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 getArl(): ?ParARL
{
return $this->arl;
}
public function setArl(?ParARL $arl): static
{
$this->arl = $arl;
return $this;
}
public function getVigenciaSeguridadSocial(): ?string
{
return $this->vigenciaSeguridadSocial;
}
public function setVigenciaSeguridadSocial(?string $vigenciaSeguridadSocial): static
{
$this->vigenciaSeguridadSocial = $vigenciaSeguridadSocial;
return $this;
}
public function isAutorizado(): ?bool
{
return $this->autorizado;
}
public function setAutorizado(?bool $autorizado): static
{
$this->autorizado = $autorizado;
return $this;
}
public function getNovedad(): ?string
{
return $this->novedad;
}
public function setNovedad(?string $novedad): static
{
$this->novedad = $novedad;
return $this;
}
public function getFoto(): ?string
{
return $this->foto;
}
public function setFoto(?string $foto): static
{
$this->foto = $foto;
return $this;
}
public function getNumeroCarnet(): ?int
{
return $this->numeroCarnet;
}
public function setNumeroCarnet(?int $numeroCarnet): static
{
$this->numeroCarnet = $numeroCarnet;
return $this;
}
/**
* @return Collection<int, SegVisitanteElemento>
*/
public function getVisitanteElementos(): Collection
{
return $this->visitanteElementos;
}
public function addVisitanteElemento(SegVisitanteElemento $visitanteElemento): static
{
if (!$this->visitanteElementos->contains($visitanteElemento)) {
$this->visitanteElementos->add($visitanteElemento);
$visitanteElemento->setVisitante($this);
}
return $this;
}
public function removeVisitanteElemento(SegVisitanteElemento $visitanteElemento): static
{
if ($this->visitanteElementos->removeElement($visitanteElemento)) {
// set the owning side to null (unless already changed)
if ($visitanteElemento->getVisitante() === $this) {
$visitanteElemento->setVisitante(null);
}
}
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
public function getTipoVehiculo(): ?ParTipoVehiculo
{
return $this->tipoVehiculo;
}
public function setTipoVehiculo(?ParTipoVehiculo $tipoVehiculo): static
{
$this->tipoVehiculo = $tipoVehiculo;
return $this;
}
public function getFechaIngreso(): ?\DateTimeInterface
{
return $this->fechaIngreso;
}
public function setFechaIngreso(?\DateTimeInterface $fechaIngreso): static
{
$this->fechaIngreso = $fechaIngreso;
return $this;
}
public function getFechaSalida(): ?\DateTimeInterface
{
return $this->fechaSalida;
}
public function setFechaSalida(?\DateTimeInterface $fechaSalida): static
{
$this->fechaSalida = $fechaSalida;
return $this;
}
public function isNotificadoIngreso(): ?bool
{
return $this->notificadoIngreso;
}
public function setNotificadoIngreso(?bool $notificadoIngreso): static
{
$this->notificadoIngreso = $notificadoIngreso;
return $this;
}
public function isSalidaCarnet(): ?bool
{
return $this->salidaCarnet;
}
public function setSalidaCarnet(?bool $salidaCarnet): static
{
$this->salidaCarnet = $salidaCarnet;
return $this;
}
public function getObservacionesSalida(): ?string
{
return $this->observacionesSalida;
}
public function setObservacionesSalida(?string $observacionesSalida): static
{
$this->observacionesSalida = $observacionesSalida;
return $this;
}
}