src/Entity/GHPerfilCargo.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\GHPerfilCargoRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\Table(name'gh_peril_cargo')]
  9. #[ORM\Entity(repositoryClassGHPerfilCargoRepository::class)]
  10. class GHPerfilCargo {
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  16.     private ?string $resumenCargo null;
  17.     #[ORM\Column(length255)]
  18.     private ?string $rangoSalarial null;
  19.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  20.     private ?string $responsabilidades null;
  21.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  22.     private ?string $funciones null;
  23.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  24.     private ?string $proposito null;
  25.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  26.     private ?string $relacionesExternas null;
  27.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  28.     private ?string $formacionExperiencia null;
  29.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  30.     private ?string $conocimientosEspecificos null;
  31.     #[ORM\ManyToMany(targetEntityTerEmpresa::class, inversedBy'perfilCargo')]
  32.     private Collection $empresaFilial;
  33.     #[ORM\ManyToOne(inversedBy'idPerfilCargo')]
  34.     private ?ParSubproceso $subprocesoId null;
  35.     #[ORM\ManyToOne(inversedBy'idPerfilCargo')]
  36.     private ?ParNivelAutoridad $ParNivelAutoridad null;
  37.     #[ORM\ManyToOne(inversedBy'idPerfilCargo')]
  38.     private ?ParCriticidad $ParCriticidad null;
  39.     #[ORM\ManyToOne(inversedBy'idPerfilCargo')]
  40.     private ?ParTipoPerfil $ParTipoPerfil null;
  41.     #[ORM\ManyToOne(inversedBy'perfilCargo')]
  42.     private ?ParCargo $cargo null;
  43.     #[ORM\ManyToOne(inversedBy'idPerfilCargo')]
  44.     private ?ParProceso $ParProceso null;
  45.     #[ORM\OneToMany(mappedBy'perfilCargo'targetEntityGHVacante::class)]
  46.     private Collection $vacante;
  47.     #[ORM\OneToMany(mappedBy'perfilCargo'targetEntityTerPersona::class)]
  48.     private Collection $persona;
  49.     #[ORM\ManyToMany(targetEntityParCargo::class, inversedBy'perfilPersonalCargo')]
  50.     private Collection $personalCargo;
  51.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  52.     private ?string $educacion null;
  53.     // Jefe inmediato como cargo (par_cargo): ver $jefeInmediatoCargo
  54.     // Cargo aprobador (par_cargo): ver $cargoAprueba
  55.     /**
  56.      * Persona que aprueba el perfil (relación original con TerPersona, se mantiene por compatibilidad).
  57.      * Para la relación con cargo aprobador usar $cargoAprueba.
  58.      */
  59.     #[ORM\ManyToOne(inversedBy'perfilCargoAprueba')]
  60.     private ?TerPersona $personaAprueba null;
  61.     /**
  62.      * Jefe inmediato como persona (relación original con TerPersona, se mantiene por compatibilidad).
  63.      * Para la relación con cargo jefe usar $jefeInmediatoCargo.
  64.      */
  65.     #[ORM\ManyToOne(inversedBy'perfilCargoJefe')]
  66.     private ?TerPersona $jefeInmediato null;
  67.     #[ORM\ManyToMany(targetEntityParProceso::class, inversedBy'perfilCargoRelaciones')]
  68.     private Collection $relacionesInternas;
  69.     #[ORM\Column(nullabletrue)]
  70.     private ?bool $pruebaTecnica null;
  71.     #[ORM\ManyToMany(targetEntityTerEmpresa::class, inversedBy'perfilCargoServicios')]
  72.     #[ORM\JoinTable(name'ghperfil_cargo_empresa_servicios')]
  73.     private Collection $empresaServicios;
  74.     #[ORM\ManyToMany(targetEntityTerSedeEmpresa::class, inversedBy'perfilCargos')]
  75.     private Collection $sede;
  76.     #[ORM\ManyToMany(targetEntityParNivelEducativo::class, inversedBy'idPerfilCargo')]
  77.     private Collection $ParNivelEducativo;
  78.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  79.     private ?string $experiencia null;
  80.     #[ORM\ManyToMany(targetEntityParCompetenciaOrganizacional::class, inversedBy'perfilCargo')]
  81.     private Collection $competenciasOrganizacionales;
  82.     #[ORM\ManyToMany(targetEntityParCompetenciaFuncional::class, inversedBy'perfilCargo')]
  83.     private Collection $competenciasFuncionales;
  84.     #[ORM\ManyToMany(targetEntityParTipoContrato::class, inversedBy'perfilCargo')]
  85.     private Collection $tipoContrato;
  86.     #[ORM\ManyToMany(targetEntityParTipoVinculacion::class, inversedBy'perfilCargo')]
  87.     private Collection $vinculacion;
  88.     #[ORM\ManyToMany(targetEntityParSistemaInformatico::class, inversedBy'perfilCargo')]
  89.     private Collection $sistemaInformacion;
  90.     #[ORM\ManyToMany(targetEntityParRecursosPerfil::class, inversedBy'perfilCargo')]
  91.     private Collection $recursos;
  92.     #[ORM\Column(length255nullabletrue)]
  93.     private ?string $archivo null;
  94.     #[ORM\ManyToOne(inversedBy'perfilCargo')]
  95.     private ?ParEstado $estado null;
  96.     #[ORM\OneToMany(mappedBy'perfilCargo'targetEntityGHPerfilCargoRelaciones::class)]
  97.     private Collection $perfilCargoRelaciones;
  98.     #[ORM\Column]
  99.     private ?int $accesoInfoConf null;
  100.     #[ORM\Column]
  101.     private ?int $constratacionAsociados null;
  102.     #[ORM\Column]
  103.     private ?int $tomaDecisiones null;
  104.     #[ORM\Column]
  105.     private ?int $programasInfoSensible null;
  106.     #[ORM\Column]
  107.     private ?int $contactoCarga null;
  108.     #[ORM\ManyToOne(inversedBy'perfilCargoJefeInmediato')]
  109.     private ?ParCargo $jefeInmediatoCargo null;
  110.     #[ORM\OneToMany(mappedBy'perfilCargo'targetEntityGHMatrizEntrenamiento::class)]
  111.     private Collection $matrizEntrenamientos;
  112.     #[ORM\OneToMany(mappedBy'cargo'targetEntityGHCambioContrato::class)]
  113.     private Collection $cambioContrato;
  114.     #[ORM\OneToMany(mappedBy'cargo'targetEntityRFPrecintoAsignacion::class)]
  115.     private Collection $precintoAsignado;
  116.     #[ORM\OneToMany(mappedBy'revisionDirectorProceso'targetEntityRFTablaRetencion::class)]
  117.     private Collection $revisionTablasRetencion;
  118.     #[ORM\OneToMany(mappedBy'perfilCargo'targetEntitySecMensaje::class)]
  119.     private Collection $mensajes;
  120.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  121.     private ?\DateTimeInterface $createAt null;
  122.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  123.     private ?\DateTimeInterface $fecha null;
  124.     #[ORM\ManyToOne(inversedBy'perfilCargoAprueba')]
  125.     private ?ParCargo $cargoAprueba null;
  126.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  127.     private ?string $habilidades null;
  128.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  129.     private ?string $documentosAplicables null;
  130.     #[ORM\OneToMany(mappedBy'gHPerfilCargo'targetEntityGHPerfilCargoSST::class)]
  131.     private Collection $perfilCargoSST;
  132.     public function __construct() {
  133.         $this->empresaFilial = new ArrayCollection();
  134.         $this->vacante = new ArrayCollection();
  135.         $this->persona = new ArrayCollection();
  136.         $this->personalCargo = new ArrayCollection();
  137.         $this->relacionesInternas = new ArrayCollection();
  138.         $this->empresaServicios = new ArrayCollection();
  139.         $this->sede = new ArrayCollection();
  140.         $this->ParNivelEducativo = new ArrayCollection();
  141.         $this->competenciasOrganizacionales = new ArrayCollection();
  142.         $this->competenciasFuncionales = new ArrayCollection();
  143.         $this->tipoContrato = new ArrayCollection();
  144.         $this->vinculacion = new ArrayCollection();
  145.         $this->sistemaInformacion = new ArrayCollection();
  146.         $this->recursos = new ArrayCollection();
  147.         $this->perfilCargoRelaciones = new ArrayCollection();
  148.         $this->matrizEntrenamientos = new ArrayCollection();
  149.         $this->cambioContrato = new ArrayCollection();
  150.         $this->precintoAsignado = new ArrayCollection();
  151.         $this->revisionTablasRetencion = new ArrayCollection();
  152.         $this->mensajes = new ArrayCollection();
  153.         $this->perfilCargoSST = new ArrayCollection();
  154.     }
  155.     public function __toString() {
  156.         $nomCargo $this->getCargo() != null $this->getCargo()->getNombre() : "undefined";
  157.         return "$nomCargo";
  158.     }
  159.     public function getId(): ?int {
  160.         return $this->id;
  161.     }
  162.     public function getResumenCargo(): ?string {
  163.         return $this->resumenCargo;
  164.     }
  165.     public function getRangoSalarial(): ?string {
  166.         return $this->rangoSalarial;
  167.     }
  168.     public function getResponsabilidades(): ?string {
  169.         return $this->responsabilidades;
  170.     }
  171.     public function getFunciones(): ?string {
  172.         return $this->funciones;
  173.     }
  174.     public function getProposito(): ?string {
  175.         return $this->proposito;
  176.     }
  177.     public function getRelacionesExternas(): ?string {
  178.         return $this->relacionesExternas;
  179.     }
  180.     public function getFormacionExperiencia(): ?string {
  181.         return $this->formacionExperiencia;
  182.     }
  183.     public function getConocimientosEspecificos(): ?string {
  184.         return $this->conocimientosEspecificos;
  185.     }
  186.     public function setResumenCargo(?string $resumenCargo): void {
  187.         $this->resumenCargo $resumenCargo;
  188.     }
  189.     public function setRangoSalarial(?string $rangoSalarial): void {
  190.         $this->rangoSalarial $rangoSalarial;
  191.     }
  192.     public function setResponsabilidades(?string $responsabilidades): void {
  193.         $this->responsabilidades $responsabilidades;
  194.     }
  195.     public function setFunciones(?string $funciones): void {
  196.         $this->funciones $funciones;
  197.     }
  198.     public function setProposito(?string $proposito): void {
  199.         $this->proposito $proposito;
  200.     }
  201.     public function setRelacionesExternas(?string $relacionesExternas): void {
  202.         $this->relacionesExternas $relacionesExternas;
  203.     }
  204.     public function setFormacionExperiencia(?string $formacionExperiencia): void {
  205.         $this->formacionExperiencia $formacionExperiencia;
  206.     }
  207.     public function setConocimientosEspecificos(?string $conocimientosEspecificos): void {
  208.         $this->conocimientosEspecificos $conocimientosEspecificos;
  209.     }
  210.     /**
  211.      * @return Collection<int, TerEmpresa>
  212.      */
  213.     public function getEmpresaFilial(): Collection {
  214.         return $this->empresaFilial;
  215.     }
  216.     public function addEmpresaFilial(TerEmpresa $empresaFilial): static {
  217.         if (!$this->empresaFilial->contains($empresaFilial)) {
  218.             $this->empresaFilial->add($empresaFilial);
  219.         }
  220.         return $this;
  221.     }
  222.     public function removeEmpresaFilial(TerEmpresa $empresaFilial): static {
  223.         $this->empresaFilial->removeElement($empresaFilial);
  224.         return $this;
  225.     }
  226.     public function getSubprocesoId(): ?ParSubproceso {
  227.         return $this->subprocesoId;
  228.     }
  229.     public function setSubprocesoId(?ParSubproceso $subprocesoId): static {
  230.         $this->subprocesoId $subprocesoId;
  231.         return $this;
  232.     }
  233.     public function getParNivelAutoridad(): ?ParNivelAutoridad {
  234.         return $this->ParNivelAutoridad;
  235.     }
  236.     public function setParNivelAutoridad(?ParNivelAutoridad $ParNivelAutoridad): static {
  237.         $this->ParNivelAutoridad $ParNivelAutoridad;
  238.         return $this;
  239.     }
  240.     public function getParCriticidad(): ?ParCriticidad {
  241.         return $this->ParCriticidad;
  242.     }
  243.     public function setParCriticidad(?ParCriticidad $ParCriticidad): static {
  244.         $this->ParCriticidad $ParCriticidad;
  245.         return $this;
  246.     }
  247.  
  248.     public function getParTipoPerfil(): ?ParTipoPerfil {
  249.         return $this->ParTipoPerfil;
  250.     }
  251.     public function setParTipoPerfil(?ParTipoPerfil $ParTipoPerfil): static {
  252.         $this->ParTipoPerfil $ParTipoPerfil;
  253.         return $this;
  254.     }
  255.     public function getCargo(): ?ParCargo {
  256.         return $this->cargo;
  257.     }
  258.     public function setCargo(?ParCargo $cargo): static {
  259.         $this->cargo $cargo;
  260.         return $this;
  261.     }
  262.     public function getParProceso(): ?ParProceso {
  263.         return $this->ParProceso;
  264.     }
  265.     public function setParProceso(?ParProceso $ParProceso): static {
  266.         $this->ParProceso $ParProceso;
  267.         return $this;
  268.     }
  269.     /**
  270.      * @return Collection<int, vacante>
  271.      */
  272.     public function getVacante(): Collection {
  273.         return $this->vacante;
  274.     }
  275.     public function addVacante(GHVacante $vacante): static {
  276.         if (!$this->vacante->contains($vacante)) {
  277.             $this->vacante->add($vacante);
  278.             $vacante->setPerfilCargo($this);
  279.         }
  280.         return $this;
  281.     }
  282.     public function removeVacante(GHVacante $vacante): static {
  283.         if ($this->vacante->removeElement($vacante)) {
  284.             // set the owning side to null (unless already changed)
  285.             if ($vacante->getPerfilCargo() === $this) {
  286.                 $vacante->setPerfilCargo(null);
  287.             }
  288.         }
  289.         return $this;
  290.     }
  291.     /**
  292.      * @return Collection<int, TerPersona>
  293.      */
  294.     public function getPersona(): Collection {
  295.         return $this->persona;
  296.     }
  297.     public function addPersona(TerPersona $persona): static {
  298.         if (!$this->persona->contains($persona)) {
  299.             $this->persona->add($persona);
  300.             $persona->setPerfilCargo($this);
  301.         }
  302.         return $this;
  303.     }
  304.     public function removePersona(TerPersona $persona): static {
  305.         if ($this->persona->removeElement($persona)) {
  306.             // set the owning side to null (unless already changed)
  307.             if ($persona->getPerfilCargo() === $this) {
  308.                 $persona->setPerfilCargo(null);
  309.             }
  310.         }
  311.         return $this;
  312.     }
  313.     /**
  314.      * @return Collection<int, ParCargo>
  315.      */
  316.     public function getPersonalCargo(): Collection {
  317.         return $this->personalCargo;
  318.     }
  319.     public function addPersonalCargo(ParCargo $personalCargo): static {
  320.         if (!$this->personalCargo->contains($personalCargo)) {
  321.             $this->personalCargo->add($personalCargo);
  322.         }
  323.         return $this;
  324.     }
  325.     public function removePersonalCargo(ParCargo $personalCargo): static {
  326.         $this->personalCargo->removeElement($personalCargo);
  327.         return $this;
  328.     }
  329.     public function getEducacion(): ?string {
  330.         return $this->educacion;
  331.     }
  332.     public function setEducacion(?string $educacion): static {
  333.         $this->educacion $educacion;
  334.         return $this;
  335.     }
  336.     // getPersonaAprueba() y getJefeInmediato() eliminados.
  337.     // Usar getCargoAprueba() y getJefeInmediatoCargo() respectivamente.
  338.     /**
  339.      * Retorna la persona que aprueba el perfil (relación original TerPersona).
  340.      * Para el cargo aprobador usar getCargoAprueba().
  341.      */
  342.     public function getPersonaAprueba(): ?TerPersona {
  343.         return $this->personaAprueba;
  344.     }
  345.     /**
  346.      * Asigna la persona aprobadora del perfil (relación original TerPersona).
  347.      */
  348.     public function setPersonaAprueba(?TerPersona $personaAprueba): static {
  349.         $this->personaAprueba $personaAprueba;
  350.         return $this;
  351.     }
  352.     /**
  353.      * Retorna el jefe inmediato como persona (relación original TerPersona).
  354.      * Para el jefe como cargo usar getJefeInmediatoCargo().
  355.      */
  356.     public function getJefeInmediato(): ?TerPersona {
  357.         return $this->jefeInmediato;
  358.     }
  359.     /**
  360.      * Asigna el jefe inmediato como persona (relación original TerPersona).
  361.      */
  362.     public function setJefeInmediato(?TerPersona $jefeInmediato): static {
  363.         $this->jefeInmediato $jefeInmediato;
  364.         return $this;
  365.     }
  366.     /**
  367.      * @return Collection<int, ParProceso>
  368.      */
  369.     public function getRelacionesInternas(): Collection {
  370.         return $this->relacionesInternas;
  371.     }
  372.     public function addRelacionesInterna(ParProceso $relacionesInterna): static {
  373.         if (!$this->relacionesInternas->contains($relacionesInterna)) {
  374.             $this->relacionesInternas->add($relacionesInterna);
  375.         }
  376.         return $this;
  377.     }
  378.     public function removeRelacionesInterna(ParProceso $relacionesInterna): static {
  379.         $this->relacionesInternas->removeElement($relacionesInterna);
  380.         return $this;
  381.     }
  382.     public function isPruebaTecnica(): ?bool
  383.     {
  384.         return $this->pruebaTecnica;
  385.     }
  386.     public function setPruebaTecnica(?bool $pruebaTecnica): static
  387.     {
  388.         $this->pruebaTecnica $pruebaTecnica;
  389.         return $this;
  390.     }
  391.     /**
  392.      * @return Collection<int, TerEmpresa>
  393.      */
  394.     public function getEmpresaServicios(): Collection
  395.     {
  396.         return $this->empresaServicios;
  397.     }
  398.     public function addEmpresaServicio(TerEmpresa $empresaServicio): static
  399.     {
  400.         if (!$this->empresaServicios->contains($empresaServicio)) {
  401.             $this->empresaServicios->add($empresaServicio);
  402.         }
  403.         return $this;
  404.     }
  405.     public function removeEmpresaServicio(TerEmpresa $empresaServicio): static
  406.     {
  407.         $this->empresaServicios->removeElement($empresaServicio);
  408.         return $this;
  409.     }
  410.     /**
  411.      * @return Collection<int, TerSedeEmpresa>
  412.      */
  413.     public function getSede(): Collection
  414.     {
  415.         return $this->sede;
  416.     }
  417.     public function addSede(TerSedeEmpresa $sede): static
  418.     {
  419.         if (!$this->sede->contains($sede)) {
  420.             $this->sede->add($sede);
  421.         }
  422.         return $this;
  423.     }
  424.     public function removeSede(TerSedeEmpresa $sede): static
  425.     {
  426.         $this->sede->removeElement($sede);
  427.         return $this;
  428.     }
  429.     /**
  430.      * @return Collection<int, ParNivelEducativo>
  431.      */
  432.     public function getParNivelEducativo(): Collection
  433.     {
  434.         return $this->ParNivelEducativo;
  435.     }
  436.     public function addParNivelEducativo(ParNivelEducativo $parNivelEducativo): static
  437.     {
  438.         if (!$this->ParNivelEducativo->contains($parNivelEducativo)) {
  439.             $this->ParNivelEducativo->add($parNivelEducativo);
  440.         }
  441.         return $this;
  442.     }
  443.     public function removeParNivelEducativo(ParNivelEducativo $parNivelEducativo): static
  444.     {
  445.         $this->ParNivelEducativo->removeElement($parNivelEducativo);
  446.         return $this;
  447.     }
  448.     public function getExperiencia(): ?string
  449.     {
  450.         return $this->experiencia;
  451.     }
  452.     public function setExperiencia(?string $experiencia): static
  453.     {
  454.         $this->experiencia $experiencia;
  455.         return $this;
  456.     }
  457.     /**
  458.      * @return Collection<int, ParCompetenciaOrganizacional>
  459.      */
  460.     public function getCompetenciasOrganizacionales(): Collection
  461.     {
  462.         return $this->competenciasOrganizacionales;
  463.     }
  464.     public function addCompetenciasOrganizacionale(ParCompetenciaOrganizacional $competenciasOrganizacionale): static
  465.     {
  466.         if (!$this->competenciasOrganizacionales->contains($competenciasOrganizacionale)) {
  467.             $this->competenciasOrganizacionales->add($competenciasOrganizacionale);
  468.         }
  469.         return $this;
  470.     }
  471.     public function removeCompetenciasOrganizacionale(ParCompetenciaOrganizacional $competenciasOrganizacionale): static
  472.     {
  473.         $this->competenciasOrganizacionales->removeElement($competenciasOrganizacionale);
  474.         return $this;
  475.     }
  476.     /**
  477.      * @return Collection<int, ParCompetenciaFuncional>
  478.      */
  479.     public function getCompetenciasFuncionales(): Collection
  480.     {
  481.         return $this->competenciasFuncionales;
  482.     }
  483.     public function addCompetenciasFuncionale(ParCompetenciaFuncional $competenciasFuncionale): static
  484.     {
  485.         if (!$this->competenciasFuncionales->contains($competenciasFuncionale)) {
  486.             $this->competenciasFuncionales->add($competenciasFuncionale);
  487.         }
  488.         return $this;
  489.     }
  490.     public function removeCompetenciasFuncionale(ParCompetenciaFuncional $competenciasFuncionale): static
  491.     {
  492.         $this->competenciasFuncionales->removeElement($competenciasFuncionale);
  493.         return $this;
  494.     }
  495.     /**
  496.      * @return Collection<int, ParTipoContrato>
  497.      */
  498.     public function getTipoContrato(): Collection
  499.     {
  500.         return $this->tipoContrato;
  501.     }
  502.     public function addTipoContrato(ParTipoContrato $tipoContrato): static
  503.     {
  504.         if (!$this->tipoContrato->contains($tipoContrato)) {
  505.             $this->tipoContrato->add($tipoContrato);
  506.         }
  507.         return $this;
  508.     }
  509.     public function removeTipoContrato(ParTipoContrato $tipoContrato): static
  510.     {
  511.         $this->tipoContrato->removeElement($tipoContrato);
  512.         return $this;
  513.     }
  514.     /**
  515.      * @return Collection<int, ParTipoVinculacion>
  516.      */
  517.     public function getVinculacion(): Collection
  518.     {
  519.         return $this->vinculacion;
  520.     }
  521.     public function addVinculacion(ParTipoVinculacion $vinculacion): static
  522.     {
  523.         if (!$this->vinculacion->contains($vinculacion)) {
  524.             $this->vinculacion->add($vinculacion);
  525.         }
  526.         return $this;
  527.     }
  528.     public function removeVinculacion(ParTipoVinculacion $vinculacion): static
  529.     {
  530.         $this->vinculacion->removeElement($vinculacion);
  531.         return $this;
  532.     }
  533.     /**
  534.      * @return Collection<int, ParSistemaInformatico>
  535.      */
  536.     public function getSistemaInformacion(): Collection
  537.     {
  538.         return $this->sistemaInformacion;
  539.     }
  540.     public function addSistemaInformacion(ParSistemaInformatico $sistemaInformacion): static
  541.     {
  542.         if (!$this->sistemaInformacion->contains($sistemaInformacion)) {
  543.             $this->sistemaInformacion->add($sistemaInformacion);
  544.         }
  545.         return $this;
  546.     }
  547.     public function removeSistemaInformacion(ParSistemaInformatico $sistemaInformacion): static
  548.     {
  549.         $this->sistemaInformacion->removeElement($sistemaInformacion);
  550.         return $this;
  551.     }
  552.     /**
  553.      * @return Collection<int, ParRecursosPerfil>
  554.      */
  555.     public function getRecursos(): Collection
  556.     {
  557.         return $this->recursos;
  558.     }
  559.     public function addRecurso(ParRecursosPerfil $recurso): static
  560.     {
  561.         if (!$this->recursos->contains($recurso)) {
  562.             $this->recursos->add($recurso);
  563.         }
  564.         return $this;
  565.     }
  566.     public function removeRecurso(ParRecursosPerfil $recurso): static
  567.     {
  568.         $this->recursos->removeElement($recurso);
  569.         return $this;
  570.     }
  571.     public function getArchivo(): ?string
  572.     {
  573.         return $this->archivo;
  574.     }
  575.     public function setArchivo(?string $archivo): static
  576.     {
  577.         $this->archivo $archivo;
  578.         return $this;
  579.     }
  580.     public function getEstado(): ?ParEstado
  581.     {
  582.         return $this->estado;
  583.     }
  584.     public function setEstado(?ParEstado $estado): static
  585.     {
  586.         $this->estado $estado;
  587.         return $this;
  588.     }
  589.     /**
  590.      * @return Collection<int, GHPerfilCargoRelaciones>
  591.      */
  592.     public function getPerfilCargoRelaciones(): Collection
  593.     {
  594.         return $this->perfilCargoRelaciones;
  595.     }
  596.     public function addPerfilCargoRelacione(GHPerfilCargoRelaciones $perfilCargoRelacione): static
  597.     {
  598.         if (!$this->perfilCargoRelaciones->contains($perfilCargoRelacione)) {
  599.             $this->perfilCargoRelaciones->add($perfilCargoRelacione);
  600.             $perfilCargoRelacione->setPerfilCargo($this);
  601.         }
  602.         return $this;
  603.     }
  604.     public function removePerfilCargoRelacione(GHPerfilCargoRelaciones $perfilCargoRelacione): static
  605.     {
  606.         if ($this->perfilCargoRelaciones->removeElement($perfilCargoRelacione)) {
  607.             // set the owning side to null (unless already changed)
  608.             if ($perfilCargoRelacione->getPerfilCargo() === $this) {
  609.                 $perfilCargoRelacione->setPerfilCargo(null);
  610.             }
  611.         }
  612.         return $this;
  613.     }
  614.     public function getAccesoInfoConf(): ?int
  615.     {
  616.         return $this->accesoInfoConf;
  617.     }
  618.     public function setAccesoInfoConf(?int $accesoInfoConf): static
  619.     {
  620.         $this->accesoInfoConf $accesoInfoConf;
  621.         return $this;
  622.     }
  623.     public function getConstratacionAsociados(): ?int
  624.     {
  625.         return $this->constratacionAsociados;
  626.     }
  627.     public function setConstratacionAsociados(?int $constratacionAsociados): static
  628.     {
  629.         $this->constratacionAsociados $constratacionAsociados;
  630.         return $this;
  631.     }
  632.     public function getTomaDecisiones(): ?int
  633.     {
  634.         return $this->tomaDecisiones;
  635.     }
  636.     public function setTomaDecisiones(?int $tomaDecisiones): static
  637.     {
  638.         $this->tomaDecisiones $tomaDecisiones;
  639.         return $this;
  640.     }
  641.     public function getProgramasInfoSensible(): ?int
  642.     {
  643.         return $this->programasInfoSensible;
  644.     }
  645.     public function setProgramasInfoSensible(?int $programasInfoSensible): static
  646.     {
  647.         $this->programasInfoSensible $programasInfoSensible;
  648.         return $this;
  649.     }
  650.     public function getContactoCarga(): ?int
  651.     {
  652.         return $this->contactoCarga;
  653.     }
  654.     public function setContactoCarga(?int $contactoCarga): static
  655.     {
  656.         $this->contactoCarga $contactoCarga;
  657.         return $this;
  658.     }
  659.     public function getJefeInmediatoCargo(): ?ParCargo
  660.     {
  661.         return $this->jefeInmediatoCargo;
  662.     }
  663.     public function setJefeInmediatoCargo(?ParCargo $jefeInmediatoCargo): static
  664.     {
  665.         $this->jefeInmediatoCargo $jefeInmediatoCargo;
  666.         return $this;
  667.     }
  668.     /**
  669.      * @return Collection<int, GHMatrizEntrenamiento>
  670.      */
  671.     public function getMatrizEntrenamientos(): Collection
  672.     {
  673.         return $this->matrizEntrenamientos;
  674.     }
  675.     public function addMatrizEntrenamiento(GHMatrizEntrenamiento $matrizEntrenamiento): static
  676.     {
  677.         if (!$this->matrizEntrenamientos->contains($matrizEntrenamiento)) {
  678.             $this->matrizEntrenamientos->add($matrizEntrenamiento);
  679.             $matrizEntrenamiento->setPerfilCargo($this);
  680.         }
  681.         return $this;
  682.     }
  683.     public function removeMatrizEntrenamiento(GHMatrizEntrenamiento $matrizEntrenamiento): static
  684.     {
  685.         if ($this->matrizEntrenamientos->removeElement($matrizEntrenamiento)) {
  686.             // set the owning side to null (unless already changed)
  687.             if ($matrizEntrenamiento->getPerfilCargo() === $this) {
  688.                 $matrizEntrenamiento->setPerfilCargo(null);
  689.             }
  690.         }
  691.         return $this;
  692.     }
  693.     /**
  694.      * @return Collection<int, GHCambioContrato>
  695.      */
  696.     public function getCambioContrato(): Collection
  697.     {
  698.         return $this->cambioContrato;
  699.     }
  700.     public function addCambioContrato(GHCambioContrato $cambioContrato): static
  701.     {
  702.         if (!$this->cambioContrato->contains($cambioContrato)) {
  703.             $this->cambioContrato->add($cambioContrato);
  704.             $cambioContrato->setCargo($this);
  705.         }
  706.         return $this;
  707.     }
  708.     public function removeCambioContrato(GHCambioContrato $cambioContrato): static
  709.     {
  710.         if ($this->cambioContrato->removeElement($cambioContrato)) {
  711.             // set the owning side to null (unless already changed)
  712.             if ($cambioContrato->getCargo() === $this) {
  713.                 $cambioContrato->setCargo(null);
  714.             }
  715.         }
  716.         return $this;
  717.     }
  718.     /**
  719.      * @return Collection<int, RFPrecintoAsignacion>
  720.      */
  721.     public function getPrecintoAsignado(): Collection
  722.     {
  723.         return $this->precintoAsignado;
  724.     }
  725.     public function addPrecintoAsignado(RFPrecintoAsignacion $precintoAsignado): static
  726.     {
  727.         if (!$this->precintoAsignado->contains($precintoAsignado)) {
  728.             $this->precintoAsignado->add($precintoAsignado);
  729.             $precintoAsignado->setCargo($this);
  730.         }
  731.         return $this;
  732.     }
  733.     public function removePrecintoAsignado(RFPrecintoAsignacion $precintoAsignado): static
  734.     {
  735.         if ($this->precintoAsignado->removeElement($precintoAsignado)) {
  736.             // set the owning side to null (unless already changed)
  737.             if ($precintoAsignado->getCargo() === $this) {
  738.                 $precintoAsignado->setCargo(null);
  739.             }
  740.         }
  741.         return $this;
  742.     }
  743.     /**
  744.      * @return Collection<int, RFTablaRetencion>
  745.      */
  746.     public function getRevisionTablasRetencion(): Collection
  747.     {
  748.         return $this->revisionTablasRetencion;
  749.     }
  750.     public function addRevisionTablasRetencion(RFTablaRetencion $revisionTablasRetencion): static
  751.     {
  752.         if (!$this->revisionTablasRetencion->contains($revisionTablasRetencion)) {
  753.             $this->revisionTablasRetencion->add($revisionTablasRetencion);
  754.             $revisionTablasRetencion->setRevisionDirectorProceso($this);
  755.         }
  756.         return $this;
  757.     }
  758.     public function removeRevisionTablasRetencion(RFTablaRetencion $revisionTablasRetencion): static
  759.     {
  760.         if ($this->revisionTablasRetencion->removeElement($revisionTablasRetencion)) {
  761.             // set the owning side to null (unless already changed)
  762.             if ($revisionTablasRetencion->getRevisionDirectorProceso() === $this) {
  763.                 $revisionTablasRetencion->setRevisionDirectorProceso(null);
  764.             }
  765.         }
  766.         return $this;
  767.     }
  768.     /**
  769.      * @return Collection<int, SecMensaje>
  770.      */
  771.     public function getMensajes(): Collection
  772.     {
  773.         return $this->mensajes;
  774.     }
  775.     public function addMensaje(SecMensaje $mensaje): static
  776.     {
  777.         if (!$this->mensajes->contains($mensaje)) {
  778.             $this->mensajes->add($mensaje);
  779.             $mensaje->setPerfilCargo($this);
  780.         }
  781.         return $this;
  782.     }
  783.     public function removeMensaje(SecMensaje $mensaje): static
  784.     {
  785.         if ($this->mensajes->removeElement($mensaje)) {
  786.             // set the owning side to null (unless already changed)
  787.             if ($mensaje->getPerfilCargo() === $this) {
  788.                 $mensaje->setPerfilCargo(null);
  789.             }
  790.         }
  791.         return $this;
  792.     }
  793.     public function getCreateAt(): ?\DateTimeInterface
  794.     {
  795.         return $this->createAt;
  796.     }
  797.     public function setCreateAt(?\DateTimeInterface $createAt): static
  798.     {
  799.         $this->createAt $createAt;
  800.         return $this;
  801.     }
  802.     public function getFecha(): ?\DateTimeInterface
  803.     {
  804.         return $this->fecha;
  805.     }
  806.     public function setFecha(?\DateTimeInterface $fecha): static
  807.     {
  808.         $this->fecha $fecha;
  809.         return $this;
  810.     }
  811.     /**
  812.      * Retorna el cargo que aprueba este perfil.
  813.      */
  814.     public function getCargoAprueba(): ?ParCargo
  815.     {
  816.         return $this->cargoAprueba;
  817.     }
  818.     /**
  819.      * Asigna el cargo aprobador del perfil.
  820.      */
  821.     public function setCargoAprueba(?ParCargo $cargoAprueba): static
  822.     {
  823.         $this->cargoAprueba $cargoAprueba;
  824.         return $this;
  825.     }
  826.     public function getHabilidades(): ?string
  827.     {
  828.         return $this->habilidades;
  829.     }
  830.     public function setHabilidades(?string $habilidades): static
  831.     {
  832.         $this->habilidades $habilidades;
  833.         return $this;
  834.     }
  835.     public function getDocumentosAplicables(): ?string
  836.     {
  837.         return $this->documentosAplicables;
  838.     }
  839.     public function setDocumentosAplicables(?string $documentosAplicables): static
  840.     {
  841.         $this->documentosAplicables $documentosAplicables;
  842.         return $this;
  843.     }
  844.     /**
  845.      * @return Collection<int, GHPerfilCargoSST>
  846.      */
  847.     public function getPerfilCargoSST(): Collection
  848.     {
  849.         return $this->perfilCargoSST;
  850.     }
  851.     public function addPerfilCargoSST(GHPerfilCargoSST $perfilCargoSST): static
  852.     {
  853.         if (!$this->perfilCargoSST->contains($perfilCargoSST)) {
  854.             $this->perfilCargoSST->add($perfilCargoSST);
  855.             $perfilCargoSST->setGHPerfilCargo($this);
  856.         }
  857.         return $this;
  858.     }
  859.     public function removePerfilCargoSST(GHPerfilCargoSST $perfilCargoSST): static
  860.     {
  861.         if ($this->perfilCargoSST->removeElement($perfilCargoSST)) {
  862.             // set the owning side to null (unless already changed)
  863.             if ($perfilCargoSST->getGHPerfilCargo() === $this) {
  864.                 $perfilCargoSST->setGHPerfilCargo(null);
  865.             }
  866.         }
  867.         return $this;
  868.     }
  869.   
  870.    
  871. }