Exemple #1
0
 /**
  * Método que trabalha os dados para exibição dos indicadores dos professores
  * @param int $pkPesquisaCat O código da categoria da pesquisa
  * @param int $pkSerie O código da serie
  * @param int $pkTurma O código da turma
  */
 public function indicadores($pkPesquisaCat, $pkSerie, $pkTurma)
 {
     $sqlPesquisa = new SqlPesquisa();
     $pesquisaNome = $sqlPesquisa->get_pesquisa_nome((int) $pkPesquisaCat);
     if (!(int) $pkPesquisaCat || !(int) $pkSerie || !(int) $pkTurma || !count($pesquisaNome)) {
         echo Javascript::alert('Dados inválido. Os dados informados para a pesquisa são inválidos');
         echo Javascript::shadowboxClose();
         echo Javascript::history_back();
         return;
     }
     $turma = new Kernel_Models_Turma();
     //        $fapRankingPesqTurmaInd = $this->load->model('fap_ranking_pesquisa_turma_indicador');
     $fapRankingPesqTurmaInd = new ModelBase("fap.ranking_pesquisa_turma_indicador");
     $rankingTurma = $fapRankingPesqTurmaInd->select('fk_pesquisa_cat=' . $pkPesquisaCat . ' and fk_turma=' . $pkTurma, array(), '', array('indicador'), array(), 0, 0, 0);
     $lsita = array();
     $conteudo = $assiduidade = $disciplina = $envolvimento = array();
     $arrayTipos = array('', 'Conteúdo', 'Assiduidade', 'Disciplina', 'Envolvimento');
     while ($row = $rankingTurma->fetchObject()) {
         if (!isset($lsita[$row->fk_pes_questao_template][$row->fk_usuario_professor])) {
             $lsita[$row->fk_pes_questao_template][$row->fk_usuario_professor] = $row;
         }
         switch ($row->fk_pes_questao_template) {
             case 1:
                 $conteudo[] = $row->indicador;
                 break;
             case 2:
                 $assiduidade[] = $row->indicador;
                 break;
             case 3:
                 $disciplina[] = $row->indicador;
                 break;
             default:
                 $envolvimento[] = $row->indicador;
                 break;
         }
     }
     $conteudoMedia = Matematica::mediaAritimeticaArray($conteudo);
     $assiduidadeMedia = Matematica::mediaAritimeticaArray($assiduidade);
     $disciplinaMedia = Matematica::mediaAritimeticaArray($disciplina);
     $envolvimentoMedia = Matematica::mediaAritimeticaArray($envolvimento);
     $this->setData('sqlPesquisa', $sqlPesquisa)->setData('pkPesquisa', $pkPesquisaCat)->setData('pesquisaNome', $pesquisaNome)->setData('pkSerie', $pkSerie)->setData('pkTurma', $pkTurma)->setData('conteudoMedia', number_format($conteudoMedia, 1))->setData('conteudoConceito', View::bgConceito($conteudoMedia))->setData('assiduidadeMedia', number_format($assiduidadeMedia, 1))->setData('assiduidadeConceito', View::bgConceito($assiduidadeMedia))->setData('disciplinaMedia', number_format($disciplinaMedia, 1))->setData('disciplinaConceito', View::bgConceito($disciplinaMedia))->setData('envolvimentoMedia', number_format($envolvimentoMedia, 1))->setData('envolvimentoConceito', View::bgConceito($envolvimentoMedia))->setData('listaResumo', $lsita)->setData('arrayTipos', $arrayTipos)->setData('turma', $turma->getObject('pk_turma=' . (int) $pkTurma))->setData('pesquisaTurma', $sqlPesquisa->ranking_pesquisa_turma($pkPesquisaCat, $pkTurma, $this->getData('ano_letivo')))->setData('filtroTurmas', $sqlPesquisa->ranking_pesquisa_cat_fitro_turma($pkPesquisaCat, $pkSerie, $this->getData('ano_letivo')))->printView();
 }
Exemple #2
0
 public function graficos_pesquisa_fap($pk_usuario, $pk_usuario_professor, $pk_pesquisa_url = 0)
 {
     $data = $this->getParametroVisao();
     $data['msg'] = $this->getMsg();
     if ($data['mobile']) {
         $data['usuario'] = unserialize($_SESSION['usuario']);
         $data['page'] = __FUNCTION__;
         $data['tema'] = $this->load->setTheme('responsive');
         $data['js'] = array('/js/plugins/filtros/filtros.min.js');
     } else {
         $data['page'] = 'home';
         $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
         $data['js'] = array('js/modules/fap/fap.js');
         $data['css'] = array('css/modules/fap.css');
     }
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 8;
     $data['abaPage'] = 'graficos_pesquisa_fap';
     $data['alias'] = 'graficos_pesquisa_fap';
     $data['total'] = 0;
     $pk_usuario_professor = $this->uri->segment(5) != '' ? $this->uri->segment(5) : $data['idUsuarioProfessor'];
     $print = isset($_GET['print']) && $_GET['print'] != '' ? '_print' : '';
     $sqlUsuario = new SqlUsuario();
     $result = $sqlUsuario->get_nome($this->uri->segment(4));
     $data['nome'] = $result['registros'][0]['nome'];
     $ano = isset($_GET['ano']) ? $_GET['ano'] : $data['ano_letivo'];
     $sqlPesquisa = new SqlPesquisa();
     $result = $sqlPesquisa->get_pesquisa_professor(0, $pk_usuario_professor, $ano);
     $data['pesquisas'] = $result;
     if ($result['total'] > 1) {
         $data['pesquisas'] = $result;
     }
     $result = end(end($result));
     if (isset($_GET['pk_pesquisa'])) {
         $pk_pesquisa = $_GET['pk_pesquisa'];
         $data['pk_pesquisa'] = $_GET['pk_pesquisa'];
         $sqlPesquisa = new SqlPesquisa();
         $result = $sqlPesquisa->get_pesquisa_professor($pk_pesquisa, $pk_usuario_professor, $ano);
         $data['pesquisa_nome'] = $result['registros'][0]['pes_nome'];
         $data['turma_nome'] = $result['registros'][0]['turma_nome'];
     } else {
         if ($pk_pesquisa_url != 0) {
             $sqlPesquisa = new SqlPesquisa();
             $result = $sqlPesquisa->get_pesquisa_professor($pk_pesquisa_url, $pk_usuario_professor, $ano);
             $pk_pesquisa = $result['registros'][0]['pk_pesquisa'];
             $data['pk_pesquisa'] = $result['registros'][0]['pk_pesquisa'];
             $data['pesquisa_nome'] = $result['registros'][0]['pes_nome'];
             $data['turma_nome'] = $result['registros'][0]['turma_nome'];
         } else {
             $pk_pesquisa = $result['pk_pesquisa'];
             $_SESSION['pk_pesquisa_fap'] = $result['pk_pesquisa'];
             $data['pk_pesquisa'] = $result['pk_pesquisa'];
             $data['pesquisa_nome'] = $result['pes_nome'];
             $data['turma_nome'] = $result['turma_nome'];
         }
     }
     $pesquisa = 'pk_pesquisa=' . $data['pk_pesquisa'];
     if ($pk_pesquisa != NULL) {
         $sqlPesquisa = new SqlPesquisa();
         $result = $sqlPesquisa->get_indicador_geral($pk_pesquisa, $pk_usuario_professor);
         $indicador_geral = number_format($result[0]['indicadorgeral'], 1);
         $data['indicador_geral'] = View::bgConceito(number_format($indicador_geral, 1));
         $sqlPesquisa = new SqlPesquisa();
         $pesquisas = $sqlPesquisa->listar_pesquisa_questoes($pk_pesquisa, $pk_usuario_professor);
         $percMim = 20;
         // define o critério mínimo para incluir uma observação no relatório do professor
         $percConteudoViesB = '';
         $percConteudoViesC = '';
         $percConteudoViesD = '';
         $percConteudoViesE = '';
         $percAssiduidadeViesB = '';
         $percAssiduidadeViesC = '';
         $percAssiduidadeViesD = '';
         $percAssiduidadeViesE = '';
         $percDisciplinaViesB = '';
         $percDisciplinaViesC = '';
         $percDisciplinaViesD = '';
         $percDisciplinaViesE = '';
         $percRelacionamentoViesB = '';
         $percRelacionamentoViesC = '';
         $percRelacionamentoViesD = '';
         $percRelacionamentoViesE = '';
         $conteudo = '';
         if ($print != '') {
             $conteudo .= '<h5>Indicador geral: ' . $data['indicador_geral']['score'] . ' (' . $data['indicador_geral']['conceito'] . ')</h5>';
         } else {
             $conteudo .= '<div class="pesquisa"><div class="pesquisa_titulo">' . '<h5 class="left">Indicador geral: </h5>' . '<div class="indicador ' . $data['indicador_geral']['class'] . '">' . $data['indicador_geral']['score'] . '</div><br class="clear" />' . '</div></div>';
         }
         $i = 0;
         foreach ($pesquisas['registros'] as $row) {
             $i++;
             $conteudo .= '<div class="pesquisa">';
             $sqlPesquisa = new SqlPesquisa();
             $result = $sqlPesquisa->get_indicador_questao($row['pk_pes_gabarito']);
             $indicador_item = View::bgConceito(number_format($result[0]['indicador'], 1));
             if ($print != '') {
                 $conteudo .= '<div class="indicador_titulo" style="padding-left: 0; font-size: 12px;">' . $row['pes_questao'] . ': ' . $indicador_item['score'] . '</div>';
             } else {
                 $conteudo .= '<div class="indicador_item_pesquisa ' . $indicador_item['class'] . '">' . $indicador_item['score'] . '</div><div class="indicador_titulo">' . $row['pes_questao'] . '</div><br class="clear" />';
             }
             $sqlPesquisa = new SqlPesquisa();
             $respostas = $sqlPesquisa->listar_pesquisas_alternativas($row['pk_pes_questao'], $row['pk_pes_gabarito']);
             $total = 0;
             foreach ($respostas['registros'] as $item) {
                 $total = $total + $item['total'];
             }
             $i2 = 0;
             $indicador = 0;
             foreach ($respostas['registros'] as $item) {
                 $i2++;
                 if ($total != 0) {
                     $perc = round($item['total'] / $total * 100);
                 } else {
                     $perc = 0;
                 }
                 if ($item['peso'] != 0) {
                     $indicador = $indicador + $perc * $item['peso'] / 100;
                 } else {
                     $indicador = $indicador + 0;
                 }
                 $percConteudoViesB = $i == 1 && $i2 == 2 && $perc > $percMim ? $perc : $percConteudoViesB;
                 $percConteudoViesC = $i == 1 && $i2 == 3 && $perc > $percMim ? $perc : $percConteudoViesC;
                 $percConteudoViesD = $i == 1 && $i2 == 4 && $perc > $percMim ? $perc : $percConteudoViesD;
                 $percConteudoViesE = $i == 1 && $i2 == 5 && $perc > $percMim ? $perc : $percConteudoViesE;
                 $percAssiduidadeViesB = $i == 2 && $i2 == 2 && $perc > $percMim ? $perc : $percAssiduidadeViesB;
                 $percAssiduidadeViesC = $i == 2 && $i2 == 3 && $perc > $percMim ? $perc : $percAssiduidadeViesC;
                 $percAssiduidadeViesD = $i == 2 && $i2 == 4 && $perc > $percMim ? $perc : $percAssiduidadeViesD;
                 $percAssiduidadeViesE = $i == 2 && $i2 == 5 && $perc > $percMim ? $perc : $percAssiduidadeViesE;
                 $percDisciplinaViesB = $i == 3 && $i2 == 2 && $perc > $percMim ? $perc : $percDisciplinaViesB;
                 $percDisciplinaViesC = $i == 3 && $i2 == 3 && $perc > $percMim ? $perc : $percDisciplinaViesC;
                 $percDisciplinaViesD = $i == 3 && $i2 == 4 && $perc > $percMim ? $perc : $percDisciplinaViesD;
                 $percDisciplinaViesE = $i == 3 && $i2 == 5 && $perc > $percMim ? $perc : $percDisciplinaViesE;
                 $percRelacionamentoViesB = $i == 4 && $i2 == 2 && $perc > $percMim ? $perc : $percRelacionamentoViesB;
                 $percRelacionamentoViesC = $i == 4 && $i2 == 3 && $perc > $percMim ? $perc : $percRelacionamentoViesC;
                 $percRelacionamentoViesD = $i == 4 && $i2 == 4 && $perc > $percMim ? $perc : $percRelacionamentoViesD;
                 $percRelacionamentoViesE = $i == 4 && $i2 == 5 && $perc > $percMim ? $perc : $percRelacionamentoViesE;
                 $conteudo .= '<div class="pesquisa_container">
                                     <div class="pesquisa_perc' . $print . '">' . $perc . '%</div>
                                     <div class="pesquisa_total' . $print . '">(' . $item['total'] . ')</div>
                                     <div class="pesquisa_grafico_bordas">
                                         <div class="pesquisa_grafico" style="background: ' . $item['cor'] . '; width: ' . $perc . 'px;">
                                             <img src="' . base_url() . 'images/' . substr($item['cor'], 1) . '.gif" width="' . $perc . '" height="13">
                                         </div>
                                     </div>
                                     <div class="pesquisa_label' . $print . '">' . $item['pes_alternativa'] . '</div>
                               </div>';
                 $conteudo .= '<br class="clear" />';
             }
             $conteudo .= '</div>';
         }
         if ($print != '') {
             $conteudo .= '<div  style="font-size: 9px;">';
         } else {
             $conteudo .= '<div class="small">';
         }
         if ($percConteudoViesB > $percMim or $percConteudoViesC > $percMim or $percConteudoViesD > $percMim or $percConteudoViesE > $percMim or $percAssiduidadeViesB > $percMim or $percAssiduidadeViesC > $percMim or $percAssiduidadeViesD > $percMim or $percAssiduidadeViesE > $percMim or $percDisciplinaViesB > $percMim or $percDisciplinaViesC > $percMim or $percDisciplinaViesD > $percMim or $percDisciplinaViesE > $percMim or $percRelacionamentoViesB > $percMim or $percRelacionamentoViesC > $percMim or $percRelacionamentoViesD > $percMim or $percRelacionamentoViesE > $percMim) {
             if ($print != '') {
                 $conteudo .= '<hr /><h6>Observações:</h6>';
             } else {
                 $conteudo .= '<hr /><h4>Observações:</h4>';
             }
         }
         /* Conteúdo e didática */
         if ($percConteudoViesB > $percMim or $percConteudoViesC > $percMim or $percConteudoViesD > $percMim or $percConteudoViesE > $percMim) {
             $conteudo .= "<br /><b>Conteúdo e didática: </b><br />";
         }
         if ($percConteudoViesB > $percMim) {
             $conteudo .= "Precisa resolver mais exercícios de fixação em sala de aula. ";
         }
         if ($percConteudoViesC > $percMim) {
             $conteudo .= "Precisa melhorar sua didática. ";
         }
         if ($percConteudoViesD > $percMim) {
             $conteudo .= "Precisa aprofundar o nível da teoria e dos exercícios. ";
         }
         if ($percConteudoViesE > $percMim) {
             $conteudo .= "Apresenta deficiências de didática, aprofundamento e planejamento de aulas, além de resolver poucos exercícios em sala de aula. ";
         }
         if ($percConteudoViesB > $percMim or $percConteudoViesC > $percMim or $percConteudoViesD > $percMim or $percConteudoViesE > $percMim) {
             $conteudo .= "<br />";
         }
         /* Assiduidade e aproveitamento da aula */
         if ($percAssiduidadeViesB > $percMim or $percAssiduidadeViesC > $percMim or $percAssiduidadeViesD > $percMim or $percAssiduidadeViesE > $percMim) {
             $conteudo .= "<br /><b>Assiduidade e aproveitamento da aula: </b><br />";
         }
         if ($percAssiduidadeViesB > $percMim) {
             $conteudo .= "Precisa focar melhor o tempo de aula nas explicações da teoria e dos exercícios, pois na opinião de boa parte dos alunos perde muito tempo com atividades ou assuntos que não dizem respeito ao desenvolvimento da matéria. ";
         }
         if ($percAssiduidadeViesC > $percMim) {
             $conteudo .= "Na opinião dos alunos, seus atrasos freqüentes comprometem o desenvolvimento da matéria. ";
         }
         if ($percAssiduidadeViesD > $percMim) {
             $conteudo .= "Na opinião dos alunos, suas faltas freqüentes comprometem o desenvolvimento da matéria. ";
         }
         if ($percAssiduidadeViesE > $percMim) {
             $conteudo .= "Precisa organizar melhor seus horários e aproveitar melhor o tempo de aula, pois na opinião dos alunos perde muito tempo com atividades ou assuntos que não dizem respeito ao desenvolvimento da matéria. ";
         }
         if ($percAssiduidadeViesB > $percMim or $percAssiduidadeViesC > $percMim or $percAssiduidadeViesD > $percMim or $percAssiduidadeViesE > $percMim) {
             $conteudo .= "<br />";
         }
         /* Postura formativa */
         if ($percDisciplinaViesB > $percMim or $percDisciplinaViesC > $percMim or $percDisciplinaViesD > $percMim or $percDisciplinaViesE > $percMim) {
             $conteudo .= "<br /><b>Postura formativa:</b><br /> ";
         }
         if ($percDisciplinaViesB > $percMim) {
             $conteudo .= "Precisa conversar com a turma e sempre estar atento se as conversas e brincadeiras dos alunos não estão comprometendo a aprendizagem da matéria. ";
         }
         if ($percDisciplinaViesC > $percMim) {
             $conteudo .= "Deve ter uma postura mais enérgica com a turma, buscando apoio e orientação da coordenação, a fim de evitar o comprometimento na aprendizagem de sua matéria. ";
         }
         if ($percDisciplinaViesD > $percMim) {
             $conteudo .= "Deve ser orientado pela coordenação de que é responsável pelo controle e comportamento dos alunos em sua aula e que não deve permitir brincadeiras ou conversas freqüentes em sua aula. ";
         }
         if ($percDisciplinaViesE > $percMim) {
             $conteudo .= "Deve receber orientação da coordenação quanto às normas formativas da escola e ser orientado de que deve preocupar-se em melhorar a disciplina dos alunos em sua aula. Para isso, não deve permitir brincadeiras ou conversas freqüentes em sua aula. ";
         }
         if ($percDisciplinaViesB > $percMim or $percDisciplinaViesC > $percMim or $percDisciplinaViesD > $percMim or $percDisciplinaViesE > $percMim) {
             $conteudo .= "<br />";
         }
         /* Envolvimento e acompanhamento */
         if ($percRelacionamentoViesB > $percMim or $percRelacionamentoViesC > $percMim or $percRelacionamentoViesD > $percMim or $percRelacionamentoViesE > $percMim) {
             $conteudo .= "<br /><b>Envolvimento e acompanhamento:</b><br />";
         }
         if ($percRelacionamentoViesB > $percMim) {
             $conteudo .= "Preencher melhor o parecer das avaliações, orientando os alunos de como superar suas dificuldades na matéria. ";
         }
         if ($percRelacionamentoViesC > $percMim) {
             $conteudo .= "Precisa estar mais atento às necessidades dos alunos e destinar uma parte do tempo de sua aula para tirar dúvidas. ";
         }
         if ($percRelacionamentoViesD > $percMim) {
             $conteudo .= "Precisa melhorar a interação com os alunos em sala de aula, procurando motivá-los para aprendizagem. ";
         }
         if ($percRelacionamentoViesE > $percMim) {
             $conteudo .= "Precisa estar mais atento e disponível para atender às necessidades dos alunos e melhorar a interação com os alunos em sala de aula, procurando motivá-los para aprendizagem. ";
         }
         if ($percRelacionamentoViesB > $percMim or $percRelacionamentoViesC > $percMim or $percRelacionamentoViesD > $percMim or $percRelacionamentoViesE > $percMim) {
             $conteudo .= "<br />";
         }
         $conteudo .= '</div>';
         $data['total'] = 1;
         $data['conteudo'] = $conteudo;
     }
     if ($this->input->is_ajax_request()) {
         print json_encode($conteudo);
     } else {
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }