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