AspiranteRepository.php 3.78 KB
<?php

namespace UBV\SurUbvBundle\Entity;

use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Query\Expr\Join;
use Doctrine\ORM\Query;

/**
 * AspiranteRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class AspiranteRepository extends EntityRepository
{
  public function findObjetoAspiranteByPersonaId($personaId, $programaTipo) {
    $em = $this->getEntityManager();
    //die(var_dump($programaTipo));
    $result = $em->createQueryBuilder();
    
    $dql = $result->select('aspirante')
            ->from('UBVSurUbvBundle:Aspirante', 'aspirante')
            ->Join('aspirante.persona', 'persona', 'aspirante.persona_id = persona.id')
            ->Join('aspirante.programa', 'programa', 'aspirante.programa_id = programa.id')
            ->Join('programa.programaTipo', 'tipoPrograma', 'programa.programa_tipo_id = tipoPrograma.id')
            //->innerJoin('persona.estudianteDocumentos', 'documentos', 'persona.id = documentos.persona_id')
            ->where('persona.id = :personaId')
            ->AndWhere('programa.id = :programaId')
            //->Andwhere('documentos.estatus = :estatusDocumentos')
            ->setParameter('personaId', $personaId)
            ->setParameter('programaId', $programaTipo)
            //->setParameter('estatusDocumentos', true)
            ->getQuery()
            ->getOneOrNullResult();
  
    //die(var_dump($dql));
    return $dql;
  }
  
  public function findDatosAspirantes() {
    
    $em = $this->getEntityManager();


    //$primerNombre = $datos_form["primerNombre"];
    //$segundoNombre = $datos_form["segundoNombre"];
    //$primerApellido = $datos_form["primerApellido"];
    //$segundoApellido = $datos_form["segundoApellido"];

    //$correoPersonal = $datos_form["correoPersonal"];

    
    $periodoAIniciar = $em->getRepository("UBVSurUbvBundle:PeriodoAcademico")->findObjetoPeriodoAcademicoByEstatus("Por Iniciar");
    //die(dump($periodoAIniciar["descripcion"]));
    $result = $em->createQueryBuilder();

      $dql = $result->select('aspirante.id as aspiranteId, aspirante.periodo_asignado as Periodo','aldea.descripcion as Aldea','aspiranteTipo.descripcion as aspiranteTipoDescripcion',
                             'persona.id as personaId, persona.primer_nombre as primerNombre, persona.segundo_nombre as segundoNombre, persona.primer_apellido as primerApellido,'
                            .'persona.segundo_apellido as segundoApellido','programa.descripcion as ProgramaAsignado','documentoIdentidad.identificacion as Identificacion',
                            'documentoIdentidadTipo.descripcion as DocumentoidentidadTipoDescripcion'
                  )
            ->from('UBVSurUbvBundle:Aspirante', 'aspirante')
            ->leftJoin('aspirante.persona','persona','aspirante.persona_id = persona.id')
            ->leftJoin('aspirante.aldea','aldea','aspirante.aldea_id = aldea.id')
            ->leftJoin('aspirante.aspiranteTipo','aspiranteTipo','aspirante.tipo_id = aspiranteTipo.id')
            ->leftJoin('aspirante.programa','programa','aspirante.programa_id = programa.id')
            ->leftJoin('persona.personaNacionalidads','documentoIdentidad','persona.id = documentoIdentidad.persona_id')
            ->leftJoin('documentoIdentidad.documentoIdentidadTipo','documentoIdentidadTipo','documentoIdentidad.documento>_identidad_tipo_id = documentoIdentidadTipo.id')
            
            ->where('aspirante.periodo_asignado LIKE :periodoAIniciar')

            ->setParameter('periodoAIniciar', '%' . $periodoAIniciar["descripcion"] . '%')
            ->getQuery()
            ->getResult(Query::HYDRATE_ARRAY);
          
    //die(dump($dql));
    
      if (!empty($dql)) {
      //die(var_dump($dql));
      return $dql;
    } else {
      //die("no trae nada");
      return false;
    }
  }
  
}