Commit 71b852ce7f2874abb55d3ceb19be5477b362fea8
1 parent
fe475b0f
Exists in
master
Adicionado finders para biblioteca, escola, curso, turma e aluno
Showing
1 changed file
with
281 additions
and
31 deletions
Show diff stats
ieducar/lib/App/Model/IedFinder.php
| @@ -63,6 +63,46 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -63,6 +63,46 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | /** | 65 | /** |
| 66 | + * Retorna um array com as informações de escola a partir de seu código. | ||
| 67 | + * @param int $id | ||
| 68 | + * @return array | ||
| 69 | + */ | ||
| 70 | + public static function getEscola($id) | ||
| 71 | + { | ||
| 72 | + $escola = self::addClassToStorage('clsPmieducarEscola', NULL, | ||
| 73 | + 'include/pmieducar/clsPmieducarEscola.inc.php'); | ||
| 74 | + $escola->cod_escola = $id; | ||
| 75 | + $escola = $escola->detalhe(); | ||
| 76 | + | ||
| 77 | + if (FALSE === $escola) { | ||
| 78 | + throw new App_Model_Exception( | ||
| 79 | + sprintf('Escola com o código "%d" não existe.', $id) | ||
| 80 | + ); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + return $escola; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + /** | ||
| 87 | + * Retorna todas as escolas cadastradas na tabela pmieducar.escola, selecionando | ||
| 88 | + * opcionalmente pelo código da instituição. | ||
| 89 | + * @param int $instituicaoId | ||
| 90 | + * @return array | ||
| 91 | + */ | ||
| 92 | + public static function getEscolas($instituicaoId = NULL) | ||
| 93 | + { | ||
| 94 | + $_escolas = self::addClassToStorage('clsPmieducarEscola', NULL, | ||
| 95 | + 'include/pmieducar/clsPmieducarEscola.inc.php'); | ||
| 96 | + | ||
| 97 | + $escolas = array(); | ||
| 98 | + foreach ($_escolas->lista(NULL, NULL, NULL, $instituicaoId) as $escola) { | ||
| 99 | + $escolas[$escola['cod_escola']] = $escola['nome']; | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + return $escolas; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + /** | ||
| 66 | * Retorna um nome de curso, procurando pelo seu código. | 106 | * Retorna um nome de curso, procurando pelo seu código. |
| 67 | * @param int $id | 107 | * @param int $id |
| 68 | * @return string|FALSE | 108 | * @return string|FALSE |
| @@ -77,6 +117,31 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -77,6 +117,31 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 77 | } | 117 | } |
| 78 | 118 | ||
| 79 | /** | 119 | /** |
| 120 | + * Retorna todos os cursos cadastradas na tabela pmieducar.escola_curso, selecionando | ||
| 121 | + * opcionalmente pelo código da escola. | ||
| 122 | + * @param int $escolaId | ||
| 123 | + * @return array | ||
| 124 | + */ | ||
| 125 | + public static function getCursos($escolaId = NULL) | ||
| 126 | + { | ||
| 127 | + $escola_curso = self::addClassToStorage('clsPmieducarEscolaCurso', NULL, | ||
| 128 | + 'include/pmieducar/clsPmieducarEscolaCurso.inc.php'); | ||
| 129 | + | ||
| 130 | + // Carrega os cursos | ||
| 131 | + $escola_curso->setOrderby('ref_cod_escola ASC, cod_curso ASC'); | ||
| 132 | + $escola_curso = $escola_curso->lista($escolaId); | ||
| 133 | + | ||
| 134 | + $cursos = array(); | ||
| 135 | + foreach ($escola_curso as $key => $val) { | ||
| 136 | + $nomeCurso = self::getCurso($val['ref_cod_curso']); | ||
| 137 | + $cursos[$val['ref_cod_curso']] = $nomeCurso; | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + return $cursos; | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + | ||
| 144 | + /** | ||
| 80 | * Retorna um array com as informações da série a partir de seu código. | 145 | * Retorna um array com as informações da série a partir de seu código. |
| 81 | * | 146 | * |
| 82 | * @param int $codSerie | 147 | * @param int $codSerie |
| @@ -104,41 +169,71 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -104,41 +169,71 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 104 | 169 | ||
| 105 | /** | 170 | /** |
| 106 | * Retorna todas as séries cadastradas na tabela pmieducar.serie, selecionando | 171 | * Retorna todas as séries cadastradas na tabela pmieducar.serie, selecionando |
| 107 | - * opcionalmente pelo código da instituição. | 172 | + * opcionalmente pelo código da instituição, da escola ou do curso. |
| 108 | * @param int $instituicaoId | 173 | * @param int $instituicaoId |
| 174 | + * @param int $escolaId | ||
| 175 | + * @param int $cursoId | ||
| 109 | * @return array | 176 | * @return array |
| 110 | */ | 177 | */ |
| 111 | - public static function getSeries($instituicaoId = NULL) | 178 | + public static function getSeries($instituicaoId = NULL, $escolaId = NULL, $cursoId = NULL) |
| 112 | { | 179 | { |
| 113 | - $serie = self::addClassToStorage('clsPmieducarSerie', NULL, | ||
| 114 | - 'include/pmieducar/clsPmieducarSerie.inc.php'); | 180 | + $series = self::addClassToStorage('clsPmieducarSerie', NULL, |
| 181 | + 'include/pmieducar/clsPmieducarSerie.inc.php'); | ||
| 182 | + | ||
| 183 | + $series->setOrderby('ref_cod_curso ASC, cod_serie ASC, etapa_curso ASC'); | ||
| 184 | + $series = $series->lista(NULL, NULL, NULL, $cursoId, NULL, NULL, NULL, NULL, NULL, | ||
| 185 | + NULL, NULL, NULL, NULL, $instituicaoId, NULL, NULL, NULL, $escolaId); | ||
| 186 | + | ||
| 187 | + $_series = array(); | ||
| 188 | + | ||
| 189 | + foreach ($series as $serie) { | ||
| 190 | + //$series[$val['cod_serie']] = $val; | ||
| 191 | + $_series[$serie['cod_serie']] = $serie['nm_serie']; | ||
| 192 | + } | ||
| 193 | + | ||
| 194 | + return $_series; | ||
| 195 | + } | ||
| 196 | + | ||
| 197 | + /** | ||
| 198 | + * Retorna um array com as informações da turma a partir de seu código. | ||
| 199 | + * | ||
| 200 | + * @param int $codTurma | ||
| 201 | + * @return array | ||
| 202 | + * @throws App_Model_Exception | ||
| 203 | + */ | ||
| 204 | + public static function getTurma($codTurma) | ||
| 205 | + { | ||
| 206 | + // Recupera clsPmieducarTurma do storage de classe estático | ||
| 207 | + $turma = self::addClassToStorage('clsPmieducarTurma', NULL, | ||
| 208 | + 'include/pmieducar/clsPmieducarTurma.inc.php'); | ||
| 115 | 209 | ||
| 116 | - // Carrega as séries | ||
| 117 | - $serie->setOrderby('ref_cod_curso ASC, cod_serie ASC, etapa_curso ASC'); | ||
| 118 | - $serie = $serie->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | ||
| 119 | - NULL, NULL, NULL, NULL, $instituicaoId); | 210 | + // Usa o atributo público para depois chamar o método detalhe() |
| 211 | + $turma->cod_turma = $codTurma; | ||
| 212 | + $turma = $turma->detalhe(); | ||
| 120 | 213 | ||
| 121 | - $series = array(); | ||
| 122 | - foreach ($serie as $key => $val) { | ||
| 123 | - $series[$val['cod_serie']] = $val; | 214 | + if (FALSE === $turma) { |
| 215 | + throw new App_Model_Exception( | ||
| 216 | + sprintf('Turma com o código "%d" não existe.', $codTurma) | ||
| 217 | + ); | ||
| 124 | } | 218 | } |
| 125 | 219 | ||
| 126 | - return $series; | 220 | + return $turma; |
| 127 | } | 221 | } |
| 128 | 222 | ||
| 129 | /** | 223 | /** |
| 130 | - * Retorna as turmas de uma escola. | ||
| 131 | - * @param int $escola | 224 | + * Retorna as turmas de uma escola, selecionando opcionalmente pelo código da série. |
| 225 | + * @param int $escolaId | ||
| 226 | + * @param int $serieId | ||
| 132 | * @return array (cod_turma => nm_turma) | 227 | * @return array (cod_turma => nm_turma) |
| 133 | */ | 228 | */ |
| 134 | - public static function getTurmas($escola) | 229 | + public static function getTurmas($escolaId, $serieId = NULL) |
| 135 | { | 230 | { |
| 136 | $turma = self::addClassToStorage('clsPmieducarTurma', NULL, | 231 | $turma = self::addClassToStorage('clsPmieducarTurma', NULL, |
| 137 | 'include/pmieducar/clsPmieducarTurma.inc.php'); | 232 | 'include/pmieducar/clsPmieducarTurma.inc.php'); |
| 138 | 233 | ||
| 139 | // Carrega as turmas da escola | 234 | // Carrega as turmas da escola |
| 140 | $turma->setOrderBy('nm_turma ASC'); | 235 | $turma->setOrderBy('nm_turma ASC'); |
| 141 | - $turmas = $turma->lista(NULL, NULL, NULL, NULL, $escola); | 236 | + $turmas = $turma->lista(NULL, NULL, NULL, $serieId, $escolaId); |
| 142 | 237 | ||
| 143 | $ret = array(); | 238 | $ret = array(); |
| 144 | foreach ($turmas as $turma) { | 239 | foreach ($turmas as $turma) { |
| @@ -190,13 +285,14 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -190,13 +285,14 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 190 | 285 | ||
| 191 | // Pela restrição na criação de anos letivos, eu posso confiar no primeiro | 286 | // Pela restrição na criação de anos letivos, eu posso confiar no primeiro |
| 192 | // e único resultado que deve ter retornado | 287 | // e único resultado que deve ter retornado |
| 193 | - if (FALSE !== $anosEmAndamento && 1 == count($anosEmAndamento)) { | ||
| 194 | - $ano = array_shift($anosEmAndamento); | ||
| 195 | - $ano = $ano['ano']; | ||
| 196 | - } | ||
| 197 | - else { | ||
| 198 | - throw new App_Model_Exception('Existem vários anos escolares em andamento.'); | ||
| 199 | - } | 288 | + if (FALSE == $anosEmAndamento || count($anosEmAndamento) < 1) |
| 289 | + throw new App_Model_Exception('Não foi encontrado um ano escolar em andamento.'); | ||
| 290 | + | ||
| 291 | + elseif (count($anosEmAndamento) > 1) | ||
| 292 | + throw new App_Model_Exception('Existe mais de um ano escolar em andamento.'); | ||
| 293 | + | ||
| 294 | + $ano = array_shift($anosEmAndamento); | ||
| 295 | + $ano = $ano['ano']; | ||
| 200 | 296 | ||
| 201 | $anoLetivoModulo = self::addClassToStorage('clsPmieducarAnoLetivoModulo', | 297 | $anoLetivoModulo = self::addClassToStorage('clsPmieducarAnoLetivoModulo', |
| 202 | NULL, 'include/pmieducar/clsPmieducarAnoLetivoModulo.inc.php'); | 298 | NULL, 'include/pmieducar/clsPmieducarAnoLetivoModulo.inc.php'); |
| @@ -250,13 +346,14 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -250,13 +346,14 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 250 | * atribuídos ao ano escolar/série da escola. | 346 | * atribuídos ao ano escolar/série da escola. |
| 251 | */ | 347 | */ |
| 252 | public static function getEscolaSerieDisciplina($anoEscolar, $escola, | 348 | public static function getEscolaSerieDisciplina($anoEscolar, $escola, |
| 253 | - ComponenteCurricular_Model_ComponenteDataMapper $mapper = NULL) | 349 | + ComponenteCurricular_Model_ComponenteDataMapper $mapper = NULL, |
| 350 | + $disciplinaId = null) | ||
| 254 | { | 351 | { |
| 255 | // Disciplinas na série na escola | 352 | // Disciplinas na série na escola |
| 256 | $escolaSerieDisciplina = self::addClassToStorage('clsPmieducarEscolaSerieDisciplina', | 353 | $escolaSerieDisciplina = self::addClassToStorage('clsPmieducarEscolaSerieDisciplina', |
| 257 | NULL, 'include/pmieducar/clsPmieducarEscolaSerieDisciplina.inc.php'); | 354 | NULL, 'include/pmieducar/clsPmieducarEscolaSerieDisciplina.inc.php'); |
| 258 | 355 | ||
| 259 | - $disciplinas = $escolaSerieDisciplina->lista($anoEscolar, $escola, NULL, 1); | 356 | + $disciplinas = $escolaSerieDisciplina->lista($anoEscolar, $escola, $disciplinaId, 1); |
| 260 | 357 | ||
| 261 | if (FALSE === $disciplinas) { | 358 | if (FALSE === $disciplinas) { |
| 262 | throw new App_Model_Exception(sprintf( | 359 | throw new App_Model_Exception(sprintf( |
| @@ -294,18 +391,24 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -294,18 +391,24 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 294 | */ | 391 | */ |
| 295 | public static function getComponentesTurma($anoEscolar, $escola, $turma, | 392 | public static function getComponentesTurma($anoEscolar, $escola, $turma, |
| 296 | ComponenteCurricular_Model_TurmaDataMapper $mapper = NULL, | 393 | ComponenteCurricular_Model_TurmaDataMapper $mapper = NULL, |
| 297 | - ComponenteCurricular_Model_ComponenteDataMapper $componenteMapper = NULL) | 394 | + ComponenteCurricular_Model_ComponenteDataMapper $componenteMapper = NULL, |
| 395 | + $componenteCurricularId = null) | ||
| 298 | { | 396 | { |
| 299 | if (is_null($mapper)) { | 397 | if (is_null($mapper)) { |
| 300 | require_once 'ComponenteCurricular/Model/TurmaDataMapper.php'; | 398 | require_once 'ComponenteCurricular/Model/TurmaDataMapper.php'; |
| 301 | $mapper = new ComponenteCurricular_Model_TurmaDataMapper(); | 399 | $mapper = new ComponenteCurricular_Model_TurmaDataMapper(); |
| 302 | } | 400 | } |
| 303 | 401 | ||
| 304 | - $componentesTurma = $mapper->findAll(array(), array('turma' => $turma)); | 402 | + $where = array('turma' => $turma); |
| 403 | + | ||
| 404 | + if (is_numeric($componenteCurricularId)) | ||
| 405 | + $where['componente_curricular_id'] = $componenteCurricularId; | ||
| 406 | + | ||
| 407 | + $componentesTurma = $mapper->findAll(array(), $where); | ||
| 305 | 408 | ||
| 306 | // Não existem componentes específicos para a turma | 409 | // Não existem componentes específicos para a turma |
| 307 | if (0 == count($componentesTurma)) { | 410 | if (0 == count($componentesTurma)) { |
| 308 | - return self::getEscolaSerieDisciplina($anoEscolar, $escola, $componenteMapper); | 411 | + return self::getEscolaSerieDisciplina($anoEscolar, $escola, $componenteMapper, $componenteCurricularId); |
| 309 | } | 412 | } |
| 310 | 413 | ||
| 311 | $componentes = array(); | 414 | $componentes = array(); |
| @@ -412,6 +515,7 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -412,6 +515,7 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 412 | $matricula['curso_carga_horaria'] = $curso['carga_horaria']; | 515 | $matricula['curso_carga_horaria'] = $curso['carga_horaria']; |
| 413 | $matricula['curso_hora_falta'] = $curso['hora_falta']; | 516 | $matricula['curso_hora_falta'] = $curso['hora_falta']; |
| 414 | $matricula['serie_carga_horaria'] = $serie['carga_horaria']; | 517 | $matricula['serie_carga_horaria'] = $serie['carga_horaria']; |
| 518 | + $matricula['serie_dias_letivos'] = $serie['dias_letivos']; | ||
| 415 | 519 | ||
| 416 | $matricula['curso_nome'] = isset($curso['nm_curso']) ? $curso['nm_curso'] : NULL; | 520 | $matricula['curso_nome'] = isset($curso['nm_curso']) ? $curso['nm_curso'] : NULL; |
| 417 | $matricula['serie_nome'] = isset($serie['nm_serie']) ? $serie['nm_serie'] : NULL; | 521 | $matricula['serie_nome'] = isset($serie['nm_serie']) ? $serie['nm_serie'] : NULL; |
| @@ -458,7 +562,8 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -458,7 +562,8 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 458 | */ | 562 | */ |
| 459 | public static function getComponentesPorMatricula($codMatricula, | 563 | public static function getComponentesPorMatricula($codMatricula, |
| 460 | ComponenteCurricular_Model_ComponenteDataMapper $componenteMapper = NULL, | 564 | ComponenteCurricular_Model_ComponenteDataMapper $componenteMapper = NULL, |
| 461 | - ComponenteCurricular_Model_TurmaDataMapper $turmaMapper = NULL) | 565 | + ComponenteCurricular_Model_TurmaDataMapper $turmaMapper = NULL, |
| 566 | + $componenteCurricularId = null) | ||
| 462 | { | 567 | { |
| 463 | $matricula = self::getMatricula($codMatricula); | 568 | $matricula = self::getMatricula($codMatricula); |
| 464 | 569 | ||
| @@ -470,7 +575,7 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -470,7 +575,7 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 470 | 575 | ||
| 471 | // Disciplinas da escola na série em que o aluno está matriculado | 576 | // Disciplinas da escola na série em que o aluno está matriculado |
| 472 | $componentes = self::getComponentesTurma( | 577 | $componentes = self::getComponentesTurma( |
| 473 | - $codSerie, $codEscola, $turma, $turmaMapper, $componenteMapper | 578 | + $codSerie, $codEscola, $turma, $turmaMapper, $componenteMapper, $componenteCurricularId |
| 474 | ); | 579 | ); |
| 475 | 580 | ||
| 476 | // Dispensas do aluno | 581 | // Dispensas do aluno |
| @@ -541,10 +646,155 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -541,10 +646,155 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
| 541 | } | 646 | } |
| 542 | 647 | ||
| 543 | /** | 648 | /** |
| 649 | + * Retorna um array com as informações de biblioteca a partir de seu código. | ||
| 650 | + * @param int $id | ||
| 651 | + * @return array | ||
| 652 | + */ | ||
| 653 | + public static function getBiblioteca($id) | ||
| 654 | + { | ||
| 655 | + $biblioteca = self::addClassToStorage('clsPmieducarBiblioteca', NULL, | ||
| 656 | + 'include/pmieducar/clsPmieducarBiblioteca.inc.php'); | ||
| 657 | + $biblioteca->cod_biblioteca = $id; | ||
| 658 | + $biblioteca = $biblioteca->detalhe(); | ||
| 659 | + | ||
| 660 | + if (FALSE === $biblioteca) { | ||
| 661 | + throw new App_Model_Exception( | ||
| 662 | + sprintf('Biblioteca com o código "%d" não existe.', $id) | ||
| 663 | + ); | ||
| 664 | + } | ||
| 665 | + | ||
| 666 | + return $biblioteca; | ||
| 667 | + } | ||
| 668 | + | ||
| 669 | + /** | ||
| 670 | + * Retorna todas as bibliotecas cadastradas na tabela pmieducar.biblioteca, selecionando | ||
| 671 | + * opcionalmente pelo código da instituição e/ ou escola. | ||
| 672 | + * @param int $instituicaoId | ||
| 673 | + * @return array | ||
| 674 | + */ | ||
| 675 | + public static function getBibliotecas($instituicaoId = NULL, $escolaId = NULL) | ||
| 676 | + { | ||
| 677 | + $_bibliotecas = self::addClassToStorage('clsPmieducarBiblioteca', NULL, | ||
| 678 | + 'include/pmieducar/clsPmieducarBiblioteca.inc.php'); | ||
| 679 | + | ||
| 680 | + $bibliotecas = array(); | ||
| 681 | + foreach ($_bibliotecas->lista(NULL, $instituicaoId, $escolaId) as $biblioteca) { | ||
| 682 | + $bibliotecas[$biblioteca['cod_biblioteca']] = $biblioteca['nm_biblioteca']; | ||
| 683 | + } | ||
| 684 | + | ||
| 685 | + return $bibliotecas; | ||
| 686 | + } | ||
| 687 | + | ||
| 688 | + /** | ||
| 689 | + * Retorna todas as situações cadastradas para as bibliotecas na tabela pmieducar.situacao, selecionando | ||
| 690 | + * opcionalmente pelo código da biblioteca. | ||
| 691 | + * @param int $bibliotecaId | ||
| 692 | + * @return array | ||
| 693 | + */ | ||
| 694 | + public static function getBibliotecaSituacoes($bibliotecaId = NULL) | ||
| 695 | + { | ||
| 696 | + $_situacoes = self::addClassToStorage('clsPmieducarSituacao', NULL, | ||
| 697 | + 'include/pmieducar/clsPmieducarSituacao.inc.php'); | ||
| 698 | + | ||
| 699 | + $situacoes = array(); | ||
| 700 | + foreach ($_situacoes->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, $bibliotecaId) as $situacao) { | ||
| 701 | + $situacoes[$situacao['cod_situacao']] = $situacao['nm_situacao']; | ||
| 702 | + } | ||
| 703 | + | ||
| 704 | + return $situacoes; | ||
| 705 | + } | ||
| 706 | + | ||
| 707 | + /** | ||
| 708 | + * Retorna todas as fontes cadastradas para as bibliotecas na tabela pmieducar.fonte, selecionando | ||
| 709 | + * opcionalmente pelo código da biblioteca. | ||
| 710 | + * @param int $bibliotecaId | ||
| 711 | + * @return array | ||
| 712 | + */ | ||
| 713 | + public static function getBibliotecaFontes($bibliotecaId = NULL) | ||
| 714 | + { | ||
| 715 | + $_fontes = self::addClassToStorage('clsPmieducarFonte', NULL, | ||
| 716 | + 'include/pmieducar/clsPmieducarFonte.inc.php'); | ||
| 717 | + | ||
| 718 | + $fontes = array(); | ||
| 719 | + foreach ($_fontes->lista(null,null,null,null,null,null,null,null,null,1, $bibliotecaId) as $fonte) { | ||
| 720 | + $fontes[$fonte['cod_fonte']] = $fonte['nm_fonte']; | ||
| 721 | + } | ||
| 722 | + | ||
| 723 | + return $fontes; | ||
| 724 | + } | ||
| 725 | + | ||
| 726 | + /** | ||
| 727 | + * Retorna uma obra cadastrada para uma biblioteca na tabela pmieducar.acervo, selecionando | ||
| 728 | + * obrigatóriamente pelo código da biblioteca e opcionalmente pelo código da obra. | ||
| 729 | + * @param int $bibliotecaId | ||
| 730 | + * @return array | ||
| 731 | + */ | ||
| 732 | + public static function getBibliotecaObra($bibliotecaId, $id = NULL) | ||
| 733 | + { | ||
| 734 | + $obra = self::addClassToStorage('clsPmieducarAcervo', NULL, | ||
| 735 | + 'include/pmieducar/clsPmieducarAcervo.inc.php'); | ||
| 736 | + | ||
| 737 | + $obra->ref_cod_biblioteca = $$bibliotecaId; | ||
| 738 | + $obra->cod_acervo = $id; | ||
| 739 | + $obra = $obra->detalhe(); | ||
| 740 | + | ||
| 741 | + if (FALSE === $obra) { | ||
| 742 | + throw new App_Model_Exception( | ||
| 743 | + sprintf('Obra com o código "%d" não existe.', $id) | ||
| 744 | + ); | ||
| 745 | + } | ||
| 746 | + | ||
| 747 | + return $obra; | ||
| 748 | + } | ||
| 749 | + | ||
| 750 | + /** | ||
| 751 | + * Retorna um aluno cadastrado para uma escola na tabela pmieducar.aluno, selecionando | ||
| 752 | + * obrigatóriamente pelo código da escola e opcionalmente pelo código do aluno. | ||
| 753 | + * @param int $id | ||
| 754 | + * @return array | ||
| 755 | + */ | ||
| 756 | + public static function getAluno($escolaId, $id) | ||
| 757 | + { | ||
| 758 | + $aluno = self::addClassToStorage('clsPmieducarAluno', NULL, | ||
| 759 | + 'include/pmieducar/clsPmieducarAluno.inc.php'); | ||
| 760 | + #$aluno->cod_aluno = $id; | ||
| 761 | + #$aluno = $aluno->detalhe(); | ||
| 762 | + | ||
| 763 | + $aluno = $aluno->lista($id, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $escolaId); | ||
| 764 | + | ||
| 765 | + if (FALSE === $aluno) { | ||
| 766 | + throw new App_Model_Exception( | ||
| 767 | + sprintf('Aluno com o código "%d" não existe.', $id) | ||
| 768 | + ); | ||
| 769 | + } | ||
| 770 | + | ||
| 771 | + return $aluno[0]; | ||
| 772 | + } | ||
| 773 | + | ||
| 774 | + /** | ||
| 775 | + * Retorna todos os tipos de cliente cadastrados para determinada biblioteca na tabela | ||
| 776 | + * pmieducar.cliente_tipo, selecionando obrigatoriamente pelo código da biblioteca. | ||
| 777 | + * @param int $bibliotecaId | ||
| 778 | + * @return array | ||
| 779 | + */ | ||
| 780 | + public static function getBibliotecaTiposCliente($bibliotecaId) | ||
| 781 | + { | ||
| 782 | + $resources = self::addClassToStorage('clsPmieducarClienteTipo', NULL, | ||
| 783 | + 'include/pmieducar/clsPmieducarClienteTipo.inc.php'); | ||
| 784 | + | ||
| 785 | + $filtered_resources = array(); | ||
| 786 | + foreach ($resources->lista(null, $bibliotecaId) as $resource) { | ||
| 787 | + $filtered_resources[$resource['cod_cliente_tipo']] = $resource['nm_tipo']; | ||
| 788 | + } | ||
| 789 | + | ||
| 790 | + return $filtered_resources; | ||
| 791 | + } | ||
| 792 | + | ||
| 793 | + /** | ||
| 544 | * @see CoreExt_Entity_Validatable#getDefaultValidatorCollection() | 794 | * @see CoreExt_Entity_Validatable#getDefaultValidatorCollection() |
| 545 | */ | 795 | */ |
| 546 | public function getDefaultValidatorCollection() | 796 | public function getDefaultValidatorCollection() |
| 547 | { | 797 | { |
| 548 | return array(); | 798 | return array(); |
| 549 | } | 799 | } |
| 550 | -} | ||
| 551 | \ No newline at end of file | 800 | \ No newline at end of file |
| 801 | +} |