<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\RegionProvinciaCantonParroquia;
use App\Enum\CausaNoIdoneoEnum;
//use TrazasBundle\Interfaces\trazaInterface;
/**
* ReclutaProceso
*
* @ORM\Table(name="reservista_proceso")
* @ORM\Entity(repositoryClass="App\Repository\ReservistaProcesoRepository")
*/
class ReservistaProceso extends RegionProvinciaCantonParroquia //implements trazaInterface
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="reservista_proceso_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var \App\Entity\ProcesoRegistroReservistas
*
* @ORM\ManyToOne(targetEntity="App\Entity\ProcesoRegistroReservistas")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="proceso", referencedColumnName="id", nullable=false)
* })
*/
private $procesoRegistro;
/**
* @var \App\Entity\Reservista
*
* @ORM\ManyToOne(targetEntity="App\Entity\Reservista", inversedBy="procesos", fetch="EXTRA_LAZY")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="reservista", referencedColumnName="id", nullable=false)
* })
*/
private $reservista;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_registro", type="datetime", nullable=false, columnDefinition = "fecha")
*/
private $fechaRegistro;
/**
* @var string
*
* @ORM\Column(name="pais_residencia", type="string", length=50, nullable=true)
*/
private $paisResidencia;
/**
* @var \App\Entity\NmclDominioLocalizacion
*
* @ORM\ManyToOne(targetEntity="App\Entity\NmclDominioLocalizacion")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="localizacion_residencia", referencedColumnName="id", nullable=true)
* })
*/
private $lugarResidencia;
/**
* @var string
*
* @ORM\Column(name="calle_principal_residencia", type="string", length=50, nullable=true)
*/
private $callePrincipalResidencia;
/**
* @var string
*
* @ORM\Column(name="calle_secundaria_residencia", type="string", length=50, nullable=true)
*/
private $calleSecundariaResidencia;
/**
* @var string
*
* @ORM\Column(name="num_casa", type="string", length=10, nullable=true)
*/
private $numeroCasa;
/**
* @var string
*
* @ORM\Column(name="referencias", type="text", nullable=true)
*/
private $referencias;
/**
* @var string
*
* @ORM\Column(name="geometria", type="text", nullable=true, columnDefinition="geometria_punto")
*/
private $geometria;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_consulta_antecedentes", type="datetime", nullable=true, columnDefinition = "fecha")
*/
private $fechaConsultaAntecedentes;
/**
* @var string
*
* @ORM\Column(name="resultados_antecedentes", type="text", nullable=true)
*/
private $resultadosAntecedentes;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_consulta_estudios", type="datetime", nullable=true, columnDefinition = "fecha")
*/
private $fechaConsultaEstudios;
/**
* @var string
*
* @ORM\Column(name="resultados_estudios", type="text", nullable=true)
*/
private $resultadosEstudios;
/**
* @var \App\Entity\CentroMovilizacion
*
* @ORM\ManyToOne(targetEntity="App\Entity\CentroMovilizacion")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="centro_movilizacion", referencedColumnName="id", nullable=false, columnDefinition="relation/centromovilizacion")
* })
*/
private $centroMovilizacion;
/**
* @var boolean
*
* @ORM\Column(name="idoneo", type="boolean", nullable=true)
*/
private $idoneo;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_resultado", type="datetime", nullable=true, columnDefinition = "fecha")
*/
private $fechaResultado;
/**
* @var string
*
* @ORM\Column(name="causa_rechazo", type="string", length=15, nullable=true)
*/
private $causaRechazo;
/**
* @var string
*
* @ORM\Column(name="observaciones", type="text", nullable=true)
*/
private $observaciones;
/**
* @var string
*
* @ORM\Column(name="volver_presentarse", type="string", length=20, nullable=true)
*/
private $volverPresentarse;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_baja", type="datetime", nullable=true, columnDefinition = "fecha")
*/
private $fechaBaja;
/**
* @var boolean
*
* @ORM\Column(name="certificado_vacunacion_ok", type="boolean", nullable=true)
*/
private $certificadoVacunacionOk;
/**
* @var string
*
* @ORM\Column(name="disponibilidad", type="string", length=15, nullable=false)
*/
private $disponibilidad;
/**
* @var string
*
* @ORM\Column(name="actividad", type="string", length=15, nullable=false)
*/
private $actividad;
/**
* @var string
*
* @ORM\Column(name="error_registro", type="text", nullable=true)
*/
private $errorRegistro;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set fechaRegistro
*
* @param \DateTime $fechaRegistro
* @return ReclutaProceso
*/
public function setFechaRegistro($fechaRegistro)
{
$this->fechaRegistro = $fechaRegistro;
return $this;
}
/**
* Get fechaRegistro
*
* @return \DateTime
*/
public function getFechaRegistro()
{
return $this->fechaRegistro;
}
public function __toString() {
return $this->getReservista()->getNombreCompleto();
}
public function setValuesAfterForm($params)
{
if ($params['accion']=='CREATE')
{
$this->fechaRegistro = new \DateTime();
}
}
public function getReservista() {
return $this->reservista;
}
public function getReservistaNombre() {
return $this->reservista;
}
public function getReservistaSexo() {
$reservista = $this->reservista;
return $reservista->getSexo();
}
public function getReservistaFechaNacimiento() {
$reservista = $this->reservista;
return $reservista->getFechaNacimiento();
}
public function getReservistaEdad() {
$reservista = $this->reservista;
return $reservista->getEdad();
}
public function getReservistaEdadStr() {
$reservista = $this->reservista;
return $reservista->getEdadString();
}
public function getReservistaTelefono() {
$reservista = $this->reservista;
return $reservista->getTelefono();
}
public function getReservistaTelefonoEmergencias() {
$reservista = $this->reservista;
return $reservista->getTelefonoEmergencias();
}
public function getReservistaEmail() {
$reservista = $this->reservista;
return $reservista->getEmail();
}
public function getReservistaEstadoCivil() {
$reservista = $this->reservista;
return $reservista->getEstadoCivil();
}
public function getReservistaEstatura() {
$reservista = $this->reservista;
return $reservista->getEstatura();
}
public function getReservistaPaisNacimiento() {
$reservista = $this->reservista;
return $reservista->getPaisNacimiento();
}
public function getReservistaLocalidadNacimiento() {
$reservista = $this->reservista;
if($reservista->getLugarNacimiento())
return $reservista->getLugarNacimiento()->__toString();
else
return '';
}
public function getReservistaLugarNacimiento() {
$reservista = $this->reservista;
return $reservista->getLugarNacimientoStr();
}
public function getReservistaIdentificacion() {
$reservista = $this->reservista;
return $reservista->getIdentificacion();
}
public function getProcesoRegistro() {
return $this->procesoRegistro;
}
public function getProcesoTexto() {
$proceso = $this->procesoRegistro;
return $proceso->__toString();
}
public function getPaisResidencia() {
return $this->paisResidencia;
}
public function getLugarResidencia() {
return $this->lugarResidencia;
}
public function getCallePrincipalResidencia() {
return $this->callePrincipalResidencia;
}
public function getCalleSecundariaResidencia() {
return $this->calleSecundariaResidencia;
}
public function getNumeroCasa() {
return $this->numeroCasa;
}
public function getDireccion() {
return $this->callePrincipalResidencia.' '.$this->numeroCasa.' '.$this->calleSecundariaResidencia;
}
public function getReferencias() {
return $this->referencias;
}
public function getGeometria() {
return $this->geometria;
}
public function getFechaConsultaAntecedentes() {
return $this->fechaConsultaAntecedentes;
}
public function getResultadosAntecedentes() {
return json_decode($this->resultadosAntecedentes);
}
public function getFechaConsultaEstudios() {
return $this->fechaConsultaEstudios;
}
public function getResultadosEstudios() {
return json_decode($this->resultadosEstudios);
}
public function getIdoneo() {
return $this->idoneo;
}
public function getCentroInstruccion() {
if ($this->unidadMilitar)
{
return $this->unidadMilitar->getCentroInstruccion()->__toString();
}
return '';
}
public function getFechaResultado() {
return $this->fechaResultado;
}
public function getUnidadMilitar() {
return $this->unidadMilitar;
}
public function getFechaAsignacion() {
return $this->fechaAsignacion;
}
public function getCausaRechazo() {
return $this->causaRechazo;
}
public function getCausaRechazoTexto() {
return CausaNoIdoneoEnum::getReadableFor($this->causaRechazo);
}
public function getVolverPresentarse() {
return $this->volverPresentarse;
}
public function setReservista(\App\Entity\Reservista $reservista) {
$this->reservista = $reservista;
}
public function setProcesoRegistro(\App\Entity\ProcesoRegistroReservistas $procesoRegistro) {
$this->procesoRegistro = $procesoRegistro;
}
public function setPaisResidencia($paisResidencia) {
$this->paisResidencia = $paisResidencia;
}
public function setLugarResidencia(\App\Entity\NmclDominioLocalizacion $lugarResidencia) {
$this->lugarResidencia = $lugarResidencia;
}
public function setCallePrincipalResidencia($callePrincipalResidencia) {
$this->callePrincipalResidencia = $callePrincipalResidencia;
}
public function setCalleSecundariaResidencia($calleSecundariaResidencia) {
$this->calleSecundariaResidencia = $calleSecundariaResidencia;
}
public function setNumeroCasa($numeroCasa) {
$this->numeroCasa = $numeroCasa;
}
public function setReferencias($referencias) {
$this->referencias = $referencias;
}
public function setGeometria($geometria) {
$this->geometria = $geometria;
}
public function setFechaConsultaAntecedentes(\DateTime $fechaConsultaAntecedentes) {
$this->fechaConsultaAntecedentes = $fechaConsultaAntecedentes;
}
public function setResultadosAntecedentes($resultadosAntecedentes) {
$this->resultadosAntecedentes = $resultadosAntecedentes;
}
public function setFechaConsultaEstudios(\DateTime $fechaConsultaEstudios) {
$this->fechaConsultaEstudios = $fechaConsultaEstudios;
}
public function setResultadosEstudios($resultadosEstudios) {
$this->resultadosEstudios = $resultadosEstudios;
}
public function setIdoneo($idoneo) {
$this->idoneo = $idoneo;
}
public function setFechaResultado(\DateTime $fechaResultado=null) {
$this->fechaResultado = $fechaResultado;
}
public function setUnidadMilitar(\App\Entity\UnidadMilitar $unidadMilitar=null) {
$this->unidadMilitar = $unidadMilitar;
}
public function setFechaAsignacion(\DateTime $fechaAsignacion) {
$this->fechaAsignacion = $fechaAsignacion;
}
public function setCausaRechazo($causaRechazo=null) {
$this->causaRechazo = $causaRechazo;
}
public function setVolverPresentarse($volverPresentarse=null) {
$this->volverPresentarse = $volverPresentarse;
}
public static function getParamsForIndexTwig(array $params)
{
$paramsView = parent::getParamsForIndexTwig($params);
$paramsView['parroquiaField']='lugarResidencia';
return $paramsView;
}
public function editParamsForTwig(array $params)
{
return array('parroquiaField'=>'lugarResidencia');
}
public function newParamsForTwig(array $params)
{
return array('parroquiaField'=>'lugarResidencia');
}
public function getCentroMovilizacion() {
return $this->centroMovilizacion;
}
public function setCentroMovilizacion(\App\Entity\CentroMovilizacion $centroMovilizacion) {
$this->centroMovilizacion = $centroMovilizacion;
}
public function getIntentos() {
return $this->intentos;
}
public function getFechaIntento1() {
return $this->fechaIntento1;
}
public function getFechaIntento2() {
return $this->fechaIntento2;
}
public function getFechaIntento3() {
return $this->fechaIntento3;
}
public function getRegion()
{
$provincia = $this->getProvincia();
if ($provincia)
{
return $provincia->getDominioPadre();
}
return null;
}
public function getProvincia()
{
$canton = $this->getCanton();
if ($canton)
{
return $canton->getDominioPadre();
}
return null;
}
public function getCanton()
{
$parroquia = $this->getLugarResidencia();
if ($parroquia)
{
return $parroquia->getDominioPadre();
}
return null;
}
public function setIntentos($intentos=0) {
$this->intentos = $intentos;
}
public function setFechaIntento1(\DateTime $fechaIntento1=null) {
$this->fechaIntento1 = $fechaIntento1;
}
public function setFechaIntento2(\DateTime $fechaIntento2=null) {
$this->fechaIntento2 = $fechaIntento2;
}
public function setFechaIntento3(\DateTime $fechaIntento3=null) {
$this->fechaIntento3 = $fechaIntento3;
}
public function getObservaciones() {
return $this->observaciones;
}
public function setObservaciones($observaciones) {
$this->observaciones = $observaciones;
}
public function getErrorRegistro() {
return $this->errorRegistro;
}
public function setErrorRegistro($errorRegistro) {
$this->errorRegistro = $errorRegistro;
}
public function getTurno() {
return $this->turno;
}
public function setTurno($turno) {
$this->turno = $turno;
}
public function getFechaBaja() {
return $this->fechaBaja;
}
public function setFechaBaja(\DateTime $fechaBaja=null) {
$this->fechaBaja = $fechaBaja;
}
public static function getEntidadName()
{
return 'Reservista participante';
}
public function dateToTxt($field)
{
$date = $this->$field;
if($this->$field){
$diaSemana = ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'];
$diaSemana = $diaSemana[$date->format('w')];
$mes = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];
$mes = $mes[$date->format('n')-1];
return $diaSemana.' '.date_format($date,'d').' de '.$mes.' del '.date_format($date,'Y');
}else{
return 'NO DEFINIDO';
}
}
public function getCertificadoVacunacionOk() {
return $this->certificadoVacunacionOk;
}
public function setCertificadoVacunacionOk($certificadoVacunacionOk) {
$this->certificadoVacunacionOk = $certificadoVacunacionOk;
}
public function getDisponibilidad(): ?string {
return $this->disponibilidad;
}
public function getActividad(): ?string {
return $this->actividad;
}
public function setDisponibilidad(string $disponibilidad): void {
$this->disponibilidad = $disponibilidad;
}
public function setActividad(string $actividad): void {
$this->actividad = $actividad;
}
}