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); } }