コード例 #1
0
ファイル: professor.php プロジェクト: andersongimino/area51
 public function listar_ranking_geral()
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 8;
     $data['abaPage'] = 'listar_ranking_geral';
     $data['alias'] = 'listar_ranking_geral';
     $pk_unidade = isset($_GET['pk_unidade']) && $_GET['pk_unidade'] != '' ? $_GET['pk_unidade'] : 0;
     $pk_serie = isset($_GET['pk_serie']) && $_GET['pk_serie'] != '' ? $_GET['pk_serie'] : 0;
     $tipo_lista = $this->uri->segment(3);
     $sqlFap = new SqlFap();
     $result = $sqlFap->listar_ranking_geral();
     //        var_dump($result);
     $array_result = array();
     $valida_indicador_parecer = 0;
     $valida_indicador_pesquisa = 0;
     $soma_indicadores = 0;
     foreach ($result['registros'] as $row) {
         $valida_indicador_parecer = $row['indicador_parecer'] != '' ? 1 : 0;
         $valida_indicador_pesquisa = $row['indicador_pesquisa'] != '' ? 1 : 0;
         $indicador_parecer = $row['indicador_parecer'] != 'null' ? $row['indicador_parecer'] : 0;
         $indicador_pesquisa = $row['indicador_pesquisa'] != 'null' ? $row['indicador_pesquisa'] : 0;
         // define o valor de multiplicação, uma vez que o professor pode não ter um ou dois indicadores
         $fator_divisao = 1 + $valida_indicador_parecer + $valida_indicador_pesquisa;
         $soma_indicadores = $row['score'] + $indicador_parecer + $indicador_pesquisa;
         $indicador_final = $soma_indicadores / $fator_divisao;
         //            echo '<hr />';
         //            echo 'score: '.$row['score'].'<br />';
         //            echo 'indicador_parecer: '.$indicador_parecer.'<br />';
         //            echo 'indicador_pesquisa: '.$indicador_pesquisa.'<br />';
         //            echo 'soma_indicadores: '.$soma_indicadores.'<br />';
         //            echo 'media: '.$indicador_final.'<br />';
         $array_result[] = array('pk_usuario_professor' => $row['pk_usuario_professor'], 'nome' => $row['nome'], 'score' => $row['score'], 'indicador_parecer' => $indicador_parecer, 'indicador_pesquisa' => $indicador_pesquisa, 'indicador_final' => $indicador_final);
     }
     foreach ($array_result as &$ma) {
         $tmp[] =& $ma["indicador_final"];
     }
     array_multisort($tmp, SORT_DESC, $array_result);
     $result['registros'] = $array_result;
     if ($result['total'] > 0) {
         $this->load->library('table');
         $arrHead[] = 'Posição';
         $arrHead[] = 'Nome';
         $arrHead[] = 'Score de Registros';
         $arrHead[] = 'Parecer da coordenação';
         $arrHead[] = 'Avaliação dos alunos';
         $arrHead[] = 'Score Final';
         $this->table->set_heading($arrHead);
         $count = 0;
         $i = 0;
         $_SESSION['rankingAnterior'] = 0;
         $_SESSION['indicador'] = 0;
         $ranking = 1;
         foreach ($result['registros'] as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result['registros']));
             $i++;
             if (number_format($row['indicador_final'], 1) == $_SESSION['indicador']) {
                 $ranking = $_SESSION['rankingAnterior'];
             } else {
                 $ranking = $i;
             }
             $indicador_parecer = $row['indicador_parecer'] != 0 ? number_format($row['indicador_parecer'], 1) : '-';
             $indicador_pesquisa = $row['indicador_pesquisa'] != 0 ? number_format($row['indicador_pesquisa'], 1) : '-';
             $cell_1 = array('data' => $ranking, 'class' => 'tcenter');
             $cell_2 = array('data' => number_format($row['score'], 1), 'class' => 'tcenter');
             $cell_3 = array('data' => $indicador_parecer, 'class' => 'tcenter');
             $cell_4 = array('data' => $indicador_pesquisa, 'class' => 'tcenter');
             //$cell_5 = array('data' => '<strong>'.number_format($row['indicador_final'], 1).'</strong>', 'class' => 'tcenter');
             $conceito = View::bgConceito(number_format($row['indicador_final'], 1));
             $cell_5 = array('data' => $conceito['conceito'] . ' (' . $conceito['score'] . ')', 'class' => $conceito['class']);
             $this->table->add_row($cell_1, $row['nome'], $cell_2, $cell_3, $cell_4, $cell_5);
             $_SESSION['indicador'] = number_format($row['indicador_final'], 1);
             $_SESSION['rankingAnterior'] = $ranking;
         }
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhum registro encontrado</div>';
         $data['total'] = $result['total'];
     }
     $data['total'] = $result['total'];
     $tipos_faltas = array(7);
     // Select filtro de unidade
     $sqlFap = new SqlFap();
     $data['unidade'] = $sqlFap->listar_unidades_faltas($tipos_faltas, $data['ano_letivo']);
     $unidade = explode("?", $data['urlAtual']);
     $data['unidade_url'] = $unidade[0];
     // Select filtro de serie
     $sqlFap = new SqlFap();
     $data['serie'] = $sqlFap->listar_series_faltas($pk_unidade, $tipos_faltas, $data['ano_letivo']);
     $serie = explode("?", $data['urlAtual']);
     $data['serie_url'] = $serie[0];
     // Select filtro de turmas
     $sqlFap = new SqlFap();
     $data['turma'] = $sqlFap->listar_turmas_faltas($pk_unidade, $pk_serie, $tipos_faltas, $data['ano_letivo']);
     $turma = explode("?", $data['urlAtual']);
     $data['turma_url'] = $turma[0];
     if ($this->input->is_ajax_request()) {
         echo json_encode(array('content' => $this->load->view($this->uri->segment(3), $data, true)));
     } else {
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }