protected function loadMatriculasAluno($alunoId, $escolaId) { // #TODO mostrar o nome da situação da matricula // seleciona somente matriculas em andamento, aprovado, reprovado, em exame, aprovado apos exame e retido faltas $sql = "select cod_matricula as id, ano, ref_cod_instituicao as instituicao_id, ref_ref_cod_escola as\n escola_id, ref_cod_curso as curso_id, ref_ref_cod_serie as serie_id from pmieducar.matricula,\n pmieducar.escola where cod_escola = ref_ref_cod_escola and ref_cod_aluno = \$1 and ref_ref_cod_escola =\n \$2 and matricula.ativo = 1 and matricula.aprovado in (1, 2, 3, 7, 8, 9) order by ano desc, id"; $params = array($alunoId, $escolaId); $matriculas = $this->fetchPreparedQuery($sql, $params, false); if (is_array($matriculas) && count($matriculas) > 0) { $attrs = array('id', 'ano', 'instituicao_id', 'escola_id', 'curso_id', 'serie_id'); $matriculas = Portabilis_Array_Utils::filterSet($matriculas, $attrs); foreach ($matriculas as $key => $matricula) { $matriculas[$key]['nome_curso'] = $this->loadNameFor('curso', $matricula['curso_id']); $matriculas[$key]['nome_escola'] = $this->loadNomeEscola($this->getRequest()->escola_id); $matriculas[$key]['nome_serie'] = $this->loadNameFor('serie', $matricula['serie_id']); $matriculas[$key]['situacao'] = '#TODO'; $turma = $this->tryLoadMatriculaTurma($matricula['id']); if (is_array($turma) and count($turma) > 0) { $matriculas[$key]['turma_id'] = $turma['turma_id']; $matriculas[$key]['nome_turma'] = $turma['nome_turma']; $matriculas[$key]['report_boletim_template'] = $turma['report_boletim_template']; } } } return $matriculas; }
protected function getMatriculas() { if ($this->canGetMatriculas()) { $matriculas = new clsPmieducarMatricula(); $matriculas->setOrderby('ano DESC, ref_ref_cod_serie DESC, cod_matricula DESC, aprovado'); $matriculas = $matriculas->lista(null, null, null, null, null, null, $this->getRequest()->aluno_id, null, null, null, null, null, 1); $attrs = array('cod_matricula' => 'id', 'ref_cod_instituicao' => 'instituicao_id', 'ref_ref_cod_escola' => 'escola_id', 'ref_cod_curso' => 'curso_id', 'ref_ref_cod_serie' => 'serie_id', 'ref_cod_aluno' => 'aluno_id', 'nome' => 'aluno_nome', 'aprovado' => 'situacao', 'ano'); $matriculas = Portabilis_Array_Utils::filterSet($matriculas, $attrs); foreach ($matriculas as $index => $matricula) { $turma = $this->loadTurmaByMatriculaId($matricula['id']); $matriculas[$index]['aluno_nome'] = $this->toUtf8($matricula['aluno_nome'], array('transform' => true)); $matriculas[$index]['turma_id'] = $turma['id']; $matriculas[$index]['turma_nome'] = $turma['nome']; $matriculas[$index]['escola_nome'] = $this->loadEscolaNome($matricula['escola_id']); $matriculas[$index]['curso_nome'] = $this->loadCursoNome($matricula['curso_id']); $matriculas[$index]['serie_nome'] = $this->loadSerieNome($matricula['serie_id']); $matriculas[$index]['ultima_enturmacao'] = $this->loadNomeTurmaOrigem($matricula['id']); $matriculas[$index]['data_entrada'] = $this->loadTransferenciaDataEntrada($matricula['id']); $matriculas[$index]['data_saida'] = $this->loadTransferenciaDataSaida($matricula['id']); $matriculas[$index]['situacao'] = App_Model_MatriculaSituacao::getInstance()->getValue($matricula['situacao']); $matriculas[$index]['user_can_access'] = Portabilis_Utils_User::canAccessEscola($matricula['escola_id']); $matriculas[$index]['transferencia_em_aberto'] = $this->possuiTransferenciaEmAberto($matricula['id']); } return array('matriculas' => $matriculas); } }
protected function loadExemplares($reload = false, $id = null) { if ($reload || !isset($this->_exemplares)) { $exemplares = new clsPmieducarExemplar(); // filtra por acervo_id e/ou tombo_exemplar (caso tenha recebido tais parametros) $exemplares = $exemplares->lista($id, null, null, $this->getRequest()->acervo_id, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, $this->getRequest()->biblioteca_id, null, $this->getRequest()->instituicao_id, $this->getRequest()->escola_id, $this->getRequest()->tombo_exemplar); if ($exemplares) { $exemplares = Portabilis_Array_Utils::filterSet($exemplares, array('cod_exemplar' => 'id', 'ref_cod_fonte' => 'fonte_id', 'ref_cod_motivo_baixa' => 'motivo_baixa_id', 'ref_cod_acervo' => 'acervo_id', 'ref_cod_biblioteca' => 'biblioteca_id', 'ref_cod_situacao' => 'situacao_id', 'permite_emprestimo', 'tombo')); // adiciona situacao e pendencias de cada exemplar foreach ($exemplares as $index => $exemplar) { $acervo = $this->loadAcervo($exemplar['acervo_id']); $exemplares[$index]['acervo'] = array(); $exemplares[$index]['acervo']['id'] = $exemplar['acervo_id']; $exemplares[$index]['acervo']['titulo'] = $acervo['titulo']; $exemplares[$index]['acervo']['exemplar_tipo_id'] = $acervo['exemplar_tipo_id']; $exemplares[$index]['exemplar_tipo_id'] = $acervo['exemplar_tipo_id']; $exemplares[$index]['situacao'] = $this->loadSituacaoForExemplar($exemplares[$index]); $exemplares[$index]['pendencias'] = $this->getPendenciasForExemplar($exemplares[$index]); } } $this->_exemplares = $exemplares; } return $this->_exemplares; }