Пример #1
0
 /**
  * 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);
     }
 }
Пример #2
0
 /**
  * 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);
     }
 }