Commit 2ee059394f58a2d8b76793ac37d539ef1970e900

Authored by Lucas D'Avila
1 parent 347da7e2
Exists in master

Alterado APIs aluno / matricula, para exibir resultados cujo estejam transferidos closes #1

ieducar/modules/Api/Views/AlunoController.php
... ... @@ -478,21 +478,26 @@ class AlunoController extends ApiCoreController
478 478 // search options
479 479  
480 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 484 'selectFields' => array('matricula_id'));
483 485 }
484 486  
485 487 protected function sqlsForNumericSearch() {
486 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 492 if (! $this->getRequest()->escola_id) {
490 493 $sqls[] = "select distinct aluno.cod_aluno as id, pessoa.nome as name from
491 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 501 $sqls[] = "select * from (select distinct ON (aluno.cod_aluno) aluno.cod_aluno as id,
497 502 matricula.cod_matricula as matricula_id, pessoa.nome as name from pmieducar.matricula,
498 503 pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and
... ... @@ -500,7 +505,7 @@ class AlunoController extends ApiCoreController
500 505 matricula.ativo = 1 and
501 506 (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2 else 1=1 end) and
502 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 510 return $sqls;
506 511 }
... ... @@ -509,7 +514,8 @@ class AlunoController extends ApiCoreController
509 514 protected function sqlsForStringSearch() {
510 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 519 if (! $this->getRequest()->escola_id) {
514 520 $sqls[] = "select distinct aluno.cod_aluno as id,
515 521 pessoa.nome as name from pmieducar.aluno, cadastro.pessoa where
... ... @@ -518,7 +524,8 @@ class AlunoController extends ApiCoreController
518 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 529 $sqls[] = "select * from(select distinct ON (aluno.cod_aluno) aluno.cod_aluno as id,
523 530 matricula.cod_matricula as matricula_id, pessoa.nome as name from pmieducar.matricula,
524 531 pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and
... ... @@ -526,7 +533,7 @@ class AlunoController extends ApiCoreController
526 533 matricula.ativo = 1 and (select case when $2 != 0 then matricula.ref_ref_cod_escola = $2
527 534 else 1=1 end) and
528 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 538 return $sqls;
532 539 }
... ...
ieducar/modules/Api/Views/MatriculaController.php
... ... @@ -47,30 +47,37 @@ class MatriculaController extends ApiCoreController
47 47 // search options
48 48  
49 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 54 'selectFields' => array('aluno_id'));
52 55 }
53 56  
54 57 protected function sqlsForNumericSearch() {
55   -
  58 + // seleciona por (codigo matricula ou codigo aluno), opcionalmente por codigo escola e
  59 + // opcionalmente por ano.
56 60 return "select distinct ON (aluno.cod_aluno) aluno.cod_aluno as aluno_id,
57 61 matricula.cod_matricula as id, pessoa.nome as name from pmieducar.matricula,
58 62 pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and
59 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 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 71 protected function sqlsForStringSearch() {
  72 + // seleciona por nome aluno, opcionalmente por codigo escola e opcionalmente por ano.
67 73 return "select distinct ON (aluno.cod_aluno) aluno.cod_aluno as aluno_id,
68 74 matricula.cod_matricula as id, pessoa.nome as name from pmieducar.matricula,
69 75 pmieducar.aluno, cadastro.pessoa where aluno.cod_aluno = matricula.ref_cod_aluno and
70 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  
... ...