Example #1
0
 public function listar_ranking_provas($pk_exa_concurso, $pk_exa_bloco = 0, $pk_exa_area = 0, $pk_exa_prova = 0)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['abaPage'] = __FUNCTION__;
     $data['alias'] = __FUNCTION__;
     $data['abaAtiva'] = $this->AbaAtiva;
     $data['pk_exa_prova'] = (int) $pk_exa_prova;
     $data['pk_exa_area'] = (int) $pk_exa_area;
     $data['pk_exa_bloco'] = (int) $pk_exa_bloco;
     $data['pk_exa_concurso'] = (int) $pk_exa_concurso;
     $sqlConcurso = new SqlConcurso();
     if ($pk_exa_prova != 0) {
         $result = $sqlConcurso->checa_relatorio_prova($pk_exa_prova);
         $pk_relatorio = !empty($result) ? $result[0]['pk_relatorio'] : 0;
         $result = $sqlConcurso->listar_ranking_provas($pk_exa_prova);
         $data['prova'] = $sqlConcurso->get_prova($pk_exa_prova);
         $prova_nome = $data['prova'][0]['pk_exa_prova'];
         $data['titulo'] = $sqlConcurso->get_titulo_concurso_prova($pk_exa_area);
         $titulo_prova = View::tituloProva($data['titulo'][0]['concurso_tipo_nome'], $data['titulo'][0]['concurso_nome'], $data['titulo'][0]['bloco_nome'], $data['titulo'][0]['area_nome'], $data['prova'][0]['prova_nome']);
         $turmas = $sqlConcurso->get_turmas_prova_relatorio($pk_exa_prova);
     } else {
         if ($pk_exa_prova == 0 && $pk_exa_area != 0) {
             $result = $sqlConcurso->checa_relatorio_area($pk_exa_area);
             $pk_relatorio = !empty($result) ? $result[0]['pk_relatorio'] : 0;
             $result = $sqlConcurso->listar_ranking_area($pk_exa_area);
             $data['prova'] = $sqlConcurso->get_area($pk_exa_area);
             $prova_nome = '';
             $data['titulo'] = $sqlConcurso->get_titulo_concurso_prova($pk_exa_area);
             $titulo_prova = View::tituloProva($data['titulo'][0]['concurso_tipo_nome'], $data['titulo'][0]['concurso_nome'], $data['titulo'][0]['bloco_nome'], $data['titulo'][0]['area_nome'], '');
             $turmas = $sqlConcurso->get_turmas_area_relatorio($pk_exa_area);
         } else {
             if ($pk_exa_prova == 0 && $pk_exa_area == 0 && $pk_exa_bloco != 0) {
                 $result = $sqlConcurso->checa_relatorio_bloco($pk_exa_bloco);
                 $pk_relatorio = !empty($result) ? $result[0]['pk_relatorio'] : 0;
                 $result = $sqlConcurso->listar_ranking_bloco($pk_exa_bloco);
                 $data['prova'] = $sqlConcurso->get_bloco($pk_exa_bloco);
                 $prova_nome = '';
                 $data['titulo'] = $sqlConcurso->get_titulo_concurso_bloco($pk_exa_concurso);
                 $titulo_prova = View::tituloProva($data['titulo'][0]['concurso_tipo_nome'], $data['titulo'][0]['concurso_nome'], 'geral', 'geral', 'geral');
                 $turmas = $sqlConcurso->get_turmas_bloco_relatorio($pk_exa_bloco);
             } else {
                 $result = $sqlConcurso->checa_relatorio_concurso($pk_exa_concurso);
                 $pk_relatorio = !empty($result) ? $result[0]['pk_relatorio'] : 0;
                 $result = $sqlConcurso->listar_ranking_concurso($pk_exa_concurso);
                 $data['prova'] = $sqlConcurso->get_concurso($pk_exa_concurso);
                 $prova_nome = '';
                 $pk_exa_concurso_tipo = $data['prova'][0]['fk_exa_concurso_tipo'];
                 $data['titulo'] = $sqlConcurso->get_titulo_concurso($pk_exa_concurso);
                 $titulo_prova = View::tituloProva($data['titulo'][0]['concurso_tipo_nome'], 'geral', 'geral', 'geral', 'geral');
                 $turmas = $sqlConcurso->get_turmas_concurso_relatorio($pk_exa_concurso);
             }
         }
     }
     $data['cabecalho'] = View::cabecalhoExame($titulo_prova, View::converteDataBr($data['prova'][0]['data_realizacao']), View::converteDataBr($data['prova'][0]['data_process']), $data['prova'][0]['participantes'], $data['prova'][0]['media'], $data['prova'][0]['maior_media'], $data['prova'][0]['menor_media'], $data['prova'][0]['quartil1'], $data['prova'][0]['mediana'], $data['prova'][0]['quartil3'], $data['prova'][0]['fk_exa_concurso'], $pk_exa_bloco, $pk_exa_area, $pk_exa_prova);
     $data['total'] = $result['total'];
     if ($result['total'] > 0) {
         $this->load->library('table');
         $arrHead[] = array('data' => 'Ranking<br />Geral / Unid. / Turma', 'colspan' => 3, 'class' => 'w150');
         $arrHead[] = 'Média';
         $arrHead[] = 'Aluno';
         $arrHead[] = 'Turma / Unidade';
         if (!isset($_GET['print'])) {
             if (isset($_GET['pk_turma'])) {
                 $arrHead[] = 'Matérias';
             }
             if ($pk_relatorio != NULL) {
                 $arrHead[] = '';
             }
             $arrHead[] = '';
             if ($data['idTipoUsuario'] == 1) {
                 $arrHead[] = '';
             }
         } else {
             if (isset($_GET['pk_turma'])) {
                 $arrHead[] = 'Matérias';
             }
         }
         $this->table->set_heading($arrHead);
         $count = 0;
         foreach ($result['registros'] as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result['registros']));
             if (isset($_GET['pk_turma'])) {
                 if ($pk_exa_prova != 0) {
                     $materias = $sqlConcurso->listar_ranking_provas_materias($pk_exa_prova, $row['fk_usuario_aluno']);
                 } else {
                     if ($pk_exa_prova == 0 && $pk_exa_area != 0) {
                         $materias = $sqlConcurso->listar_ranking_areas_materias($pk_exa_area, $row['fk_usuario_aluno']);
                     } else {
                         if ($pk_exa_prova == 0 && $pk_exa_area == 0 && $pk_exa_bloco != 0) {
                             $materias = $sqlConcurso->listar_ranking_blocos_materias($pk_exa_bloco, $row['fk_usuario_aluno']);
                         } else {
                             if ($pk_exa_prova == 0 && $pk_exa_area == 0 && $pk_exa_bloco == 0) {
                                 $materias = $sqlConcurso->listar_ranking_concurso_materias($pk_exa_concurso, $row['fk_usuario_aluno']);
                             }
                         }
                     }
                 }
                 $listaMaterias = '<table>';
                 foreach ($materias['registros'] as $materia) {
                     $listaMaterias .= '<tr><td class="padding0"  nowrap="nowrap">' . $materia['exa_materia_nome'] . ': </td><td class="tright padding0">' . number_format($materia['media_prova'], 1) . '</td></tr>';
                 }
                 $listaMaterias .= '</table>';
                 $materias = array('data' => $listaMaterias, 'class' => 'tleft');
             }
             $quartil = View::quartilCor($row['media_prova'], $data['prova'][0]['quartil1'], $data['prova'][0]['mediana'], $data['prova'][0]['quartil3']);
             $ranking_1 = array('data' => $row['ranking_geral_prova'], 'class' => 'tcenter');
             $ranking_2 = array('data' => $row['ranking_unidade_prova'], 'class' => 'tcenter');
             $ranking_3 = array('data' => $row['ranking_turma_prova'], 'class' => 'tcenter');
             $media = array('data' => number_format($row['media_prova'], 1), 'class' => 'tcenter' . $quartil);
             $excluir = '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_inscrito" ' . View::getParamExcluirItemTabela($row['fk_usuario_aluno'], $pk_exa_prova, 0, '', 'Excluir participante', 'Deseja excluir o participante ' . $row['nome'] . '?') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>';
             $gabaritos = $pk_relatorio != 0 ? '<a class="link" rel="shadowbox" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/gabaritos/' . $row['fk_usuario_aluno'] . '/' . $pk_relatorio . '/' . $pk_exa_concurso . '/' . $pk_exa_bloco . '/' . $pk_exa_area . '/' . $pk_exa_prova . '?shadowbox=1"><div class="tooltip icon_gabaritos" data-tooltip="Gabaritos"></div></a>' : '';
             $detalhe = '<a class="link" rel="shadowbox[Mixed]" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/detalhe/' . $pk_relatorio . '/' . $row['fk_usuario_aluno'] . '?shadowbox=1"><div class="tooltip icon_barras" data-tooltip="Detalhes do aluno"></div></a>';
             $nome = isset($_GET['matricula']) ? $row['matricula'] : '<a class="link" rel="shadowbox[Mixed]" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/evolucao/' . $row['fk_usuario_aluno'] . '?shadowbox=1">' . $row['nome'] . '</a>';
             if ($data['idTipoUsuario'] == 1) {
                 if (isset($_GET['pk_turma'])) {
                     if ($pk_relatorio != NULL) {
                         $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $materias, $detalhe, $gabaritos, $excluir);
                     } else {
                         $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $materias, $excluir);
                     }
                 } else {
                     if ($pk_relatorio != NULL) {
                         $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $detalhe, $gabaritos, $excluir);
                     } else {
                         $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $excluir);
                     }
                 }
             } else {
                 if (!isset($_GET['print'])) {
                     if (isset($_GET['pk_turma'])) {
                         if ($pk_relatorio != NULL) {
                             $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $materias, $detalhe, $gabaritos);
                         } else {
                             $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $materias, $evolucao);
                         }
                     } else {
                         if ($pk_relatorio != NULL) {
                             $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $detalhe, $gabaritos);
                         } else {
                             $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $evolucao);
                         }
                     }
                 } else {
                     if (isset($_GET['pk_turma'])) {
                         $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome'], $materias);
                     } else {
                         $this->table->add_row($ranking_1, $ranking_2, $ranking_3, $media, $nome, $row['turma_nome']);
                     }
                 }
             }
         }
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhuma prova incluída. Para cadastrar, clique no botão acima.</div>';
     }
     $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) . '/' . $this->uri->segment(6) . '/' . $this->uri->segment(7) . '?' . $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 ($turmas 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) . '/' . $this->uri->segment(6) . '/' . $this->uri->segment(7) . '?' . $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;
     $this->load->view($this->load->getUrlTema(), $data);
 }
Example #2
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);
 }