asignarValoresDeBusqueda($candidato); $arregloCandidato = $this->findDatosCandidatos($datosBusqueda,$candidato); //die(dump($arregloCandidato)); return $arregloCandidato; } private function findDatosCandidatos($datosBusqueda,$candidato){ $em = $this->getEntityManager(); $programaAsignadoConsulta = $em->createQueryBuilder()->select('programa','programaTipo','aldea','aldeaPrograma','ambiente','parroquia','municipio','estado') ->from('UBVSurUbvBundle:AldeaPrograma', 'aldeaPrograma') ->LeftJoin('aldeaPrograma.aldea', 'aldea', 'aldeaPrograma.aldea_id = aldea.id') ->LeftJoin('aldeaPrograma.programa', 'programa', 'aldeaPrograma.programa_id = programa.id') ->LeftJoin('programa.programaTipo', 'programaTipo', 'programaTipo.programa_id = programa.id') ->LeftJoin('aldea.ambiente', 'ambiente', 'aldea.ambiente_id = ambiente.id') ->LeftJoin('ambiente.parroquia', 'parroquia', 'ambiente.parroquia_id = parroquia.id') ->LeftJoin('parroquia.municipio', 'municipio', 'parroquia.municipio_id = municipio.id') ->LeftJoin('municipio.estado', 'estado', 'municipio.estado_id = estado.id') ->where('aldeaPrograma.codigo_opsu= :codigoOpsuPrograma') ->setParameter('codigoOpsuPrograma', '123') ->getQuery() ->getOneOrNullResult(); $etniaConsulta = $em->createQueryBuilder()->select('etnia') ->from('UBVSurUbvBundle:Etnia', 'etnia') ->where('etnia.descripcion= :etnia') ->setParameter('etnia', $datosBusqueda["etnia"]) ->getQuery() ->getOneOrNullResult(); $discapacidadConsulta = $em->createQueryBuilder()->select('discapacidad') ->from('UBVSurUbvBundle:Discapacidad', 'discapacidad') ->where('discapacidad.descripcion= :discapacidad') ->setParameter('discapacidad', $datosBusqueda["discapacidad"]) ->getQuery() ->getOneOrNullResult(); $periodoConsulta = $em->createQueryBuilder()->select('periodo') ->from('UBVSurUbvBundle:PeriodoAcademico', 'periodo') ->where('periodo.descripcion= :periodo') ->setParameter('periodo', $datosBusqueda["periodo"]) ->getQuery() ->getOneOrNullResult(); $estadoCivilConsulta = $em->createQueryBuilder()->select('estadoCivil') ->from('UBVSurUbvBundle:EstadoCivil', 'estadoCivil') ->where('estadoCivil.codigo= :estadoCivil') ->setParameter('estadoCivil', $datosBusqueda["estadoCivil"]) ->getQuery() ->getOneOrNullResult(); $generoConsulta = $em->createQueryBuilder()->select('genero') ->from('UBVSurUbvBundle:Genero', 'genero') ->where('genero.codigo= :genero') ->setParameter('genero', $datosBusqueda["genero"]) ->getQuery() ->getOneOrNullResult(); $documentoIdentidadTipoConsulta = $em->createQueryBuilder()->select('documentoIdentidadTipo') ->from('UBVSurUbvBundle:DocumentoIdentidadTipo', 'documentoIdentidadTipo') ->where('documentoIdentidadTipo.codigo= :documentoIdentidadTipo') ->setParameter('documentoIdentidadTipo', $datosBusqueda["documentoIdentidadTipo"]) ->getQuery() ->getOneOrNullResult(); $telefonoCodigoAreaConsulta = $em->createQueryBuilder()->select('telefonoCodigoArea') ->from('UBVSurUbvBundle:TelefonoCodigoArea', 'telefonoCodigoArea') ->where('telefonoCodigoArea.descripcion LIKE :telefonoCodigoArea') ->setParameter('telefonoCodigoArea', '%'.$datosBusqueda["codigoArea"].'%') ->getQuery() ->getOneOrNullResult(); $correoTipoConsulta = $em->createQueryBuilder()->select('correoTipo') ->from('UBVSurUbvBundle:CorreoTipo', 'correoTipo') ->where('correoTipo.descripcion LIKE :correoTipo') ->setParameter('correoTipo', '%Personal%') ->getQuery() ->getOneOrNullResult(); $aspiranteEstatusConsulta = $em->createQueryBuilder()->select('aspiranteEstatus') ->from('UBVSurUbvBundle:AspiranteEstatus', 'aspiranteEstatus') ->where('aspiranteEstatus.descripcion LIKE :aspiranteEstatus') ->setParameter('aspiranteEstatus', 'No Inscrito') ->getQuery() ->getOneOrNullResult(); $arregloCosultas = array("AldeaPrograma"=>$programaAsignadoConsulta,"Etnia"=>$etniaConsulta,"Discapacidad"=>$discapacidadConsulta, "PeriodoAcademico"=>$periodoConsulta,"EstadoCivil"=>$estadoCivilConsulta,"Genero"=>$generoConsulta, "DocumentoIdentidadTipo"=>$documentoIdentidadTipoConsulta,"TelefonoCodigoArea"=>$telefonoCodigoAreaConsulta, "CorreoTipo"=>$correoTipoConsulta,"AspiranteEstatus"=>$aspiranteEstatusConsulta, ); //die(dump($arregloCosultas)); $arregloCandidato = $this->ordenarArregloCandidato($arregloCosultas, $candidato); return $arregloCandidato; } public function findCandidatoByIdenProg($candidato){ $em = $this->getEntityManager(); //die(dump($candidato["programaAsig"]->getProgramaTipo()->getId())); $existeCandidato = $em->createQueryBuilder()->select('candidato','programa') ->from('UBVSurUbvBundle:Candidato', 'candidato') ->LeftJoin('candidato.programa', 'programa', 'candidato.programa_id = programa.id') ->LeftJoin('programa.programaTipo', 'programaTipo', 'programa.programa_tipo_id = programaTipo.id') ->where('candidato.identificacion= :identificacion') ->Andwhere('programaTipo.id= :programaTipoId') ->setParameter('identificacion', $candidato["identificacion"]) ->setParameter('programaTipoId', $candidato["programaAsig"]->getProgramaTipo()->getId()) ->getQuery() ->getOneOrNullResult(); //die(dump($existeCandidato)); if (is_null($existeCandidato)){ return false; }else{ return true; } } private function asignarValoresDeBusqueda($candidato){ foreach($candidato as $clave => $valor){ if($clave == "codPrograma"){ $codigoOpsuPrograma = $valor; } elseif($clave == "nacionalidad"){ $documentoIdentidadTipo = $valor; } elseif($clave == "genero"){ $genero = $valor; } elseif($clave == "estadoCivil"){ $estadoCivil = $valor; } elseif($clave == "telefono"){ $codigoArea = substr($valor, 0,3); $telefono = substr($valor,3); } elseif($clave == "discapacidad"){ $discapacidad = $valor; } elseif($clave == "trabaja"){ if($valor === 'S'){ $trabaja=true; }else{ $trabaja=false; } } elseif($clave == "etnia"){ $etnia = $valor; } elseif($clave == "periodoAsig"){ $periodoAsignado = explode('-', $valor); $periodo = $periodoAsignado[1].'-'.$periodoAsignado[0]; } } return array("codPrograma"=>$codigoOpsuPrograma,"documentoIdentidadTipo"=>$documentoIdentidadTipo,"genero"=>$genero, "estadoCivil"=>$estadoCivil,"codigoArea"=>$codigoArea,"telefono"=>$telefono, "discapacidad"=>$discapacidad,"etnia"=>$etnia,"periodo"=>$periodo,"trabaja"=>$trabaja); } private function ordenarArregloCandidato($arregloConsultas,$candidato){ //die(dump((array("arregloConsultas"=>$arregloConsultas,"candidato"=>$candidato)))); if(count($arregloConsultas) !== 0){ foreach($candidato as $clave => $valor){ if($clave == "nacionalidad"){ $arrayTemp[$clave] = $arregloConsultas["DocumentoIdentidadTipo"]; } elseif($clave == "genero"){ $arrayTemp[$clave] = $arregloConsultas["Genero"]; } elseif($clave == "estadoCivil"){ $arrayTemp[$clave] = $arregloConsultas["EstadoCivil"]; } elseif($clave == "telefono"){ $telefono = substr($valor,3); $arrayTemp[$clave] = $telefono; } elseif($clave == "discapacidad"){ $arrayTemp[$clave] = $arregloConsultas["Discapacidad"]; } elseif($clave == "etnia"){ $arrayTemp[$clave] = $arregloConsultas["Etnia"]; } elseif($clave == "aldeaAsig"){ $arrayTemp[$clave] = $arregloConsultas["AldeaPrograma"]->getAldea(); } elseif($clave == "periodoAsig"){ $arrayTemp[$clave] = $arregloConsultas["PeriodoAcademico"]; } elseif($clave == "programaAsig"){ $arrayTemp[$clave] = $arregloConsultas["AldeaPrograma"]->getPrograma(); } elseif($clave == "codPrograma"){ $arrayTemp[$clave] = $arregloConsultas["AldeaPrograma"]->getCodigoOpsu(); } elseif($clave == "estadoRes"){ $arrayTemp[$clave] = $arregloConsultas["AldeaPrograma"]->getAldea()->getAmbiente()->getParroquia()->getMunicipio()->getEstado(); } elseif($clave == "trabaja"){ if($valor === 'S'){ $arrayTemp[$clave]=true; }else{ $arrayTemp[$clave]=false; } }else{ $arrayTemp[$clave] = $valor; } } $arrayTemp["correoTipo"]= $arregloConsultas["CorreoTipo"]; $arrayTemp["telefonoCodigoArea"]= $arregloConsultas["TelefonoCodigoArea"]; $arrayTemp["aspiranteEstatus"]= $arregloConsultas["AspiranteEstatus"]; //die(dump(array("objetos"=>$arregloConsultas,"candidato"=>$arrayTemp))); return $arrayTemp; }else{ return; } } }