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,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