EstudianteDocumentoRepository.php
8.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?php
namespace UBV\SurUbvBundle\Entity;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Query\Expr\Join;
use Doctrine\ORM\Query;
/**
* EstudianteDocumentoRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class EstudianteDocumentoRepository extends EntityRepository
{
public function findDocumentosByPersona($personaId) {
//die("estoy en la funcion");
$em = $this->getEntityManager();
$result = $em->createQueryBuilder();
$dql = $result->select('documentos')
->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos')
->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id')
//->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id')
->where('persona.id = :personaId')
//->Andwhere('tipoPrograma.id = :tipoPrograma')
//->setParameter('tipoPrograma', $programaTipo)
->setParameter('personaId', $personaId)
->getQuery()->getResult(Query::HYDRATE_ARRAY);
//die(var_dump($dql));
return $dql;
}
public function findDocumentosByAspiranteId($aspiranteId) {
//die("estoy en la funcion");
$em = $this->getEntityManager();
$result = $em->createQueryBuilder();
$dql = $result->select('persona as Persona',
'nacionalidad as Nacionalaidad ',
'nacionalidadPersona as NacionalaidadPersona',
'documentoIdentidad as Documentoidentidad',
'genero as Genero',
'estadoCivil as estadoCivilPersona',
'telefonos as PersonaTelefonos','telefonoCodigoArea','telefonoTipo',
'correos','correoTipo',
'aspirantes', 'aspiranteEstatus','aspiranteTipo',
'programa','programaTipo','programaNivel','aldea','aldeaTipo','programaRequisito','documentos','requisitos',
'groups')
->from('UBVSurUbvBundle:Persona', 'persona')
->Join('persona.personaNacionalidads', 'nacionalidad', 'persona.id = nacionalidad.persona_id')
->Join('persona.genero', 'genero', 'persona.id = genero.persona_id')
->Join('persona.estadoCivil', 'estadoCivil', 'persona.id = estadoCivil.persona_id')
->Join('persona.groups', 'groups', 'persona.id = groups.persona_id')
->LeftJoin('persona.personaCorreos', 'correos', 'persona.id = correos.persona_id')
->LeftJoin('persona.estudianteDocumentos', 'documentos', 'persona.id = documentos.persona_id')
->LeftJoin('documentos.requisitoInscripcion', 'requisitos', 'documentos.requisito_inscripcion_id = requisitos.id')
->LeftJoin('persona.aspirantes', 'aspirantes', 'persona.id = aspirantes.persona_id')
->LeftJoin('aspirantes.programa', 'programa', 'aspirantes.id = programa.aspirante_id')
->LeftJoin('programa.requisitoInscripcions', 'programaRequisito', 'programa.id = programaRequisito.programa_id')
->LeftJoin('aspirantes.aspiranteEstatus', 'aspiranteEstatus', 'aspirantes.id = aspiranteEstatus.aspirante_id')
->LeftJoin('aspirantes.aspiranteTipo', 'aspiranteTipo', 'aspirantes.id = aspiranteTipo.aspirante_id')
->LeftJoin('aspirantes.aldea', 'aldea', 'aspirantes.id = aldea.aspirante_id')
->LeftJoin('aldea.aldeaTipo', 'aldeaTipo', 'aldea.id = aldeaTipo.aldea_id')
->LeftJoin('programa.programaTipo', 'programaTipo', 'programa.id = programaTipo.programa_id')
->LeftJoin('programaTipo.programaNivel', 'programaNivel', 'programaTipo.id = programanivel.programa_id')
->leftJoin('persona.personaTelefonos', 'telefonos', 'persona.id = telefonos.persona_id')
->LeftJoin('correos.correoTipo', 'correoTipo', 'correoTipo.id = correo.correo_tipo_id')
->LeftJoin('telefonos.telefonoCodigoArea', 'telefonoCodigoArea', 'telefonoCodigoArea.id = telefono.telefono_codigo_area_id')
->LeftJoin('telefonoCodigoArea.telefonoTipo', 'telefonoTipo', 'telefonoCodigoArea.id = telefonoTipo.telefono_codigo_area_id')
->Join('nacionalidad.documentoIdentidadTipo', 'documentoIdentidad', 'nacionalidad.documento_identidad_tipo_id = documentoIdentidad.id')
->Join('nacionalidad.nacionalidad', 'nacionalidadPersona', 'nacionalidad.nacionalidad_id = nacionalidadPersona.id')
->where('aspirantes.id = :aspiranteId')
->Andwhere('nacionalidad.estatus = :estatusNacionalidad')
->setParameter('aspiranteId', $aspiranteId)
->setParameter('estatusNacionalidad', true)
->getQuery()
->getSingleResult(Query::HYDRATE_ARRAY);
// $dql = $result->select('documentos','persona','aspirante')
// ->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos')
// ->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id')
// ->Join('persona.aspirantes', 'aspirante', 'persona.id = aspirante.persona_id')
// ->Join('documentos.requisitoInscripcion', 'requisito', 'documentos.requisito_inscripcion_id = requisito.id')
// ->Join('requisito.programas', 'requisitoPrograma', 'requisito.id = requisitoPrograma.requisito_inscripcion_id')
// //->Join('requisito.programas', 'requisitoPrograma', 'requisito.id = requisitoPrograma.requisito_inscripcion_id')
// //->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id')
// ->where('aspirante.id = :aspiranteId')
// ->Andwhere('requisitoPrograma.id = aspirante.programa')
// //->setParameter('tipoPrograma', $programaTipo)
// ->setParameter('aspiranteId', $aspiranteId)
// ->orderBy('documentos.id','ASC')
// ->getQuery()->getResult(Query::HYDRATE_ARRAY);
//die(dump($dql));
return $dql;
// $dql = $result->select('documentos.id as id, documentos.ruta_documento as ruta_documento, documentos.estatus as estatus',
// 'persona.primer_nombre as primer_nombre, persona.segundo_nombre as segundo_nombre, persona.primer_apellido as primer_apellido, persona.segundo_apellido as segundo_apellido')
// ->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos')
// ->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id')
// ->Join('persona.aspirantes', 'aspirante', 'persona.id = aspirante.persona_id')
// //->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id')
// ->where('aspirante.id = :aspiranteId')
// //->Andwhere('tipoPrograma.id = :tipoPrograma')
// //->setParameter('tipoPrograma', $programaTipo)
// ->setParameter('aspiranteId', $aspiranteId)
// ->orderBy('documentos.id','ASC')
// ->getQuery()->getResult(Query::HYDRATE_ARRAY);
////
//// //die(dump($dql));
// return $dql;
}
public function findDocumentosAndAspiranteIdById($documentoId) {
//die("estoy en la funcion");
$em = $this->getEntityManager();
$result = $em->createQueryBuilder();
$dql = $result->select('documentos as ObjetoDocumento',
'persona.primer_nombre as primer_nombre, persona.segundo_nombre as segundo_nombre, persona.primer_apellido as primer_apellido, persona.segundo_apellido as segundo_apellido',
'aspirante.id as AspiranteId')
->from('UBVSurUbvBundle:EstudianteDocumento', 'documentos')
->Join('documentos.persona', 'persona', 'persona.id = documentos.persona_id')
->Join('persona.aspirantes', 'aspirante', 'persona.id = aspirante.persona_id')
//->Join('documentos.tipoPrograma', 'tipoPrograma', 'tipoPrograma.id = documentos.tipoPrograma_id')
->where('documentos.id = :documentoId')
//->Andwhere('tipoPrograma.id = :tipoPrograma')
//->setParameter('tipoPrograma', $programaTipo)
->setParameter('documentoId', $documentoId)
->orderBy('documentos.id','ASC')
->getQuery()->getResult();
//die(dump($dql));
return $dql;
}
}