/** * Método que realiza as consultas de listagen de turmas de acordo com o usuário logado * * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Objeto contendo a resposta da consulta */ public function listar(Filtros $filtros, Usuario $usrFiltro = null) { $sqlTurma = new SqlTurma(); if ($usrFiltro instanceof Usuario) { $usuario = $usrFiltro; } else { $usuario = $this->usuarioLogado; } switch ($usuario->getPerfil()->getId()) { case Perfil::COORDENADOR: $coordenador = new Coordenador($usuario->getId()); return $sqlTurma->deCoordenador($coordenador, $filtros); case Perfil::ALUNO: $aluno = new Aluno($usuario->getId()); return $sqlTurma->deALuno($aluno, $filtros); case Perfil::PROFESSOR: $professor = new Professor($usuario->getId()); return $sqlTurma->deProfessor($professor, $filtros); default: return $sqlTurma->listarTodas($filtros); } }
/** * Método que gera a página de distribuição de atendimentos por turmas * * @param int $pkUsuario O código do coordenador */ public function distribuicao_de_atendimentos_por_turmas($pkUsuario = 0) { try { $this->initGets(array('de', 'ate', 'unidade', 'ensino', 'serie', 'turma', 'coordenador')); $usr = new Usuarios(); $sqlAfa = new SqlAtenPedagogicosEqPedagogica(); $sqlTurmas = new SqlTurma(); // if ($this->filtro->issetGet('coordenador')) { $sqlCoord = new SqlCoordenador(); $coordenador = $sqlCoord->get($this->filtro->get('coordenador')); } else { $coordenador = $usr->getCoordenador((int) $pkUsuario); } $turmas = $sqlTurmas->deCoordenador($coordenador, $this->filtro); $anotacoes = $sqlAfa->deCoordenador($coordenador, $this->filtro); $this->loadPlugin('calc-itens')->setUserFiltros($coordenador)->setData('coordenador', $coordenador)->setData('turmas', $turmas->fetchAll())->setData('anotacoes', $anotacoes->fetchAll())->printView(); } catch (Exception $exc) { $this->close($exc); } }