/** * Método que criar a página de ranking de faltas dos professores * @param int $coordenador Caso seja informado, exibe apenas os dados referentes ao coordenador */ public function painel_geral_de_registros() { try { $this->load->helper("link"); //Inicializando os objetos básicos $profAux = new ProfessoresAux(); $sqlAfa = new SqlAfaProfessores(); $sqlFap = new SqlFapProfessores(); $sqlAula = new SqlAulaProfessores(); $sqlResumo = new SqlResumoProfessor(); // $exchangeArray = array(); //Inicializando os filtros $this->filtro->initGets(array("de", "ate", "unidade", "ensino", "serie", "turma", "area_da_natureza", "grupo")); //Realizando as consultas $professores = $profAux->listar($this->filtro); $regsAfa = $sqlAfa->pgrCount($this->filtro); $regsFap = $sqlFap->pgrCount($this->filtro); $aulas = $sqlAula->pgrCount($this->filtro); //Organizando os dados //--Agrupando as aulas while ($aula = $aulas->fetchObject()) { $id = $aula->prof; Matematica::incrementoIsset($exchangeArray[$id], "aulas"); } //--Agrupando os dados do AFA while ($afa = $regsAfa->fetchObject()) { $id = $afa->id; $tipo = $afa->tipo; if ($tipo === TipoAfa::TIPO_POSITIVO) { Matematica::incrementoIsset($exchangeArray[$id], "afa_p"); } elseif ($tipo === TipoAfa::TIPO_NEGATIVO) { Matematica::incrementoIsset($exchangeArray[$id], "afa_n"); } } //--Agrupando os dados do FAP while ($fap = $regsFap->fetchObject()) { $id = $fap->id; $tipo = $fap->tipo; $subtipo = $fap->subtipo; if ($tipo === TipoFap::TIPO_ATRASO) { Matematica::incrementoIsset($exchangeArray[$id], "fap_a"); } elseif ($tipo === TipoFap::TIPO_FALTA) { if ($subtipo === SubTipoFap::SUB_TIPO_FALTA_JUSTIFICADA) { Matematica::incrementoIsset($exchangeArray[$id], "fap_fj"); } elseif ($subtipo === SubTipoFap::SUB_TIPO_FALTA_N_JUSTIFICADA) { Matematica::incrementoIsset($exchangeArray[$id], "fap_fnj"); } elseif ($subtipo === SubTipoFap::SUB_TIPO_LICENCA) { Matematica::incrementoIsset($exchangeArray[$id], "fap_fl"); } } elseif ($tipo === TipoFap::TIPO_ATENDIMENTO) { Matematica::incrementoIsset($exchangeArray[$id], "fap_aten"); } } //Carregando os plugins usados na página $this->loadPlugin("jquery.tablesorter"); $this->loadPlugin("ocultarmenulateral"); $this->loadPlugin("conceitos"); $this->loadPlugin("filtros"); $this->loadPlugin("calc-itens"); //Passando os dados obtidos para o view e exibinto a página $this->setData("professores", $professores); $this->setData("sqlResumo", $sqlResumo); $this->setData("exchangeArray", $exchangeArray); $this->setData("getsUrl", $this->filtro->getsToURL()); $this->printView(); } catch (Exception $exc) { $this->close($exc); } }
/** * Método que gera a página com a distribuição de atendimentos por agente. * * @param int $pkProfessor O código do professor na tabela de usuários */ public function distribuicao_de_atendimentos($pkProfessor = 0) { try { $this->initGets(array("de", "ate", "tipo_fap", "professor", "unidade", "ensino", "serie", "turma")); // $validarUsr = new Usuarios(); $sqlFap = new SqlFapProfessores(); $sqlResumo = new SqlResumoProfessor(); $sqlCoordenador = new SqlCoordenadoresProfessores(); if ($this->filtro->issetGet("professor")) { $professor = $validarUsr->getProgfessor($this->filtro->get("professor")); } else { $professor = $validarUsr->getProgfessor((int) $pkProfessor); } //Apliando os filtros $this->filtro->setGet(array("tipo_fap" => Tipo::TIPO_ATENDIMENTO)); // $resumo = $sqlResumo->get((int) $pkProfessor); $ocorrencias = $sqlFap->deProfessor($professor, $this->filtro); $funcoes = $sqlCoordenador->listarFuncoes($this->filtro); //Passando os dados para o view $this->loadPlugin('filtros_de_tela')->loadPlugin('calc-itens')->setUserFiltros($professor)->setData('professor', $professor)->setData('resumo', $resumo)->setData('registros', $ocorrencias->fetchAll())->setData("funcoes", $funcoes)->printView(); } catch (Exception $exc) { $this->close($exc); } }