src/Entity/ReservistaProceso.php line 399

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use App\Entity\RegionProvinciaCantonParroquia;
  5. use App\Enum\CausaNoIdoneoEnum;
  6. //use TrazasBundle\Interfaces\trazaInterface;
  7. /**
  8.  * ReclutaProceso
  9.  *
  10.  * @ORM\Table(name="reservista_proceso")
  11.  * @ORM\Entity(repositoryClass="App\Repository\ReservistaProcesoRepository")
  12.  */
  13. class ReservistaProceso extends RegionProvinciaCantonParroquia //implements trazaInterface
  14. {
  15.     /**
  16.      * @var integer
  17.      *
  18.      * @ORM\Column(name="id", type="integer", nullable=false)
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue(strategy="SEQUENCE")
  21.      * @ORM\SequenceGenerator(sequenceName="reservista_proceso_id_seq", allocationSize=1, initialValue=1)
  22.      */
  23.     private $id;
  24.     /**
  25.      * @var \App\Entity\ProcesoRegistroReservistas
  26.      *
  27.      * @ORM\ManyToOne(targetEntity="App\Entity\ProcesoRegistroReservistas")
  28.      * @ORM\JoinColumns({
  29.      *   @ORM\JoinColumn(name="proceso", referencedColumnName="id", nullable=false)
  30.      * })
  31.      */
  32.     private $procesoRegistro;
  33.     
  34.     /**
  35.      * @var \App\Entity\Reservista
  36.      *
  37.      * @ORM\ManyToOne(targetEntity="App\Entity\Reservista", inversedBy="procesos", fetch="EXTRA_LAZY")
  38.      * @ORM\JoinColumns({
  39.      *   @ORM\JoinColumn(name="reservista", referencedColumnName="id", nullable=false)
  40.      * })
  41.      */
  42.     private $reservista;
  43.     
  44.     /**
  45.      * @var \DateTime
  46.      *
  47.      * @ORM\Column(name="fecha_registro", type="datetime", nullable=false, columnDefinition = "fecha")
  48.      */
  49.     private $fechaRegistro;
  50.         
  51.     
  52.     /**
  53.      * @var string
  54.      *
  55.      * @ORM\Column(name="pais_residencia", type="string", length=50, nullable=true)
  56.      */
  57.     private $paisResidencia;
  58.     
  59.     /**
  60.      * @var \App\Entity\NmclDominioLocalizacion
  61.      *
  62.      * @ORM\ManyToOne(targetEntity="App\Entity\NmclDominioLocalizacion")
  63.      * @ORM\JoinColumns({
  64.      *   @ORM\JoinColumn(name="localizacion_residencia", referencedColumnName="id", nullable=true)
  65.      * })
  66.      */
  67.     private $lugarResidencia;
  68.     
  69.     /**
  70.      * @var string
  71.      *
  72.      * @ORM\Column(name="calle_principal_residencia", type="string", length=50, nullable=true)
  73.      */
  74.     private $callePrincipalResidencia;
  75.     
  76.     /**
  77.      * @var string
  78.      *
  79.      * @ORM\Column(name="calle_secundaria_residencia", type="string", length=50, nullable=true)
  80.      */
  81.     private $calleSecundariaResidencia;
  82.     
  83.     /**
  84.      * @var string
  85.      *
  86.      * @ORM\Column(name="num_casa", type="string", length=10, nullable=true)
  87.      */
  88.     private $numeroCasa;
  89.     
  90.     /**
  91.      * @var string
  92.      *
  93.      * @ORM\Column(name="referencias", type="text", nullable=true)
  94.      */
  95.     private $referencias;
  96.     
  97.     /**
  98.      * @var string
  99.      *
  100.      * @ORM\Column(name="geometria", type="text", nullable=true, columnDefinition="geometria_punto")
  101.      */
  102.     private $geometria;
  103.     /**
  104.      * @var \DateTime
  105.      *
  106.      * @ORM\Column(name="fecha_consulta_antecedentes", type="datetime", nullable=true, columnDefinition = "fecha")
  107.      */
  108.     private $fechaConsultaAntecedentes;
  109.     /**
  110.      * @var string
  111.      *
  112.      * @ORM\Column(name="resultados_antecedentes", type="text", nullable=true)
  113.      */
  114.     private $resultadosAntecedentes;
  115.     
  116.     /**
  117.      * @var \DateTime
  118.      *
  119.      * @ORM\Column(name="fecha_consulta_estudios", type="datetime", nullable=true, columnDefinition = "fecha")
  120.      */
  121.     private $fechaConsultaEstudios;
  122.     /**
  123.      * @var string
  124.      *
  125.      * @ORM\Column(name="resultados_estudios", type="text", nullable=true)
  126.      */
  127.     private $resultadosEstudios;
  128.     
  129.     /**
  130.      * @var \App\Entity\CentroMovilizacion
  131.      *
  132.      * @ORM\ManyToOne(targetEntity="App\Entity\CentroMovilizacion")
  133.      * @ORM\JoinColumns({
  134.      *   @ORM\JoinColumn(name="centro_movilizacion", referencedColumnName="id", nullable=false, columnDefinition="relation/centromovilizacion")
  135.      * })
  136.      */
  137.     private $centroMovilizacion;
  138.     
  139.     
  140.     /**
  141.      * @var boolean
  142.      *
  143.      * @ORM\Column(name="idoneo", type="boolean", nullable=true)
  144.      */
  145.     private $idoneo;
  146.     
  147.     /**
  148.      * @var \DateTime
  149.      *
  150.      * @ORM\Column(name="fecha_resultado", type="datetime", nullable=true, columnDefinition = "fecha")
  151.      */
  152.     private $fechaResultado;
  153.     /**
  154.      * @var string
  155.      *
  156.      * @ORM\Column(name="causa_rechazo", type="string", length=15, nullable=true)
  157.      */
  158.     private $causaRechazo;
  159.     
  160.     /**
  161.      * @var string
  162.      *
  163.      * @ORM\Column(name="observaciones", type="text", nullable=true)
  164.      */
  165.     private $observaciones;
  166.     
  167.     /**
  168.      * @var string
  169.      *
  170.      * @ORM\Column(name="volver_presentarse", type="string", length=20, nullable=true)
  171.      */
  172.     private $volverPresentarse;
  173.     
  174.     /**
  175.      * @var \DateTime
  176.      *
  177.      * @ORM\Column(name="fecha_baja", type="datetime", nullable=true, columnDefinition = "fecha")
  178.      */
  179.     private $fechaBaja;
  180.     
  181.     /**
  182.      * @var boolean
  183.      *
  184.      * @ORM\Column(name="certificado_vacunacion_ok", type="boolean", nullable=true)
  185.      */
  186.     private $certificadoVacunacionOk;
  187.     
  188.     /**
  189.      * @var string
  190.      *
  191.      * @ORM\Column(name="disponibilidad", type="string", length=15, nullable=false)
  192.      */
  193.     private $disponibilidad;
  194.     
  195.     /**
  196.      * @var string
  197.      *
  198.      * @ORM\Column(name="actividad", type="string", length=15, nullable=false)
  199.      */
  200.     private $actividad;
  201.     
  202.     
  203.     
  204.     /**
  205.      * @var string
  206.      *
  207.      * @ORM\Column(name="error_registro", type="text", nullable=true)
  208.      */
  209.     private $errorRegistro;
  210.     
  211.     /**
  212.      * Get id
  213.      *
  214.      * @return integer 
  215.      */
  216.     public function getId()
  217.     {
  218.         return $this->id;
  219.     }
  220.     /**
  221.      * Set fechaRegistro
  222.      *
  223.      * @param \DateTime $fechaRegistro
  224.      * @return ReclutaProceso
  225.      */
  226.     public function setFechaRegistro($fechaRegistro)
  227.     {
  228.         $this->fechaRegistro $fechaRegistro;
  229.     
  230.         return $this;
  231.     }
  232.     /**
  233.      * Get fechaRegistro
  234.      *
  235.      * @return \DateTime 
  236.      */
  237.     public function getFechaRegistro()
  238.     {
  239.         return $this->fechaRegistro;
  240.     }
  241.     public function __toString() {
  242.         return $this->getReservista()->getNombreCompleto();
  243.     }
  244.     
  245.     public function setValuesAfterForm($params)
  246.     {
  247.         if ($params['accion']=='CREATE')
  248.         {
  249.             $this->fechaRegistro = new \DateTime();    
  250.         }
  251.     }      
  252.     
  253.     public function getReservista() {
  254.         return $this->reservista;
  255.     }
  256.     public function getReservistaNombre() {
  257.         return $this->reservista;
  258.     }
  259.     public function getReservistaSexo() {
  260.         $reservista $this->reservista;
  261.         return $reservista->getSexo();
  262.     }
  263.     public function getReservistaFechaNacimiento() {
  264.         $reservista $this->reservista;
  265.         return $reservista->getFechaNacimiento();
  266.     }
  267.     public function getReservistaEdad() {
  268.         $reservista $this->reservista;
  269.         return $reservista->getEdad();
  270.     }
  271.     public function getReservistaEdadStr() {
  272.         $reservista $this->reservista;
  273.         return $reservista->getEdadString();
  274.     }
  275.     public function getReservistaTelefono() {
  276.         $reservista $this->reservista;
  277.         return $reservista->getTelefono();
  278.     }
  279.     public function getReservistaTelefonoEmergencias() {
  280.         $reservista $this->reservista;
  281.         return $reservista->getTelefonoEmergencias();
  282.     }
  283.     public function getReservistaEmail() {
  284.         $reservista $this->reservista;
  285.         return $reservista->getEmail();
  286.     }
  287.     public function getReservistaEstadoCivil() {
  288.         $reservista $this->reservista;
  289.         return $reservista->getEstadoCivil();
  290.     }
  291.     public function getReservistaEstatura() {
  292.         $reservista $this->reservista;
  293.         return $reservista->getEstatura();
  294.     }
  295.     public function getReservistaPaisNacimiento() {
  296.         $reservista $this->reservista;
  297.         return $reservista->getPaisNacimiento();
  298.     }
  299.     public function getReservistaLocalidadNacimiento() {
  300.         $reservista $this->reservista;
  301.         
  302.         if($reservista->getLugarNacimiento())
  303.             return $reservista->getLugarNacimiento()->__toString();
  304.         else
  305.             return '';
  306.     }
  307.     public function getReservistaLugarNacimiento() {
  308.         $reservista $this->reservista;
  309.         return $reservista->getLugarNacimientoStr();
  310.     }
  311.     
  312.     public function getReservistaIdentificacion() {
  313.         $reservista $this->reservista;
  314.         return $reservista->getIdentificacion();
  315.     }
  316.     public function getProcesoRegistro() {
  317.         return $this->procesoRegistro;
  318.     }
  319.     public function getProcesoTexto() {
  320.         $proceso $this->procesoRegistro;
  321.         return $proceso->__toString();
  322.     }
  323.     
  324.     public function getPaisResidencia() {
  325.         return $this->paisResidencia;
  326.     }
  327.     public function getLugarResidencia() {
  328.         return $this->lugarResidencia;
  329.     }
  330.     public function getCallePrincipalResidencia() {
  331.         return $this->callePrincipalResidencia;
  332.     }
  333.     public function getCalleSecundariaResidencia() {
  334.         return $this->calleSecundariaResidencia;
  335.     }
  336.     public function getNumeroCasa() {
  337.         return $this->numeroCasa;
  338.     }
  339.     public function getDireccion() {
  340.         return $this->callePrincipalResidencia.' '.$this->numeroCasa.' '.$this->calleSecundariaResidencia;
  341.     }
  342.     
  343.     
  344.     public function getReferencias() {
  345.         return $this->referencias;
  346.     }
  347.     public function getGeometria() {
  348.         return $this->geometria;
  349.     }
  350.     public function getFechaConsultaAntecedentes() {
  351.         return $this->fechaConsultaAntecedentes;
  352.     }
  353.     public function getResultadosAntecedentes() {
  354.         return json_decode($this->resultadosAntecedentes);
  355.     }
  356.     public function getFechaConsultaEstudios() {
  357.         return $this->fechaConsultaEstudios;
  358.     }
  359.     public function getResultadosEstudios() {
  360.         return json_decode($this->resultadosEstudios);
  361.     }
  362.     public function getIdoneo() {
  363.         return $this->idoneo;
  364.     }
  365.     public function getCentroInstruccion() {
  366.         if ($this->unidadMilitar)
  367.         {
  368.             return $this->unidadMilitar->getCentroInstruccion()->__toString();
  369.         }
  370.         return '';
  371.     }
  372.     public function getFechaResultado() {
  373.         return $this->fechaResultado;
  374.     }
  375.     public function getUnidadMilitar() {
  376.         return $this->unidadMilitar;
  377.     }
  378.     public function getFechaAsignacion() {
  379.         return $this->fechaAsignacion;
  380.     }
  381.     public function getCausaRechazo() {
  382.         return $this->causaRechazo;
  383.     }
  384.     public function getCausaRechazoTexto() {
  385.         return CausaNoIdoneoEnum::getReadableFor($this->causaRechazo);
  386.     }
  387.     
  388.     public function getVolverPresentarse() {
  389.         return $this->volverPresentarse;
  390.     }
  391.     public function setReservista(\App\Entity\Reservista $reservista) {
  392.         $this->reservista $reservista;
  393.     }
  394.     public function setProcesoRegistro(\App\Entity\ProcesoRegistroReservistas $procesoRegistro) {
  395.         $this->procesoRegistro $procesoRegistro;
  396.     }
  397.     public function setPaisResidencia($paisResidencia) {
  398.         $this->paisResidencia $paisResidencia;
  399.     }
  400.     public function setLugarResidencia(\App\Entity\NmclDominioLocalizacion $lugarResidencia) {
  401.         $this->lugarResidencia $lugarResidencia;
  402.     }
  403.     public function setCallePrincipalResidencia($callePrincipalResidencia) {
  404.         $this->callePrincipalResidencia $callePrincipalResidencia;
  405.     }
  406.     public function setCalleSecundariaResidencia($calleSecundariaResidencia) {
  407.         $this->calleSecundariaResidencia $calleSecundariaResidencia;
  408.     }
  409.     public function setNumeroCasa($numeroCasa) {
  410.         $this->numeroCasa $numeroCasa;
  411.     }
  412.     public function setReferencias($referencias) {
  413.         $this->referencias $referencias;
  414.     }
  415.     public function setGeometria($geometria) {
  416.         $this->geometria $geometria;
  417.     }
  418.     public function setFechaConsultaAntecedentes(\DateTime $fechaConsultaAntecedentes) {
  419.         $this->fechaConsultaAntecedentes $fechaConsultaAntecedentes;
  420.     }
  421.     public function setResultadosAntecedentes($resultadosAntecedentes) {
  422.         $this->resultadosAntecedentes $resultadosAntecedentes;
  423.     }
  424.     public function setFechaConsultaEstudios(\DateTime $fechaConsultaEstudios) {
  425.         $this->fechaConsultaEstudios $fechaConsultaEstudios;
  426.     }
  427.     public function setResultadosEstudios($resultadosEstudios) {
  428.         $this->resultadosEstudios $resultadosEstudios;
  429.     }
  430.     public function setIdoneo($idoneo) {
  431.         $this->idoneo $idoneo;
  432.     }
  433.     public function setFechaResultado(\DateTime $fechaResultado=null) {
  434.         $this->fechaResultado $fechaResultado;
  435.     }
  436.     public function setUnidadMilitar(\App\Entity\UnidadMilitar $unidadMilitar=null) {
  437.         $this->unidadMilitar $unidadMilitar;
  438.     }
  439.     public function setFechaAsignacion(\DateTime $fechaAsignacion) {
  440.         $this->fechaAsignacion $fechaAsignacion;
  441.     }
  442.     public function setCausaRechazo($causaRechazo=null) {
  443.         $this->causaRechazo $causaRechazo;
  444.     }
  445.     public function setVolverPresentarse($volverPresentarse=null) {
  446.         $this->volverPresentarse $volverPresentarse;
  447.     }
  448.     public static function getParamsForIndexTwig(array $params)
  449.     {
  450.         $paramsView parent::getParamsForIndexTwig($params);
  451.         $paramsView['parroquiaField']='lugarResidencia';
  452.         return $paramsView;
  453.     }
  454.     
  455.     public function editParamsForTwig(array $params)
  456.     {
  457.        return array('parroquiaField'=>'lugarResidencia');
  458.     }
  459.     
  460.     public function newParamsForTwig(array $params)
  461.     {
  462.        return array('parroquiaField'=>'lugarResidencia');
  463.     }
  464.     
  465.     public function getCentroMovilizacion() {
  466.         return $this->centroMovilizacion;
  467.     }
  468.     public function setCentroMovilizacion(\App\Entity\CentroMovilizacion $centroMovilizacion) {
  469.         $this->centroMovilizacion $centroMovilizacion;
  470.     }
  471.     public function getIntentos() {
  472.         return $this->intentos;
  473.     }
  474.     public function getFechaIntento1() {
  475.         return $this->fechaIntento1;
  476.     }
  477.     public function getFechaIntento2() {
  478.         return $this->fechaIntento2;
  479.     }
  480.     public function getFechaIntento3() {
  481.         return $this->fechaIntento3;
  482.     }
  483.     
  484.     
  485.     public function getRegion()
  486.     {
  487.         $provincia $this->getProvincia();
  488.         if ($provincia)
  489.         {
  490.             return $provincia->getDominioPadre();
  491.         }
  492.         return null;
  493.     }
  494.     public function getProvincia()
  495.     {
  496.         $canton $this->getCanton();
  497.         if ($canton)
  498.         {
  499.             return $canton->getDominioPadre();
  500.         }
  501.         return null;
  502.     }
  503.     public function getCanton()
  504.     {
  505.         $parroquia $this->getLugarResidencia();
  506.         if ($parroquia)
  507.         {
  508.             return $parroquia->getDominioPadre();
  509.         }
  510.         return null;
  511.     }
  512.     
  513.     public function setIntentos($intentos=0) {
  514.         $this->intentos $intentos;
  515.     }
  516.     public function setFechaIntento1(\DateTime $fechaIntento1=null) {
  517.         $this->fechaIntento1 $fechaIntento1;
  518.     }
  519.     public function setFechaIntento2(\DateTime $fechaIntento2=null) {
  520.         $this->fechaIntento2 $fechaIntento2;
  521.     }
  522.     public function setFechaIntento3(\DateTime $fechaIntento3=null) {
  523.         $this->fechaIntento3 $fechaIntento3;
  524.     }
  525.     public function getObservaciones() {
  526.         return $this->observaciones;
  527.     }
  528.     public function setObservaciones($observaciones) {
  529.         $this->observaciones $observaciones;
  530.     }
  531.     
  532.     
  533.     public function getErrorRegistro() {
  534.         return $this->errorRegistro;
  535.     }
  536.     public function setErrorRegistro($errorRegistro) {
  537.         $this->errorRegistro $errorRegistro;
  538.     }
  539.     
  540.     public function getTurno() {
  541.         return $this->turno;
  542.     }
  543.     public function setTurno($turno) {
  544.         $this->turno $turno;
  545.     }
  546.     public function getFechaBaja() {
  547.         return $this->fechaBaja;
  548.     }
  549.     public function setFechaBaja(\DateTime $fechaBaja=null) {
  550.         $this->fechaBaja $fechaBaja;
  551.     }
  552.     public static function getEntidadName()
  553.     {
  554.         return 'Reservista participante';
  555.     }     
  556.     
  557.     public function dateToTxt($field)
  558.     {
  559.         $date $this->$field;
  560.         if($this->$field){
  561.             $diaSemana = ['Domingo''Lunes''Martes''Miércoles''Jueves''Viernes''Sábado'];
  562.             $diaSemana $diaSemana[$date->format('w')];
  563.             $mes = ['Enero''Febrero''Marzo''Abril''Mayo''Junio''Julio''Agosto''Septiembre''Octubre''Noviembre''Diciembre'];
  564.             $mes $mes[$date->format('n')-1];
  565.             return $diaSemana.' '.date_format($date,'d').' de '.$mes.' del '.date_format($date,'Y');
  566.         }else{
  567.             return 'NO DEFINIDO';
  568.         }
  569.     }
  570.     
  571.     public function getCertificadoVacunacionOk() {
  572.         return $this->certificadoVacunacionOk;
  573.     }
  574.     public function setCertificadoVacunacionOk($certificadoVacunacionOk) {
  575.         $this->certificadoVacunacionOk $certificadoVacunacionOk;
  576.     }
  577.     public function getDisponibilidad(): ?string {
  578.         return $this->disponibilidad;
  579.     }
  580.     public function getActividad(): ?string {
  581.         return $this->actividad;
  582.     }
  583.     public function setDisponibilidad(string $disponibilidad): void {
  584.         $this->disponibilidad $disponibilidad;
  585.     }
  586.     public function setActividad(string $actividad): void {
  587.         $this->actividad $actividad;
  588.     } 
  589. }