Commit 2ee059394f58a2d8b76793ac37d539ef1970e900
1 parent
347da7e2
Exists in
master
Alterado APIs aluno / matricula, para exibir resultados cujo estejam transferidos closes #1
Showing
2 changed files
with
29 additions
and
15 deletions
Show diff stats
ieducar/modules/Api/Views/AlunoController.php
@@ -478,21 +478,26 @@ class AlunoController extends ApiCoreController | @@ -478,21 +478,26 @@ class AlunoController extends ApiCoreController | ||
478 | // search options | 478 | // search options |
479 | 479 | ||
480 | protected function searchOptions() { | 480 | protected function searchOptions() { |
481 | - return array('sqlParams' => array($this->getRequest()->escola_id), | 481 | + $escolaId = $this->getRequest()->escola_id ? $this->getRequest()->escola_id : 0; |
482 | + | ||
483 | + return array('sqlParams' => array($escolaId), | ||
482 | 'selectFields' => array('matricula_id')); | 484 | 'selectFields' => array('matricula_id')); |
483 | } | 485 | } |
484 | 486 | ||
485 | protected function sqlsForNumericSearch() { | 487 | protected function sqlsForNumericSearch() { |
486 | $sqls = array(); | 488 | $sqls = array(); |
487 | 489 | ||
488 | - // caso nao receba id da escola, pesquisa por codigo aluno em todas as escolas | 490 | + // caso nao receba id da escola, pesquisa por codigo aluno em todas as escolas, |
491 | + // alunos com e sem matricula são selecionados. | ||
489 | if (! $this->getRequest()->escola_id) { | 492 | if (! $this->getRequest()->escola_id) { |
490 | $sqls[] = "select distinct aluno.cod_aluno as id, pessoa.nome as name from | 493 | $sqls[] = "select distinct aluno.cod_aluno as id, pessoa.nome as name from |
491 | pmieducar.aluno, cadastro.pessoa where pessoa.idpes = aluno.ref_idpes | 494 | pmieducar.aluno, cadastro.pessoa where pessoa.idpes = aluno.ref_idpes |
492 | - and aluno.ativo = 1 and aluno.cod_aluno like $1||'%' and $2 = $2 order by cod_aluno limit 15"; | 495 | + and aluno.ativo = 1 and aluno.cod_aluno like $1||'%' and $2 = $2 |
496 | + order by cod_aluno limit 15"; | ||
493 | } | 497 | } |
494 | 498 | ||
495 | - // seleciona por (codigo matricula ou codigo aluno) e/ou codigo escola | 499 | + // seleciona por (codigo matricula ou codigo aluno) e opcionalmente por codigo escola, |
500 | + // apenas alunos com matricula são selecionados. | ||
496 | $sqls[] = "select * from (select distinct ON (aluno.cod_aluno) aluno.cod_aluno as id, | 501 | $sqls[] = "select * from (select distinct ON (aluno.cod_aluno) aluno.cod_aluno as id, |
497 | matricula.cod_matricula as matricula_id, pessoa.nome as name from pmieducar.matricula, | 502 | matricula.cod_matricula as matricula_id, pessoa.nome as name from pmieducar.matricula, |
498 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and | 503 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and |
@@ -500,7 +505,7 @@ class AlunoController extends ApiCoreController | @@ -500,7 +505,7 @@ class AlunoController extends ApiCoreController | ||
500 | matricula.ativo = 1 and | 505 | matricula.ativo = 1 and |
501 | (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 else 1=1 end) and | 506 | (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 else 1=1 end) and |
502 | (matricula.cod_matricula like $1||'%' or matricula.ref_cod_aluno like $1||'%') and | 507 | (matricula.cod_matricula like $1||'%' or matricula.ref_cod_aluno like $1||'%') and |
503 | - matricula.aprovado in (1, 2, 3, 7, 8, 9) limit 15) as alunos order by id"; | 508 | + matricula.aprovado in (1, 2, 3, 4, 7, 8, 9) limit 15) as alunos order by id"; |
504 | 509 | ||
505 | return $sqls; | 510 | return $sqls; |
506 | } | 511 | } |
@@ -509,7 +514,8 @@ class AlunoController extends ApiCoreController | @@ -509,7 +514,8 @@ class AlunoController extends ApiCoreController | ||
509 | protected function sqlsForStringSearch() { | 514 | protected function sqlsForStringSearch() { |
510 | $sqls = array(); | 515 | $sqls = array(); |
511 | 516 | ||
512 | - // caso nao receba id da escola, pesquisa por codigo aluno em todas as escolas | 517 | + // caso nao receba id da escola, pesquisa por nome aluno em todas as escolas, |
518 | + // alunos com e sem matricula são selecionados. | ||
513 | if (! $this->getRequest()->escola_id) { | 519 | if (! $this->getRequest()->escola_id) { |
514 | $sqls[] = "select distinct aluno.cod_aluno as id, | 520 | $sqls[] = "select distinct aluno.cod_aluno as id, |
515 | pessoa.nome as name from pmieducar.aluno, cadastro.pessoa where | 521 | pessoa.nome as name from pmieducar.aluno, cadastro.pessoa where |
@@ -518,7 +524,8 @@ class AlunoController extends ApiCoreController | @@ -518,7 +524,8 @@ class AlunoController extends ApiCoreController | ||
518 | order by nome limit 15"; | 524 | order by nome limit 15"; |
519 | } | 525 | } |
520 | 526 | ||
521 | - // seleciona por nome aluno e/ou codigo escola | 527 | + // seleciona por nome aluno e e opcionalmente por codigo escola, |
528 | + // apenas alunos com matricula são selecionados. | ||
522 | $sqls[] = "select * from(select distinct ON (aluno.cod_aluno) aluno.cod_aluno as id, | 529 | $sqls[] = "select * from(select distinct ON (aluno.cod_aluno) aluno.cod_aluno as id, |
523 | matricula.cod_matricula as matricula_id, pessoa.nome as name from pmieducar.matricula, | 530 | matricula.cod_matricula as matricula_id, pessoa.nome as name from pmieducar.matricula, |
524 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and | 531 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and |
@@ -526,7 +533,7 @@ class AlunoController extends ApiCoreController | @@ -526,7 +533,7 @@ class AlunoController extends ApiCoreController | ||
526 | matricula.ativo = 1 and (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 | 533 | matricula.ativo = 1 and (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 |
527 | else 1=1 end) and | 534 | else 1=1 end) and |
528 | lower(to_ascii(pessoa.nome)) like lower(to_ascii($1))||'%' and matricula.aprovado in | 535 | lower(to_ascii(pessoa.nome)) like lower(to_ascii($1))||'%' and matricula.aprovado in |
529 | - (1, 2, 3, 7, 8, 9) limit 15) as alunos order by name"; | 536 | + (1, 2, 3, 4, 7, 8, 9) limit 15) as alunos order by name"; |
530 | 537 | ||
531 | return $sqls; | 538 | return $sqls; |
532 | } | 539 | } |
ieducar/modules/Api/Views/MatriculaController.php
@@ -47,30 +47,37 @@ class MatriculaController extends ApiCoreController | @@ -47,30 +47,37 @@ class MatriculaController extends ApiCoreController | ||
47 | // search options | 47 | // search options |
48 | 48 | ||
49 | protected function searchOptions() { | 49 | protected function searchOptions() { |
50 | - return array('sqlParams' => array($this->getRequest()->escola_id, $this->getRequest()->ano), | 50 | + $escolaId = $this->getRequest()->escola_id ? $this->getRequest()->escola_id : 0; |
51 | + $ano = $this->getRequest()->ano ? $this->getRequest()->ano : 0; | ||
52 | + | ||
53 | + return array('sqlParams' => array($escolaId, $ano), | ||
51 | 'selectFields' => array('aluno_id')); | 54 | 'selectFields' => array('aluno_id')); |
52 | } | 55 | } |
53 | 56 | ||
54 | protected function sqlsForNumericSearch() { | 57 | protected function sqlsForNumericSearch() { |
55 | - | 58 | + // seleciona por (codigo matricula ou codigo aluno), opcionalmente por codigo escola e |
59 | + // opcionalmente por ano. | ||
56 | return "select distinct ON (aluno.cod_aluno) aluno.cod_aluno as aluno_id, | 60 | return "select distinct ON (aluno.cod_aluno) aluno.cod_aluno as aluno_id, |
57 | matricula.cod_matricula as id, pessoa.nome as name from pmieducar.matricula, | 61 | matricula.cod_matricula as id, pessoa.nome as name from pmieducar.matricula, |
58 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and | 62 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and |
59 | pessoa.idpes = aluno.ref_idpes and aluno.ativo = matricula.ativo and | 63 | pessoa.idpes = aluno.ref_idpes and aluno.ativo = matricula.ativo and |
60 | - matricula.ativo = 1 and matricula.ref_ref_cod_escola = $2 and | 64 | + matricula.ativo = 1 and matricula.aprovado in (1, 2, 3, 4, 7, 8, 9) and |
61 | (matricula.cod_matricula like $1 or matricula.ref_cod_aluno like $1) and | 65 | (matricula.cod_matricula like $1 or matricula.ref_cod_aluno like $1) and |
62 | - matricula.aprovado in (1, 2, 3, 7, 8, 9) and ano = $3 limit 15"; | 66 | + (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 else 1=1 end) and |
67 | + (select case when $3 != 0 then matricula.ano = $3 else 1=1 end) limit 15"; | ||
63 | } | 68 | } |
64 | 69 | ||
65 | 70 | ||
66 | protected function sqlsForStringSearch() { | 71 | protected function sqlsForStringSearch() { |
72 | + // seleciona por nome aluno, opcionalmente por codigo escola e opcionalmente por ano. | ||
67 | return "select distinct ON (aluno.cod_aluno) aluno.cod_aluno as aluno_id, | 73 | return "select distinct ON (aluno.cod_aluno) aluno.cod_aluno as aluno_id, |
68 | matricula.cod_matricula as id, pessoa.nome as name from pmieducar.matricula, | 74 | matricula.cod_matricula as id, pessoa.nome as name from pmieducar.matricula, |
69 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and | 75 | pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and |
70 | pessoa.idpes = aluno.ref_idpes and aluno.ativo = matricula.ativo and | 76 | pessoa.idpes = aluno.ref_idpes and aluno.ativo = matricula.ativo and |
71 | - matricula.ativo = 1 and matricula.ref_ref_cod_escola = $2 and | ||
72 | - lower(to_ascii(pessoa.nome)) like lower(to_ascii($1))||'%' and matricula.aprovado in (1, 2, 3, 7, 8, 9) | ||
73 | - and ano = $3 limit 15"; | 77 | + matricula.ativo = 1 and matricula.aprovado in (1, 2, 3, 4, 7, 8, 9) and |
78 | + lower(to_ascii(pessoa.nome)) like lower(to_ascii($1))||'%' and | ||
79 | + (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 else 1=1 end) and | ||
80 | + (select case when $3 != 0 then matricula.ano = $3 else 1=1 end) limit 15"; | ||
74 | } | 81 | } |
75 | 82 | ||
76 | 83 |