<?php
namespace App\Entity;
use App\Repository\GHPerfilCargoRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'gh_peril_cargo')]
#[ORM\Entity(repositoryClass: GHPerfilCargoRepository::class)]
class GHPerfilCargo {
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $resumenCargo = null;
#[ORM\Column(length: 255)]
private ?string $rangoSalarial = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $responsabilidades = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $funciones = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $proposito = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $relacionesExternas = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $formacionExperiencia = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $conocimientosEspecificos = null;
#[ORM\ManyToMany(targetEntity: TerEmpresa::class, inversedBy: 'perfilCargo')]
private Collection $empresaFilial;
#[ORM\ManyToOne(inversedBy: 'idPerfilCargo')]
private ?ParSubproceso $subprocesoId = null;
#[ORM\ManyToOne(inversedBy: 'idPerfilCargo')]
private ?ParNivelAutoridad $ParNivelAutoridad = null;
#[ORM\ManyToOne(inversedBy: 'idPerfilCargo')]
private ?ParCriticidad $ParCriticidad = null;
#[ORM\ManyToOne(inversedBy: 'idPerfilCargo')]
private ?ParTipoPerfil $ParTipoPerfil = null;
#[ORM\ManyToOne(inversedBy: 'perfilCargo')]
private ?ParCargo $cargo = null;
#[ORM\ManyToOne(inversedBy: 'idPerfilCargo')]
private ?ParProceso $ParProceso = null;
#[ORM\OneToMany(mappedBy: 'perfilCargo', targetEntity: GHVacante::class)]
private Collection $vacante;
#[ORM\OneToMany(mappedBy: 'perfilCargo', targetEntity: TerPersona::class)]
private Collection $persona;
#[ORM\ManyToMany(targetEntity: ParCargo::class, inversedBy: 'perfilPersonalCargo')]
private Collection $personalCargo;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $educacion = null;
// Jefe inmediato como cargo (par_cargo): ver $jefeInmediatoCargo
// Cargo aprobador (par_cargo): ver $cargoAprueba
/**
* Persona que aprueba el perfil (relación original con TerPersona, se mantiene por compatibilidad).
* Para la relación con cargo aprobador usar $cargoAprueba.
*/
#[ORM\ManyToOne(inversedBy: 'perfilCargoAprueba')]
private ?TerPersona $personaAprueba = null;
/**
* Jefe inmediato como persona (relación original con TerPersona, se mantiene por compatibilidad).
* Para la relación con cargo jefe usar $jefeInmediatoCargo.
*/
#[ORM\ManyToOne(inversedBy: 'perfilCargoJefe')]
private ?TerPersona $jefeInmediato = null;
#[ORM\ManyToMany(targetEntity: ParProceso::class, inversedBy: 'perfilCargoRelaciones')]
private Collection $relacionesInternas;
#[ORM\Column(nullable: true)]
private ?bool $pruebaTecnica = null;
#[ORM\ManyToMany(targetEntity: TerEmpresa::class, inversedBy: 'perfilCargoServicios')]
#[ORM\JoinTable(name: 'ghperfil_cargo_empresa_servicios')]
private Collection $empresaServicios;
#[ORM\ManyToMany(targetEntity: TerSedeEmpresa::class, inversedBy: 'perfilCargos')]
private Collection $sede;
#[ORM\ManyToMany(targetEntity: ParNivelEducativo::class, inversedBy: 'idPerfilCargo')]
private Collection $ParNivelEducativo;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $experiencia = null;
#[ORM\ManyToMany(targetEntity: ParCompetenciaOrganizacional::class, inversedBy: 'perfilCargo')]
private Collection $competenciasOrganizacionales;
#[ORM\ManyToMany(targetEntity: ParCompetenciaFuncional::class, inversedBy: 'perfilCargo')]
private Collection $competenciasFuncionales;
#[ORM\ManyToMany(targetEntity: ParTipoContrato::class, inversedBy: 'perfilCargo')]
private Collection $tipoContrato;
#[ORM\ManyToMany(targetEntity: ParTipoVinculacion::class, inversedBy: 'perfilCargo')]
private Collection $vinculacion;
#[ORM\ManyToMany(targetEntity: ParSistemaInformatico::class, inversedBy: 'perfilCargo')]
private Collection $sistemaInformacion;
#[ORM\ManyToMany(targetEntity: ParRecursosPerfil::class, inversedBy: 'perfilCargo')]
private Collection $recursos;
#[ORM\Column(length: 255, nullable: true)]
private ?string $archivo = null;
#[ORM\ManyToOne(inversedBy: 'perfilCargo')]
private ?ParEstado $estado = null;
#[ORM\OneToMany(mappedBy: 'perfilCargo', targetEntity: GHPerfilCargoRelaciones::class)]
private Collection $perfilCargoRelaciones;
#[ORM\Column]
private ?int $accesoInfoConf = null;
#[ORM\Column]
private ?int $constratacionAsociados = null;
#[ORM\Column]
private ?int $tomaDecisiones = null;
#[ORM\Column]
private ?int $programasInfoSensible = null;
#[ORM\Column]
private ?int $contactoCarga = null;
#[ORM\ManyToOne(inversedBy: 'perfilCargoJefeInmediato')]
private ?ParCargo $jefeInmediatoCargo = null;
#[ORM\OneToMany(mappedBy: 'perfilCargo', targetEntity: GHMatrizEntrenamiento::class)]
private Collection $matrizEntrenamientos;
#[ORM\OneToMany(mappedBy: 'cargo', targetEntity: GHCambioContrato::class)]
private Collection $cambioContrato;
#[ORM\OneToMany(mappedBy: 'cargo', targetEntity: RFPrecintoAsignacion::class)]
private Collection $precintoAsignado;
#[ORM\OneToMany(mappedBy: 'revisionDirectorProceso', targetEntity: RFTablaRetencion::class)]
private Collection $revisionTablasRetencion;
#[ORM\OneToMany(mappedBy: 'perfilCargo', targetEntity: SecMensaje::class)]
private Collection $mensajes;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $createAt = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $fecha = null;
#[ORM\ManyToOne(inversedBy: 'perfilCargoAprueba')]
private ?ParCargo $cargoAprueba = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $habilidades = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $documentosAplicables = null;
#[ORM\OneToMany(mappedBy: 'gHPerfilCargo', targetEntity: GHPerfilCargoSST::class)]
private Collection $perfilCargoSST;
public function __construct() {
$this->empresaFilial = new ArrayCollection();
$this->vacante = new ArrayCollection();
$this->persona = new ArrayCollection();
$this->personalCargo = new ArrayCollection();
$this->relacionesInternas = new ArrayCollection();
$this->empresaServicios = new ArrayCollection();
$this->sede = new ArrayCollection();
$this->ParNivelEducativo = new ArrayCollection();
$this->competenciasOrganizacionales = new ArrayCollection();
$this->competenciasFuncionales = new ArrayCollection();
$this->tipoContrato = new ArrayCollection();
$this->vinculacion = new ArrayCollection();
$this->sistemaInformacion = new ArrayCollection();
$this->recursos = new ArrayCollection();
$this->perfilCargoRelaciones = new ArrayCollection();
$this->matrizEntrenamientos = new ArrayCollection();
$this->cambioContrato = new ArrayCollection();
$this->precintoAsignado = new ArrayCollection();
$this->revisionTablasRetencion = new ArrayCollection();
$this->mensajes = new ArrayCollection();
$this->perfilCargoSST = new ArrayCollection();
}
public function __toString() {
$nomCargo = $this->getCargo() != null ? $this->getCargo()->getNombre() : "undefined";
return "$nomCargo";
}
public function getId(): ?int {
return $this->id;
}
public function getResumenCargo(): ?string {
return $this->resumenCargo;
}
public function getRangoSalarial(): ?string {
return $this->rangoSalarial;
}
public function getResponsabilidades(): ?string {
return $this->responsabilidades;
}
public function getFunciones(): ?string {
return $this->funciones;
}
public function getProposito(): ?string {
return $this->proposito;
}
public function getRelacionesExternas(): ?string {
return $this->relacionesExternas;
}
public function getFormacionExperiencia(): ?string {
return $this->formacionExperiencia;
}
public function getConocimientosEspecificos(): ?string {
return $this->conocimientosEspecificos;
}
public function setResumenCargo(?string $resumenCargo): void {
$this->resumenCargo = $resumenCargo;
}
public function setRangoSalarial(?string $rangoSalarial): void {
$this->rangoSalarial = $rangoSalarial;
}
public function setResponsabilidades(?string $responsabilidades): void {
$this->responsabilidades = $responsabilidades;
}
public function setFunciones(?string $funciones): void {
$this->funciones = $funciones;
}
public function setProposito(?string $proposito): void {
$this->proposito = $proposito;
}
public function setRelacionesExternas(?string $relacionesExternas): void {
$this->relacionesExternas = $relacionesExternas;
}
public function setFormacionExperiencia(?string $formacionExperiencia): void {
$this->formacionExperiencia = $formacionExperiencia;
}
public function setConocimientosEspecificos(?string $conocimientosEspecificos): void {
$this->conocimientosEspecificos = $conocimientosEspecificos;
}
/**
* @return Collection<int, TerEmpresa>
*/
public function getEmpresaFilial(): Collection {
return $this->empresaFilial;
}
public function addEmpresaFilial(TerEmpresa $empresaFilial): static {
if (!$this->empresaFilial->contains($empresaFilial)) {
$this->empresaFilial->add($empresaFilial);
}
return $this;
}
public function removeEmpresaFilial(TerEmpresa $empresaFilial): static {
$this->empresaFilial->removeElement($empresaFilial);
return $this;
}
public function getSubprocesoId(): ?ParSubproceso {
return $this->subprocesoId;
}
public function setSubprocesoId(?ParSubproceso $subprocesoId): static {
$this->subprocesoId = $subprocesoId;
return $this;
}
public function getParNivelAutoridad(): ?ParNivelAutoridad {
return $this->ParNivelAutoridad;
}
public function setParNivelAutoridad(?ParNivelAutoridad $ParNivelAutoridad): static {
$this->ParNivelAutoridad = $ParNivelAutoridad;
return $this;
}
public function getParCriticidad(): ?ParCriticidad {
return $this->ParCriticidad;
}
public function setParCriticidad(?ParCriticidad $ParCriticidad): static {
$this->ParCriticidad = $ParCriticidad;
return $this;
}
public function getParTipoPerfil(): ?ParTipoPerfil {
return $this->ParTipoPerfil;
}
public function setParTipoPerfil(?ParTipoPerfil $ParTipoPerfil): static {
$this->ParTipoPerfil = $ParTipoPerfil;
return $this;
}
public function getCargo(): ?ParCargo {
return $this->cargo;
}
public function setCargo(?ParCargo $cargo): static {
$this->cargo = $cargo;
return $this;
}
public function getParProceso(): ?ParProceso {
return $this->ParProceso;
}
public function setParProceso(?ParProceso $ParProceso): static {
$this->ParProceso = $ParProceso;
return $this;
}
/**
* @return Collection<int, vacante>
*/
public function getVacante(): Collection {
return $this->vacante;
}
public function addVacante(GHVacante $vacante): static {
if (!$this->vacante->contains($vacante)) {
$this->vacante->add($vacante);
$vacante->setPerfilCargo($this);
}
return $this;
}
public function removeVacante(GHVacante $vacante): static {
if ($this->vacante->removeElement($vacante)) {
// set the owning side to null (unless already changed)
if ($vacante->getPerfilCargo() === $this) {
$vacante->setPerfilCargo(null);
}
}
return $this;
}
/**
* @return Collection<int, TerPersona>
*/
public function getPersona(): Collection {
return $this->persona;
}
public function addPersona(TerPersona $persona): static {
if (!$this->persona->contains($persona)) {
$this->persona->add($persona);
$persona->setPerfilCargo($this);
}
return $this;
}
public function removePersona(TerPersona $persona): static {
if ($this->persona->removeElement($persona)) {
// set the owning side to null (unless already changed)
if ($persona->getPerfilCargo() === $this) {
$persona->setPerfilCargo(null);
}
}
return $this;
}
/**
* @return Collection<int, ParCargo>
*/
public function getPersonalCargo(): Collection {
return $this->personalCargo;
}
public function addPersonalCargo(ParCargo $personalCargo): static {
if (!$this->personalCargo->contains($personalCargo)) {
$this->personalCargo->add($personalCargo);
}
return $this;
}
public function removePersonalCargo(ParCargo $personalCargo): static {
$this->personalCargo->removeElement($personalCargo);
return $this;
}
public function getEducacion(): ?string {
return $this->educacion;
}
public function setEducacion(?string $educacion): static {
$this->educacion = $educacion;
return $this;
}
// getPersonaAprueba() y getJefeInmediato() eliminados.
// Usar getCargoAprueba() y getJefeInmediatoCargo() respectivamente.
/**
* Retorna la persona que aprueba el perfil (relación original TerPersona).
* Para el cargo aprobador usar getCargoAprueba().
*/
public function getPersonaAprueba(): ?TerPersona {
return $this->personaAprueba;
}
/**
* Asigna la persona aprobadora del perfil (relación original TerPersona).
*/
public function setPersonaAprueba(?TerPersona $personaAprueba): static {
$this->personaAprueba = $personaAprueba;
return $this;
}
/**
* Retorna el jefe inmediato como persona (relación original TerPersona).
* Para el jefe como cargo usar getJefeInmediatoCargo().
*/
public function getJefeInmediato(): ?TerPersona {
return $this->jefeInmediato;
}
/**
* Asigna el jefe inmediato como persona (relación original TerPersona).
*/
public function setJefeInmediato(?TerPersona $jefeInmediato): static {
$this->jefeInmediato = $jefeInmediato;
return $this;
}
/**
* @return Collection<int, ParProceso>
*/
public function getRelacionesInternas(): Collection {
return $this->relacionesInternas;
}
public function addRelacionesInterna(ParProceso $relacionesInterna): static {
if (!$this->relacionesInternas->contains($relacionesInterna)) {
$this->relacionesInternas->add($relacionesInterna);
}
return $this;
}
public function removeRelacionesInterna(ParProceso $relacionesInterna): static {
$this->relacionesInternas->removeElement($relacionesInterna);
return $this;
}
public function isPruebaTecnica(): ?bool
{
return $this->pruebaTecnica;
}
public function setPruebaTecnica(?bool $pruebaTecnica): static
{
$this->pruebaTecnica = $pruebaTecnica;
return $this;
}
/**
* @return Collection<int, TerEmpresa>
*/
public function getEmpresaServicios(): Collection
{
return $this->empresaServicios;
}
public function addEmpresaServicio(TerEmpresa $empresaServicio): static
{
if (!$this->empresaServicios->contains($empresaServicio)) {
$this->empresaServicios->add($empresaServicio);
}
return $this;
}
public function removeEmpresaServicio(TerEmpresa $empresaServicio): static
{
$this->empresaServicios->removeElement($empresaServicio);
return $this;
}
/**
* @return Collection<int, TerSedeEmpresa>
*/
public function getSede(): Collection
{
return $this->sede;
}
public function addSede(TerSedeEmpresa $sede): static
{
if (!$this->sede->contains($sede)) {
$this->sede->add($sede);
}
return $this;
}
public function removeSede(TerSedeEmpresa $sede): static
{
$this->sede->removeElement($sede);
return $this;
}
/**
* @return Collection<int, ParNivelEducativo>
*/
public function getParNivelEducativo(): Collection
{
return $this->ParNivelEducativo;
}
public function addParNivelEducativo(ParNivelEducativo $parNivelEducativo): static
{
if (!$this->ParNivelEducativo->contains($parNivelEducativo)) {
$this->ParNivelEducativo->add($parNivelEducativo);
}
return $this;
}
public function removeParNivelEducativo(ParNivelEducativo $parNivelEducativo): static
{
$this->ParNivelEducativo->removeElement($parNivelEducativo);
return $this;
}
public function getExperiencia(): ?string
{
return $this->experiencia;
}
public function setExperiencia(?string $experiencia): static
{
$this->experiencia = $experiencia;
return $this;
}
/**
* @return Collection<int, ParCompetenciaOrganizacional>
*/
public function getCompetenciasOrganizacionales(): Collection
{
return $this->competenciasOrganizacionales;
}
public function addCompetenciasOrganizacionale(ParCompetenciaOrganizacional $competenciasOrganizacionale): static
{
if (!$this->competenciasOrganizacionales->contains($competenciasOrganizacionale)) {
$this->competenciasOrganizacionales->add($competenciasOrganizacionale);
}
return $this;
}
public function removeCompetenciasOrganizacionale(ParCompetenciaOrganizacional $competenciasOrganizacionale): static
{
$this->competenciasOrganizacionales->removeElement($competenciasOrganizacionale);
return $this;
}
/**
* @return Collection<int, ParCompetenciaFuncional>
*/
public function getCompetenciasFuncionales(): Collection
{
return $this->competenciasFuncionales;
}
public function addCompetenciasFuncionale(ParCompetenciaFuncional $competenciasFuncionale): static
{
if (!$this->competenciasFuncionales->contains($competenciasFuncionale)) {
$this->competenciasFuncionales->add($competenciasFuncionale);
}
return $this;
}
public function removeCompetenciasFuncionale(ParCompetenciaFuncional $competenciasFuncionale): static
{
$this->competenciasFuncionales->removeElement($competenciasFuncionale);
return $this;
}
/**
* @return Collection<int, ParTipoContrato>
*/
public function getTipoContrato(): Collection
{
return $this->tipoContrato;
}
public function addTipoContrato(ParTipoContrato $tipoContrato): static
{
if (!$this->tipoContrato->contains($tipoContrato)) {
$this->tipoContrato->add($tipoContrato);
}
return $this;
}
public function removeTipoContrato(ParTipoContrato $tipoContrato): static
{
$this->tipoContrato->removeElement($tipoContrato);
return $this;
}
/**
* @return Collection<int, ParTipoVinculacion>
*/
public function getVinculacion(): Collection
{
return $this->vinculacion;
}
public function addVinculacion(ParTipoVinculacion $vinculacion): static
{
if (!$this->vinculacion->contains($vinculacion)) {
$this->vinculacion->add($vinculacion);
}
return $this;
}
public function removeVinculacion(ParTipoVinculacion $vinculacion): static
{
$this->vinculacion->removeElement($vinculacion);
return $this;
}
/**
* @return Collection<int, ParSistemaInformatico>
*/
public function getSistemaInformacion(): Collection
{
return $this->sistemaInformacion;
}
public function addSistemaInformacion(ParSistemaInformatico $sistemaInformacion): static
{
if (!$this->sistemaInformacion->contains($sistemaInformacion)) {
$this->sistemaInformacion->add($sistemaInformacion);
}
return $this;
}
public function removeSistemaInformacion(ParSistemaInformatico $sistemaInformacion): static
{
$this->sistemaInformacion->removeElement($sistemaInformacion);
return $this;
}
/**
* @return Collection<int, ParRecursosPerfil>
*/
public function getRecursos(): Collection
{
return $this->recursos;
}
public function addRecurso(ParRecursosPerfil $recurso): static
{
if (!$this->recursos->contains($recurso)) {
$this->recursos->add($recurso);
}
return $this;
}
public function removeRecurso(ParRecursosPerfil $recurso): static
{
$this->recursos->removeElement($recurso);
return $this;
}
public function getArchivo(): ?string
{
return $this->archivo;
}
public function setArchivo(?string $archivo): static
{
$this->archivo = $archivo;
return $this;
}
public function getEstado(): ?ParEstado
{
return $this->estado;
}
public function setEstado(?ParEstado $estado): static
{
$this->estado = $estado;
return $this;
}
/**
* @return Collection<int, GHPerfilCargoRelaciones>
*/
public function getPerfilCargoRelaciones(): Collection
{
return $this->perfilCargoRelaciones;
}
public function addPerfilCargoRelacione(GHPerfilCargoRelaciones $perfilCargoRelacione): static
{
if (!$this->perfilCargoRelaciones->contains($perfilCargoRelacione)) {
$this->perfilCargoRelaciones->add($perfilCargoRelacione);
$perfilCargoRelacione->setPerfilCargo($this);
}
return $this;
}
public function removePerfilCargoRelacione(GHPerfilCargoRelaciones $perfilCargoRelacione): static
{
if ($this->perfilCargoRelaciones->removeElement($perfilCargoRelacione)) {
// set the owning side to null (unless already changed)
if ($perfilCargoRelacione->getPerfilCargo() === $this) {
$perfilCargoRelacione->setPerfilCargo(null);
}
}
return $this;
}
public function getAccesoInfoConf(): ?int
{
return $this->accesoInfoConf;
}
public function setAccesoInfoConf(?int $accesoInfoConf): static
{
$this->accesoInfoConf = $accesoInfoConf;
return $this;
}
public function getConstratacionAsociados(): ?int
{
return $this->constratacionAsociados;
}
public function setConstratacionAsociados(?int $constratacionAsociados): static
{
$this->constratacionAsociados = $constratacionAsociados;
return $this;
}
public function getTomaDecisiones(): ?int
{
return $this->tomaDecisiones;
}
public function setTomaDecisiones(?int $tomaDecisiones): static
{
$this->tomaDecisiones = $tomaDecisiones;
return $this;
}
public function getProgramasInfoSensible(): ?int
{
return $this->programasInfoSensible;
}
public function setProgramasInfoSensible(?int $programasInfoSensible): static
{
$this->programasInfoSensible = $programasInfoSensible;
return $this;
}
public function getContactoCarga(): ?int
{
return $this->contactoCarga;
}
public function setContactoCarga(?int $contactoCarga): static
{
$this->contactoCarga = $contactoCarga;
return $this;
}
public function getJefeInmediatoCargo(): ?ParCargo
{
return $this->jefeInmediatoCargo;
}
public function setJefeInmediatoCargo(?ParCargo $jefeInmediatoCargo): static
{
$this->jefeInmediatoCargo = $jefeInmediatoCargo;
return $this;
}
/**
* @return Collection<int, GHMatrizEntrenamiento>
*/
public function getMatrizEntrenamientos(): Collection
{
return $this->matrizEntrenamientos;
}
public function addMatrizEntrenamiento(GHMatrizEntrenamiento $matrizEntrenamiento): static
{
if (!$this->matrizEntrenamientos->contains($matrizEntrenamiento)) {
$this->matrizEntrenamientos->add($matrizEntrenamiento);
$matrizEntrenamiento->setPerfilCargo($this);
}
return $this;
}
public function removeMatrizEntrenamiento(GHMatrizEntrenamiento $matrizEntrenamiento): static
{
if ($this->matrizEntrenamientos->removeElement($matrizEntrenamiento)) {
// set the owning side to null (unless already changed)
if ($matrizEntrenamiento->getPerfilCargo() === $this) {
$matrizEntrenamiento->setPerfilCargo(null);
}
}
return $this;
}
/**
* @return Collection<int, GHCambioContrato>
*/
public function getCambioContrato(): Collection
{
return $this->cambioContrato;
}
public function addCambioContrato(GHCambioContrato $cambioContrato): static
{
if (!$this->cambioContrato->contains($cambioContrato)) {
$this->cambioContrato->add($cambioContrato);
$cambioContrato->setCargo($this);
}
return $this;
}
public function removeCambioContrato(GHCambioContrato $cambioContrato): static
{
if ($this->cambioContrato->removeElement($cambioContrato)) {
// set the owning side to null (unless already changed)
if ($cambioContrato->getCargo() === $this) {
$cambioContrato->setCargo(null);
}
}
return $this;
}
/**
* @return Collection<int, RFPrecintoAsignacion>
*/
public function getPrecintoAsignado(): Collection
{
return $this->precintoAsignado;
}
public function addPrecintoAsignado(RFPrecintoAsignacion $precintoAsignado): static
{
if (!$this->precintoAsignado->contains($precintoAsignado)) {
$this->precintoAsignado->add($precintoAsignado);
$precintoAsignado->setCargo($this);
}
return $this;
}
public function removePrecintoAsignado(RFPrecintoAsignacion $precintoAsignado): static
{
if ($this->precintoAsignado->removeElement($precintoAsignado)) {
// set the owning side to null (unless already changed)
if ($precintoAsignado->getCargo() === $this) {
$precintoAsignado->setCargo(null);
}
}
return $this;
}
/**
* @return Collection<int, RFTablaRetencion>
*/
public function getRevisionTablasRetencion(): Collection
{
return $this->revisionTablasRetencion;
}
public function addRevisionTablasRetencion(RFTablaRetencion $revisionTablasRetencion): static
{
if (!$this->revisionTablasRetencion->contains($revisionTablasRetencion)) {
$this->revisionTablasRetencion->add($revisionTablasRetencion);
$revisionTablasRetencion->setRevisionDirectorProceso($this);
}
return $this;
}
public function removeRevisionTablasRetencion(RFTablaRetencion $revisionTablasRetencion): static
{
if ($this->revisionTablasRetencion->removeElement($revisionTablasRetencion)) {
// set the owning side to null (unless already changed)
if ($revisionTablasRetencion->getRevisionDirectorProceso() === $this) {
$revisionTablasRetencion->setRevisionDirectorProceso(null);
}
}
return $this;
}
/**
* @return Collection<int, SecMensaje>
*/
public function getMensajes(): Collection
{
return $this->mensajes;
}
public function addMensaje(SecMensaje $mensaje): static
{
if (!$this->mensajes->contains($mensaje)) {
$this->mensajes->add($mensaje);
$mensaje->setPerfilCargo($this);
}
return $this;
}
public function removeMensaje(SecMensaje $mensaje): static
{
if ($this->mensajes->removeElement($mensaje)) {
// set the owning side to null (unless already changed)
if ($mensaje->getPerfilCargo() === $this) {
$mensaje->setPerfilCargo(null);
}
}
return $this;
}
public function getCreateAt(): ?\DateTimeInterface
{
return $this->createAt;
}
public function setCreateAt(?\DateTimeInterface $createAt): static
{
$this->createAt = $createAt;
return $this;
}
public function getFecha(): ?\DateTimeInterface
{
return $this->fecha;
}
public function setFecha(?\DateTimeInterface $fecha): static
{
$this->fecha = $fecha;
return $this;
}
/**
* Retorna el cargo que aprueba este perfil.
*/
public function getCargoAprueba(): ?ParCargo
{
return $this->cargoAprueba;
}
/**
* Asigna el cargo aprobador del perfil.
*/
public function setCargoAprueba(?ParCargo $cargoAprueba): static
{
$this->cargoAprueba = $cargoAprueba;
return $this;
}
public function getHabilidades(): ?string
{
return $this->habilidades;
}
public function setHabilidades(?string $habilidades): static
{
$this->habilidades = $habilidades;
return $this;
}
public function getDocumentosAplicables(): ?string
{
return $this->documentosAplicables;
}
public function setDocumentosAplicables(?string $documentosAplicables): static
{
$this->documentosAplicables = $documentosAplicables;
return $this;
}
/**
* @return Collection<int, GHPerfilCargoSST>
*/
public function getPerfilCargoSST(): Collection
{
return $this->perfilCargoSST;
}
public function addPerfilCargoSST(GHPerfilCargoSST $perfilCargoSST): static
{
if (!$this->perfilCargoSST->contains($perfilCargoSST)) {
$this->perfilCargoSST->add($perfilCargoSST);
$perfilCargoSST->setGHPerfilCargo($this);
}
return $this;
}
public function removePerfilCargoSST(GHPerfilCargoSST $perfilCargoSST): static
{
if ($this->perfilCargoSST->removeElement($perfilCargoSST)) {
// set the owning side to null (unless already changed)
if ($perfilCargoSST->getGHPerfilCargo() === $this) {
$perfilCargoSST->setGHPerfilCargo(null);
}
}
return $this;
}
}