<?php
namespace App\Entity;
use App\Repository\GHCambioContratoRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'gh_cambio_contrato')]
#[ORM\Entity(repositoryClass: GHCambioContratoRepository::class)]
class GHCambioContrato
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'cambioContrato')]
private ?TerPersona $colaborador = null;
#[ORM\ManyToOne(inversedBy: 'cambioContrato')]
private ?TerEmpresa $empresa = null;
#[ORM\ManyToOne(inversedBy: 'cambioContrato')]
private ?TerSedeEmpresa $sede = null;
#[ORM\ManyToOne(inversedBy: 'cambioContrato')]
private ?ParTipoContrato $tipoContrato = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacion = 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: 'cambioContrato')]
private ?ParEstado $estado = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $observacionAprobacion = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaPeriodoPrueba = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $pruebaTecnica = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $examenMedico = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $visitaDomiciliaria = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $contrato = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $cartaNotificacion = null;
#[ORM\Column(nullable: true)]
private ?bool $aproboPeriodoPrueba = null;
#[ORM\ManyToOne(inversedBy: 'solicitaCambioContrato')]
private ?TerPersona $usuarioSolicita = null;
#[ORM\ManyToOne(inversedBy: 'cambioContrato')]
private ?GHPerfilCargo $cargo = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $periodoPrueba = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaFinPeriodoPrueba = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fechaNovedad = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $entrevistaJefe = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $resultadoPruebaTecnica = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $resultadoExamenMedico = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $resultadoVisitaDomiciliaria = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $resultadoOtroSi = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $resultadoCesion = null;
#[ORM\Column(length: 50, nullable: true)]
private ?string $resultadoCarta = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $otroSi = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $cesionContrato = null;
#[ORM\ManyToOne(inversedBy: 'cambioContrato')]
private ?ParMotivoCambio $motivo = null;
#[ORM\Column(type: 'json', nullable: true)]
private ?array $cambio = [];
#[ORM\Column(length: 255, nullable: true)]
private ?string $salario = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $bonoSalarial = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $aprobacionGerenteDirector = null;
public function getId(): ?int
{
return $this->id;
}
public function getColaborador(): ?TerPersona
{
return $this->colaborador;
}
public function setColaborador(?TerPersona $colaborador): static
{
$this->colaborador = $colaborador;
return $this;
}
public function getEmpresa(): ?TerEmpresa
{
return $this->empresa;
}
public function setEmpresa(?TerEmpresa $empresa): static
{
$this->empresa = $empresa;
return $this;
}
public function getSede(): ?TerSedeEmpresa
{
return $this->sede;
}
public function setSede(?TerSedeEmpresa $sede): static
{
$this->sede = $sede;
return $this;
}
public function getTipoContrato(): ?ParTipoContrato
{
return $this->tipoContrato;
}
public function setTipoContrato(?ParTipoContrato $tipoContrato): static
{
$this->tipoContrato = $tipoContrato;
return $this;
}
public function getObservacion(): ?string
{
return $this->observacion;
}
public function setObservacion(?string $observacion): static
{
$this->observacion = $observacion;
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 getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
public function getObservacionAprobacion(): ?string
{
return $this->observacionAprobacion;
}
public function setObservacionAprobacion(?string $observacionAprobacion): static
{
$this->observacionAprobacion = $observacionAprobacion;
return $this;
}
public function getFechaPeriodoPrueba(): ?\DateTimeInterface
{
return $this->fechaPeriodoPrueba;
}
public function setFechaPeriodoPrueba(?\DateTimeInterface $fechaPeriodoPrueba): static
{
$this->fechaPeriodoPrueba = $fechaPeriodoPrueba;
return $this;
}
public function getPruebaTecnica(): ?string
{
return $this->pruebaTecnica;
}
public function setPruebaTecnica(?string $pruebaTecnica): static
{
$this->pruebaTecnica = $pruebaTecnica;
return $this;
}
public function getExamenMedico(): ?string
{
return $this->examenMedico;
}
public function setExamenMedico(?string $examenMedico): static
{
$this->examenMedico = $examenMedico;
return $this;
}
public function getVisitaDomiciliaria(): ?string
{
return $this->visitaDomiciliaria;
}
public function setVisitaDomiciliaria(?string $visitaDomiciliaria): static
{
$this->visitaDomiciliaria = $visitaDomiciliaria;
return $this;
}
public function getContrato(): ?string
{
return $this->contrato;
}
public function setContrato(?string $contrato): static
{
$this->contrato = $contrato;
return $this;
}
public function getCartaNotificacion(): ?string
{
return $this->cartaNotificacion;
}
public function setCartaNotificacion(?string $cartaNotificacion): static
{
$this->cartaNotificacion = $cartaNotificacion;
return $this;
}
public function isAproboPeriodoPrueba(): ?bool
{
return $this->aproboPeriodoPrueba;
}
public function setAproboPeriodoPrueba(?bool $aproboPeriodoPrueba): static
{
$this->aproboPeriodoPrueba = $aproboPeriodoPrueba;
return $this;
}
public function getUsuarioSolicita(): ?TerPersona
{
return $this->usuarioSolicita;
}
public function setUsuarioSolicita(?TerPersona $usuarioSolicita): static
{
$this->usuarioSolicita = $usuarioSolicita;
return $this;
}
/**
* @return GHPerfilCargo|null
*/
public function getCargo(): ?GHPerfilCargo
{
return $this->cargo;
}
/**
* @param GHPerfilCargo|null $cargo
*/
public function setCargo(?GHPerfilCargo $cargo): void
{
$this->cargo = $cargo;
}
public function getPeriodoPrueba(): ?string
{
return $this->periodoPrueba;
}
public function setPeriodoPrueba(?string $periodoPrueba): static
{
$this->periodoPrueba = $periodoPrueba;
return $this;
}
public function getFechaFinPeriodoPrueba(): ?\DateTimeInterface
{
return $this->fechaFinPeriodoPrueba;
}
public function setFechaFinPeriodoPrueba(?\DateTimeInterface $fechaFinPeriodoPrueba): static
{
$this->fechaFinPeriodoPrueba = $fechaFinPeriodoPrueba;
return $this;
}
public function getFechaNovedad(): ?\DateTimeInterface
{
return $this->fechaNovedad;
}
public function setFechaNovedad(?\DateTimeInterface $fechaNovedad): static
{
$this->fechaNovedad = $fechaNovedad;
return $this;
}
public function getEntrevistaJefe(): ?string
{
return $this->entrevistaJefe;
}
public function setEntrevistaJefe(?string $entrevistaJefe): static
{
$this->entrevistaJefe = $entrevistaJefe;
return $this;
}
public function getResultadoPruebaTecnica(): ?string
{
return $this->resultadoPruebaTecnica;
}
public function setResultadoPruebaTecnica(?string $resultadoPruebaTecnica): static
{
$this->resultadoPruebaTecnica = $resultadoPruebaTecnica;
return $this;
}
public function getResultadoExamenMedico(): ?string
{
return $this->resultadoExamenMedico;
}
public function setResultadoExamenMedico(?string $resultadoExamenMedico): static
{
$this->resultadoExamenMedico = $resultadoExamenMedico;
return $this;
}
public function getResultadoVisitaDomiciliaria(): ?string
{
return $this->resultadoVisitaDomiciliaria;
}
public function setResultadoVisitaDomiciliaria(?string $resultadoVisitaDomiciliaria): static
{
$this->resultadoVisitaDomiciliaria = $resultadoVisitaDomiciliaria;
return $this;
}
public function getResultadoOtroSi(): ?string
{
return $this->resultadoOtroSi;
}
public function setResultadoOtroSi(?string $resultadoOtroSi): static
{
$this->resultadoOtroSi = $resultadoOtroSi;
return $this;
}
public function getResultadoCesion(): ?string
{
return $this->resultadoCesion;
}
public function setResultadoCesion(?string $resultadoCesion): static
{
$this->resultadoCesion = $resultadoCesion;
return $this;
}
public function getResultadoCarta(): ?string
{
return $this->resultadoCarta;
}
public function setResultadoCarta(?string $resultadoCarta): static
{
$this->resultadoCarta = $resultadoCarta;
return $this;
}
public function getOtroSi(): ?string
{
return $this->otroSi;
}
public function setOtroSi(?string $otroSi): static
{
$this->otroSi = $otroSi;
return $this;
}
public function getCesionContrato(): ?string
{
return $this->cesionContrato;
}
public function setCesionContrato(?string $cesionContrato): static
{
$this->cesionContrato = $cesionContrato;
return $this;
}
public function getMotivo(): ?ParMotivoCambio
{
return $this->motivo;
}
public function setMotivo(?ParMotivoCambio $motivo): static
{
$this->motivo = $motivo;
return $this;
}
/**
* @return array
*/
public function getCambio(): array
{
return $this->cambio;
}
/**
* @param array $cambio
*/
public function setCambio(?array $cambio): void
{
$this->cambio = $cambio ?? [];
}
public function getSalario(): ?string
{
return $this->salario;
}
public function setSalario(?string $salario): static
{
$this->salario = $salario;
return $this;
}
public function getBonoSalarial(): ?string
{
return $this->bonoSalarial;
}
public function setBonoSalarial(?string $bonoSalarial): static
{
$this->bonoSalarial = $bonoSalarial;
return $this;
}
public function getAprobacionGerenteDirector(): ?string
{
return $this->aprobacionGerenteDirector;
}
public function setAprobacionGerenteDirector(?string $aprobacionGerenteDirector): static
{
$this->aprobacionGerenteDirector = $aprobacionGerenteDirector;
return $this;
}
}