Пример #1
0
 public function listar_ranking_concurso($pk_sim_concurso_tipo, $pk_sim_concurso)
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 18;
     $data['abaPage'] = 'listar_ranking_concurso';
     $data['alias'] = 'listar_ranking_concurso';
     $sqlAdministracao = new SqlAdministracao();
     $result = $sqlAdministracao->listar_ranking_concurso($pk_sim_concurso);
     $sqlProva = new SqlProva();
     $data['concurso'] = $sqlProva->get_concurso($pk_sim_concurso);
     $sqlProva = new SqlProva();
     $data['titulo'] = $sqlProva->get_titulo_lista_concursos($pk_sim_concurso_tipo);
     $titulo_prova = $data['titulo'][0]['concurso_tipo_nome'] . ' / ' . $data['concurso'][0]['concurso_nome'];
     // pegar datas das provas
     $sqlProva = new SqlAdministracao();
     $datas = $sqlAdministracao->get_blocos_concurso($pk_sim_concurso);
     $data_realizacao = '';
     foreach ($datas['registros'] as $row) {
         $data_realizacao .= View::converteDataBr($row['data_realizacao']) . '  ';
     }
     $data_realizacao_final = substr($data_realizacao, 0, -3);
     $data['cabecalho'] = View::cabecalhoSimulado($titulo_prova, $data_realizacao_final, View::converteDataBr($data['concurso'][0]['data_process']), $data['concurso'][0]['participantes'], $data['concurso'][0]['media_concurso'], $data['concurso'][0]['maior_media'], $data['concurso'][0]['menor_media'], $data['concurso'][0]['variancia'], $data['concurso'][0]['desvio_medio'], $data['concurso'][0]['desvio_padrao'], $data['concurso'][0]['quartil1'], $data['concurso'][0]['mediana'], $data['concurso'][0]['quartil3'], $pk_sim_concurso);
     $data['total'] = $result['total'];
     // pega as pks das provas e das areas
     $sqlAdministracao = new SqlAdministracao();
     $provas = $sqlAdministracao->get_areas_concurso($pk_sim_concurso);
     // verifica se alguma área é 'geral'. Se for, não exibe a coluna área na listagem
     $areas = 0;
     foreach ($provas['registros'] as $prova) {
         if ($prova['area_nome'] == 'geral') {
             $areas++;
         }
     }
     $tabela = '';
     if ($result['total'] > 0) {
         $tabela .= '<br class="clear"><table>';
         $tabela .= '<tr>
                       <th colspan="3">Ranking</th>
                       <th rowspan="2">Média</th>
                       <th rowspan="2">Desvio</th>
                       <th rowspan="2">Aluno</th>';
         if (isset($_GET['pk_turma']) && $_GET['pk_turma'] != '') {
             $tabela .= '<th rowspan="2">Disciplinas</th>';
         } else {
             $tabela .= '<th rowspan="2">Turma</th>';
         }
         $tabela .= '  <th rowspan="2" colspan="3">Detalhes</th>
                     </tr>
                     <tr>
                       <th>geral</th>
                       <th>unid.</th>
                       <th>turma</th>
                     </tr>';
         $count = 0;
         foreach ($result['registros'] as $row) {
             $count++;
             $zebrar = Util::zebrarGeral($count, count($result['registros']));
             $quartil = View::quartilCor($row['media_concurso'], $data['concurso'][0]['quartil1'], $data['concurso'][0]['mediana'], $data['concurso'][0]['quartil3']);
             $tabela .= '<tr ' . $zebrar . '>';
             $tabela .= '<td class="center">' . $row['ranking_geral_concurso'] . '</td>
                         <td class="center">' . $row['ranking_unidade_concurso'] . '</td>
                         <td class="center">' . $row['ranking_turma_concurso'] . '</td>
                         <td class="center ' . $quartil . '">' . number_format($row['media_concurso'], 1) . '</td>    
                         <td class="center">' . number_format($row['desvio_concurso'], 1) . '</td>    
                         <td>' . $row['nome'] . '</td>';
             if (isset($_GET['pk_turma']) && $_GET['pk_turma'] != '') {
                 $tabela .= '<td><table>';
                 foreach ($provas['registros'] as $prova) {
                     $sqlAdministracao = new SqlAdministracao();
                     $materias = $sqlAdministracao->listar_ranking_provas_materias($prova['pk_sim_prova'], $row['fk_usuario_aluno']);
                     foreach ($materias['registros'] as $materia) {
                         $tabela .= '<tr><td class="padding0">' . $materia['sim_materia_nome'] . ': </td><td class="tright padding0">' . number_format($materia['media_prova'], 1) . '</td></tr>';
                     }
                 }
                 $tabela .= '</table></td>';
             } else {
                 $tabela .= '<td>' . $row['turma_nome'] . '</td>';
             }
             if (isset($_GET['pk_relatorio']) && $_GET['pk_relatorio'] != '') {
                 $tabela .= '<td><a class="link" rel="shadowbox[Mixed]" href="' . base_url() . 'simulado/prova/detalhe/' . $_GET['pk_relatorio'] . '/' . $row['fk_usuario_aluno'] . '?shadowbox=1"><div class="tooltip icon_barras" data-tooltip="Detalhes do aluno"></div></a></td>';
             }
             $tabela .= '<td><a class="link" rel="shadowbox[Mixed]" href="' . base_url() . 'simulado/prova/evolucao/' . $row['fk_usuario_aluno'] . '?shadowbox=1"><div class="tooltip icon_graficos" data-tooltip="Evolução entre simulados"></div></a></td>';
             $tabela .= '<td><a class="link" rel="shadowbox" href="' . base_url() . 'simulado/prova/gabaritos/' . $row['fk_usuario_aluno'] . '/' . $pk_sim_concurso . '?shadowbox=1"><div class="tooltip icon_gabaritos" data-tooltip="Gabaritos"></div></a></td>';
             if (isset($_GET['pk_relatorio']) && $_GET['pk_relatorio'] != '') {
                 $detalhes = '<a class="link" rel="shadowbox[Mixed]" href="' . base_url() . 'simulado/prova/detalhe/' . $_GET['pk_relatorio'] . '/' . $row['fk_usuario_aluno'] . '?shadowbox=1"><div class="tooltip icon_barras" data-tooltip="Detalhes do aluno"></div></a>';
             } else {
                 $detalhes = '<a class="link" rel="shadowbox[Mixed]" href="' . base_url() . 'simulado/prova/detalhe/' . $row['fk_usuario_aluno'] . '?shadowbox=1"><div class="tooltip icon_barras" data-tooltip="Detalhes do aluno"></div></a>';
             }
             $tabela .= '</tr>';
         }
         $tabela .= '</table>';
         $data['tabela'] = $tabela;
         // Filtro de turmas
         if (isset($_GET['pk_relatorio']) && $_GET['pk_relatorio'] != '') {
             $sqlAdministracao = new SqlAdministracao();
             $result = $sqlAdministracao->get_turmas_relatorio($_GET['pk_relatorio']);
             $turma = explode("&pk_turma=", $_SERVER['QUERY_STRING']);
             $turma_url = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/' . $this->uri->segment(4) . '/' . $this->uri->segment(5) . '?' . $turma[0];
             $select = '<select name="jumpMenu" id="jumpMenu" class="w250 right mr20" onchange="MM_jumpMenu(\'parent\',this,0)">';
             $label_default = isset($_GET['pk_turma']) ? 'Retirar filtro de turma' : 'Filtrar por turma';
             $select .= '<option value="' . $turma_url . '">' . $label_default . '</option>';
             foreach ($result as $row) {
                 $checked = isset($_GET['pk_turma']) && $_GET['pk_turma'] == $row['fk_turma'] ? 'selected' : '';
                 $select .= '<option value="' . $turma_url . '&pk_turma=' . $row['fk_turma'] . '" ' . $checked . '>' . $row['turma_nome'] . '</option>';
             }
             $select .= '</select>';
             $data['filtro_turmas'] = $select;
             // listagem por ordem alfabética
             $ordem = explode("&ordem=", $_SERVER['QUERY_STRING']);
             $ordem_url = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/' . $this->uri->segment(4) . '/' . $this->uri->segment(5) . '?' . $ordem[0];
             $select = '<select name="jumpMenu" id="jumpMenu" class="w160 right mr20" onchange="MM_jumpMenu(\'parent\',this,0)">';
             $checked = isset($_GET['ordem']) && $_GET['ordem'] == 'nome' ? 'selected' : '';
             $select .= '<option value="' . $ordem_url . '">Listar pelas notas</option>';
             $select .= '<option value="' . $ordem_url . '&ordem=nome" ' . $checked . '>Listar por nome</option>';
             $select .= '</select>';
             $data['filtro_listagem'] = $select;
         }
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhuma prova incluída. Para cadastrar, clique no botão acima.</div>';
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }