<?php
namespace App\Entity;
use App\Repository\GHContratacionRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use phpDocumentor\Reflection\Types\Static_;
#[ORM\Table(name: 'gh_contratacion')]
#[ORM\Entity(repositoryClass: GHContratacionRepository::class)]
class GHContratacion {
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(nullable:true)]
private ?bool $apruebaCondiciones = null;
#[ORM\Column(length: 255,nullable:true)]
private ?string $firma = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable:true)]
private ?\DateTimeInterface $fechaIngreso = null;
#[ORM\ManyToOne(inversedBy: 'contratacion')]
private ?GHCandidato $candidato = null;
#[ORM\ManyToOne(inversedBy: 'contratacion')]
private ?GHVacante $vacante = null;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHAfiliacionContratacion::class)]
private Collection $afiliacion;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHCarnetizacion::class)]
private Collection $carnetizacion;
#[ORM\ManyToOne(inversedBy: 'idContratacion')]
private ?ParCiudad $ciudad = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $Observaciones = null;
#[ORM\Column]
private ?\DateTime $createAt = null;
#[ORM\Column]
private ?\DateTime $updateAt = null;
#[ORM\Column(length: 55)]
private ?string $createUser = null;
#[ORM\Column(length: 55)]
private ?string $updateUser = null;
#[ORM\OneToOne(mappedBy: 'contratacion')]
private ?GHContrato $contrato = null;
#[ORM\ManyToOne(inversedBy: 'contratacion')]
private ?ParEstado $estado = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $salario = null;
#[ORM\Column(type: 'json', nullable: true)]
private ?array $auxilioTransporte = null;
#[ORM\Column(nullable: true)]
private ?bool $dotacion = null;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHSolicitudDotacion::class, cascade: ['remove'], orphanRemoval: true)]
private Collection $solicitudDotacion;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHDocumentoContratacion::class)]
private Collection $documentoContratacion;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHExamenPeriodico::class)]
private Collection $examenPeriodico;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHVisitaPeriodica::class)]
private Collection $visitaPeriodica;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHProcesoDisciplinario::class)]
private Collection $procesoDisciplinario;
#[ORM\ManyToMany(targetEntity: GHNovedadNomina::class, mappedBy: 'contratacion')]
private Collection $novedadNomina;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHDesvinculacion::class)]
private Collection $desvinculacion;
#[ORM\ManyToOne(inversedBy: 'contratacion')]
private ?ParModalidadTrabajo $modalidadTrabajo = null;
#[ORM\ManyToOne(inversedBy: 'contratacion', targetEntity: ParRiesgosARL::class)]
private ?ParRiesgosARL $riesgosARL = null;
#[ORM\OneToMany(mappedBy: 'contratacion', targetEntity: GHPeriodoPrueba::class, cascade: ['remove'], orphanRemoval: true)]
private Collection $periodoPrueba;
#[ORM\Column(length: 255, nullable: true)]
private ?string $valorPrestacional = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $valorPrestacionalEx = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $valorPrestacionalBno = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $valorPrestacionalCel = null;
#[ORM\ManyToOne(targetEntity: TerEmpresa::class)]
#[ORM\JoinColumn(nullable: true)]
private ?TerEmpresa $empresa = null;
#[ORM\ManyToOne(inversedBy: 'condicionesContratacionJefeInm')]
private ?TerPersona $JefeInmediatoC = null;
#[ORM\ManyToOne(inversedBy: 'condicionesContratacionAprobador')]
private ?TerPersona $Aprobador = null;
#[ORM\Column(nullable: true)]
private ?bool $condicionContratacion = null;
#[ORM\Column(nullable: true)]
private ?bool $confirmarContratacion = null;
#[ORM\Column(nullable: true)]
private ?bool $gestionContrato = null;
#[ORM\Column(nullable: true)]
private ?bool $recursosPerfil = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaCondiciones = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaConfirmacionContrato = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $usuarioCondicionesContratacion = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $usuarioConfirmarContratacion = null;
public function getCreateAt(): ?\DateTime {
return $this->createAt;
}
public function setCreateAt(\DateTime $createAt): static {
$this->createAt = $createAt;
return $this;
}
public function getUpdateAt(): ?\DateTime {
return $this->updateAt;
}
public function setUpdateAt(\DateTime $updateAt): static {
$this->updateAt = $updateAt;
return $this;
}
public function getCreateUser(): ?string {
return $this->createUser;
}
public function setCreateUser(string $createUser): static {
$this->createUser = $createUser;
return $this;
}
public function getUpdateUser(): ?string {
return $this->updateUser;
}
public function setUpdateUser(string $updateUser): static {
$this->updateUser = $updateUser;
return $this;
}
public function __construct() {
$this->entrevistaRetiro = new ArrayCollection();
$this->afiliacion = new ArrayCollection();
$this->idContrato = new ArrayCollection();
$this->carnetizacion = new ArrayCollection();
$this->solicitudDotacion = new ArrayCollection();
$this->documentoContratacion = new ArrayCollection();
$this->examenPeriodico = new ArrayCollection();
$this->visitaPeriodica = new ArrayCollection();
$this->procesoDisciplinario = new ArrayCollection();
$this->novedadNomina = new ArrayCollection();
$this->desvinculacion = new ArrayCollection();
$this->periodoPrueba = new ArrayCollection();
}
public function getId(): ?int {
return $this->id;
}
public function isApruebaCondiciones(): ?bool {
return $this->apruebaCondiciones;
}
public function setApruebaCondiciones(bool $apruebaCondiciones): static {
$this->apruebaCondiciones = $apruebaCondiciones;
return $this;
}
public function getFirma(): ?string {
return $this->firma;
}
public function setFirma(string $firma): static {
$this->firma = $firma;
return $this;
}
public function getFechaIngreso(): ?\DateTimeInterface {
return $this->fechaIngreso;
}
public function setFechaIngreso(\DateTimeInterface $fechaIngreso): static {
$this->fechaIngreso = $fechaIngreso;
return $this;
}
public function getCandidato(): ?GHCandidato {
return $this->candidato;
}
public function setCandidato(?GHCandidato $candidato): static {
$this->candidato = $candidato;
return $this;
}
public function getVacante(): ?GHVacante {
return $this->vacante;
}
public function setVacante(?GHVacante $vacante): static {
$this->vacante = $vacante;
return $this;
}
/**
* @return Collection<int, GHAfiliacionContratacion>
*/
public function getAfiliacion(): Collection {
return $this->afiliacion;
}
public function addAfiliacion(GHAfiliacionContratacion $afiliacion): static {
if (!$this->afiliacion->contains($afiliacion)) {
$this->afiliacion->add($afiliacion);
$afiliacion->setContratacion($this);
}
return $this;
}
public function removeAfiliacion(GHAfiliacionContratacion $afiliacion): static {
if ($this->afiliacion->removeElement($afiliacion)) {
// set the owning side to null (unless already changed)
if ($afiliacion->getContratacion() === $this) {
$afiliacion->setContratacion(null);
}
}
return $this;
}
/**
* @return Collection<int, GHCarnetizacion>
*/
public function getCarnetizacion(): Collection {
return $this->carnetizacion;
}
public function addCarnetizacion(GHCarnetizacion $carnetizacion): static {
if (!$this->carnetizacion->contains($carnetizacion)) {
$this->carnetizacion->add($carnetizacion);
$carnetizacion->setContratacion($this);
}
return $this;
}
public function removeCarnetizacion(GHCarnetizacion $carnetizacion): static {
if ($this->carnetizacion->removeElement($carnetizacion)) {
// set the owning side to null (unless already changed)
if ($carnetizacion->getContratacion() === $this) {
$carnetizacion->setContratacion(null);
}
}
return $this;
}
public function getCiudad(): ?ParCiudad {
return $this->ciudad;
}
public function getObservaciones(): ?string
{
return $this->Observaciones;
}
public function setObservaciones(?string $Observaciones): void
{
$this->Observaciones = $Observaciones;
}
public function setCiudad(?ParCiudad $ciudad): static {
$this->ciudad = $ciudad;
return $this;
}
public function getContrato(): ?GHContrato
{
return $this->contrato;
}
public function setContrato(?GHContrato $contrato): static
{
// unset the owning side of the relation if necessary
if ($contrato === null && $this->contrato !== null) {
$this->contrato->setContratacion(null);
}
// set the owning side of the relation if necessary
if ($contrato !== null && $contrato->getContratacion() !== $this) {
$contrato->setContratacion($this);
}
$this->contrato = $contrato;
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
public function getSalario(): ?string
{
return $this->salario;
}
public function setSalario(string $salario): static
{
$this->salario = $salario;
return $this;
}
public function getAuxilioTransporte(): ?array
{
return $this->auxilioTransporte;
}
public function setAuxilioTransporte(?array $auxilioTransporte): static
{
$this->auxilioTransporte = $auxilioTransporte;
return $this;
}
/**
* @return string|null
*/
public function getValorPrestacionalEx(): ?string
{
return $this->valorPrestacionalEx;
}
/**
* @param string|null $valorPrestacionalEx
*/
public function setValorPrestacionalEx(?string $valorPrestacionalEx): void
{
$this->valorPrestacionalEx = $valorPrestacionalEx;
}
/**
* @return string|null
*/
public function getValorPrestacionalBno(): ?string
{
return $this->valorPrestacionalBno;
}
/**
* @param string|null $valorPrestacionalBno
*/
public function setValorPrestacionalBno(?string $valorPrestacionalBno): void
{
$this->valorPrestacionalBno = $valorPrestacionalBno;
}
/**
* @return string|null
*/
public function getValorPrestacionalCel(): ?string
{
return $this->valorPrestacionalCel;
}
/**
* @param string|null $valorPrestacionalCel
*/
public function setValorPrestacionalCel(?string $valorPrestacionalCel): void
{
$this->valorPrestacionalCel = $valorPrestacionalCel;
}
public function isDotacion(): ?bool
{
return $this->dotacion;
}
public function setDotacion(?bool $dotacion): static
{
$this->dotacion = $dotacion;
return $this;
}
/**
* @return Collection<int, GHSolicitudDotacion>
*/
public function getSolicitudDotacion(): Collection
{
return $this->solicitudDotacion;
}
public function addSolicitudDotacion(GHSolicitudDotacion $solicitudDotacion): static
{
if (!$this->solicitudDotacion->contains($solicitudDotacion)) {
$this->solicitudDotacion->add($solicitudDotacion);
$solicitudDotacion->setContratacion($this);
}
return $this;
}
public function removeSolicitudDotacion(GHSolicitudDotacion $solicitudDotacion): static
{
if ($this->solicitudDotacion->removeElement($solicitudDotacion)) {
// set the owning side to null (unless already changed)
if ($solicitudDotacion->getContratacion() === $this) {
$solicitudDotacion->setContratacion(null);
}
}
return $this;
}
/**
* @return Collection<int, GHDocumentoContratacion>
*/
public function getDocumentoContratacion(): Collection
{
return $this->documentoContratacion;
}
public function addDocumentoContratacion(GHDocumentoContratacion $documentoContratacion): static
{
if (!$this->documentoContratacion->contains($documentoContratacion)) {
$this->documentoContratacion->add($documentoContratacion);
$documentoContratacion->setContratacion($this);
}
return $this;
}
public function removeDocumentoContratacion(GHDocumentoContratacion $documentoContratacion): static
{
if ($this->documentoContratacion->removeElement($documentoContratacion)) {
// set the owning side to null (unless already changed)
if ($documentoContratacion->getContratacion() === $this) {
$documentoContratacion->setContratacion(null);
}
}
return $this;
}
/**
* @return Collection<int, GHExamenPeriodico>
*/
public function getExamenPeriodico(): Collection
{
return $this->examenPeriodico;
}
public function addExamenPeriodico(GHExamenPeriodico $examenPeriodico): static
{
if (!$this->examenPeriodico->contains($examenPeriodico)) {
$this->examenPeriodico->add($examenPeriodico);
$examenPeriodico->setContratacion($this);
}
return $this;
}
public function removeExamenPeriodico(GHExamenPeriodico $examenPeriodico): static
{
if ($this->examenPeriodico->removeElement($examenPeriodico)) {
// set the owning side to null (unless already changed)
if ($examenPeriodico->getContratacion() === $this) {
$examenPeriodico->setContratacion(null);
}
}
return $this;
}
/**
* @return Collection<int, GHVisitaPeriodica>
*/
public function getVisitaPeriodica(): Collection
{
return $this->visitaPeriodica;
}
public function addVisitaPeriodica(GHVisitaPeriodica $visitaPeriodica): static
{
if (!$this->visitaPeriodica->contains($visitaPeriodica)) {
$this->visitaPeriodica->add($visitaPeriodica);
$visitaPeriodica->setContratacion($this);
}
return $this;
}
public function removeVisitaPeriodica(GHVisitaPeriodica $visitaPeriodica): static
{
if ($this->visitaPeriodica->removeElement($visitaPeriodica)) {
// set the owning side to null (unless already changed)
if ($visitaPeriodica->getContratacion() === $this) {
$visitaPeriodica->setContratacion(null);
}
}
return $this;
}
/**
* @return Collection<int, GHProcesoDiciplinario>
*/
public function getProcesoDisciplinario(): Collection
{
return $this->procesoDisciplinario;
}
public function addProcesoDisciplinario(GHProcesoDisciplinario $procesoDisciplinario): static
{
if (!$this->procesoDisciplinario->contains($procesoDisciplinario)) {
$this->procesoDisciplinario->add($procesoDisciplinario);
$procesoDisciplinario->setContratacion($this);
}
return $this;
}
public function removeProcesoDisciplinario(GHProcesoDisciplinario $procesoDisciplinario): static
{
if ($this->procesoDisciplinario->removeElement($procesoDisciplinario)) {
// set the owning side to null (unless already changed)
if ($procesoDisciplinario->getContratacion() === $this) {
$procesoDisciplinario->setContratacion(null);
}
}
return $this;
}
/**
* @return Collection<int, GHNovedadNomina>
*/
public function getNovedadNomina(): Collection
{
return $this->novedadNomina;
}
public function addNovedadNomina(GHNovedadNomina $novedadNomina): static
{
if (!$this->novedadNomina->contains($novedadNomina)) {
$this->novedadNomina->add($novedadNomina);
$novedadNomina->addContratacion($this);
}
return $this;
}
public function removeNovedadNomina(GHNovedadNomina $novedadNomina): static
{
if ($this->novedadNomina->removeElement($novedadNomina)) {
$novedadNomina->removeContratacion($this);
}
return $this;
}
/**
* @return Collection<int, GHDesvinculacion>
*/
public function getDesvinculacion(): Collection
{
return $this->desvinculacion;
}
public function addDesvinculacion(GHDesvinculacion $desvinculacion): static
{
if (!$this->desvinculacion->contains($desvinculacion)) {
$this->desvinculacion->add($desvinculacion);
$desvinculacion->setContratacion($this);
}
return $this;
}
public function removeDesvinculacion(GHDesvinculacion $desvinculacion): static
{
if ($this->desvinculacion->removeElement($desvinculacion)) {
// set the owning side to null (unless already changed)
if ($desvinculacion->getContratacion() === $this) {
$desvinculacion->setContratacion(null);
}
}
return $this;
}
public function getModalidadTrabajo(): ?ParModalidadTrabajo
{
return $this->modalidadTrabajo;
}
public function setModalidadTrabajo(?ParModalidadTrabajo $modalidadTrabajo): static
{
$this->modalidadTrabajo = $modalidadTrabajo;
return $this;
}
/**
* @return ParRiesgosARL|null
*/
public function getRiesgosARL(): ?ParRiesgosARL
{
return $this->riesgosARL;
}
/**
* @param ParRiesgosARL|null $riesgosARL
*/
public function setRiesgosARL(?ParRiesgosARL $riesgosARL): void
{
$this->riesgosARL = $riesgosARL;
}
/**
* @return Collection<int, GHPeriodoPrueba>
*/
public function getPeriodoPrueba(): Collection
{
return $this->periodoPrueba;
}
public function addPeriodoPrueba(GHPeriodoPrueba $periodoPrueba): static
{
if (!$this->periodoPrueba->contains($periodoPrueba)) {
$this->periodoPrueba->add($periodoPrueba);
$periodoPrueba->setContratacion($this);
}
return $this;
}
public function removePeriodoPrueba(GHPeriodoPrueba $periodoPrueba): static
{
if ($this->periodoPrueba->removeElement($periodoPrueba)) {
// set the owning side to null (unless already changed)
if ($periodoPrueba->getContratacion() === $this) {
$periodoPrueba->setContratacion(null);
}
}
return $this;
}
/**
* @return string|null
*/
public function getValorPrestacional(): ?string
{
return $this->valorPrestacional;
}
/**
* @param string|null $valorPrestacional
*/
public function setValorPrestacional(?string $valorPrestacional): void
{
$this->valorPrestacional = $valorPrestacional;
}
public function getEmpresa(): ?TerEmpresa {
return $this->empresa;
}
public function setEmpresa(?TerEmpresa $empresa): static {
$this->empresa = $empresa;
return $this;
}
public function getJefeInmediatoC(): ?TerPersona
{
return $this->JefeInmediatoC;
}
public function setJefeInmediatoC(?TerPersona $JefeInmediatoC): static
{
$this->JefeInmediatoC = $JefeInmediatoC;
return $this;
}
public function getAprobador(): ?TerPersona
{
return $this->Aprobador;
}
public function setAprobador(?TerPersona $Aprobador): static
{
$this->Aprobador = $Aprobador;
return $this;
}
public function isCondicionContratacion(): ?bool
{
return $this->condicionContratacion;
}
public function setCondicionContratacion(?bool $condicionContratacion): static
{
$this->condicionContratacion = $condicionContratacion;
return $this;
}
public function isConfirmarContratacion(): ?bool
{
return $this->confirmarContratacion;
}
public function setConfirmarContratacion(?bool $confirmarContratacion): static
{
$this->confirmarContratacion = $confirmarContratacion;
return $this;
}
public function isGestionContrato(): ?bool
{
return $this->gestionContrato;
}
public function setGestionContrato(?bool $gestionContrato): static
{
$this->gestionContrato = $gestionContrato;
return $this;
}
public function isRecursosPerfil(): ?bool
{
return $this->recursosPerfil;
}
public function setRecursosPerfil(?bool $recursosPerfil): static
{
$this->recursosPerfil = $recursosPerfil;
return $this;
}
public function getFechaCondiciones(): ?\DateTimeInterface
{
return $this->fechaCondiciones;
}
public function setFechaCondiciones(?\DateTimeInterface $fechaCondiciones): static
{
$this->fechaCondiciones = $fechaCondiciones;
return $this;
}
public function getFechaConfirmacionContrato(): ?\DateTimeInterface
{
return $this->fechaConfirmacionContrato;
}
public function setFechaConfirmacionContrato(?\DateTimeInterface $fechaConfirmacionContrato): static
{
$this->fechaConfirmacionContrato = $fechaConfirmacionContrato;
return $this;
}
public function getUsuarioCondicionesContratacion(): ?string
{
return $this->usuarioCondicionesContratacion;
}
public function setUsuarioCondicionesContratacion(?string $usuarioCondicionesContratacion): static
{
$this->usuarioCondicionesContratacion = $usuarioCondicionesContratacion;
return $this;
}
public function getUsuarioConfirmarContratacion(): ?string
{
return $this->usuarioConfirmarContratacion;
}
public function setUsuarioConfirmarContratacion(?string $usuarioConfirmarContratacion): static
{
$this->usuarioConfirmarContratacion = $usuarioConfirmarContratacion;
return $this;
}
}