Example #1
0
 public function detalhe($pk_relatorio = 0)
 {
     $msg = null;
     $data = $this->getParametroVisao();
     if ($data['mobile']) {
         $data['usuario'] = unserialize($_SESSION['usuario']);
         $data['page'] = "responsive/" . __FUNCTION__;
         $data['tema'] = $this->load->setTheme('responsive');
         $data['extJs'] = array(base_url() . "/js/shadowbox/shadowbox.js");
         $data['extCss'] = array(base_url() . '/js/shadowbox/shadowbox.css');
         $data['abaPage'] = 'detalhe';
     } else {
         $data['abaPage'] = 'detalhe';
         $data['page'] = 'home';
         $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     }
     $data['msg'] = $msg;
     $data['abaAtiva'] = 18;
     $data['alias'] = 'detalhe';
     if ($data['idTipoUsuario'] == 6 || $data['idTipoUsuario'] == 11) {
         $pk_usuario_aluno = $data['idUsuarioAluno'];
     } else {
         $pk_usuario_aluno = $this->uri->segment(5) != '' ? $this->uri->segment(5) : $this->uri->segment(4);
     }
     $data['pk_usuario_aluno'] = $pk_usuario_aluno;
     // pega os nomes do aluno e da turma
     $sqlUsuario = new SqlUsuario();
     $result = $sqlUsuario->get_aluno($pk_usuario_aluno);
     $data['nome'] = $result['registros'][0]['nome'];
     $data['turma_nome'] = $result['registros'][0]['turma_nome'];
     $sqlProva = new SqlProva();
     $result = $sqlProva->listar_relatorio($pk_usuario_aluno, $pk_relatorio);
     $data['titulo'] = $result[0]['relatorio_nome'];
     $_SESSION['titulo_simulado'] = $result[0]['relatorio_nome'];
     $quartil1 = $result[0]['quartil1'];
     $mediana = $result[0]['mediana'];
     $quartil3 = $result[0]['quartil3'];
     $maior_media = $result[0]['maior_media'];
     $menor_media = $result[0]['menor_media'];
     $pk_sim_prova = $result[0]['fk_sim_prova'];
     $pk_sim_bloco = $result[0]['fk_sim_bloco'];
     $pk_sim_concurso = $result[0]['fk_sim_concurso'];
     //Variaveis usadas para diferenciar os links mobile e desktop
     $relShadowBox = !(bool) $data["mobile"] ? " rel=\"shadowbox\"" : "";
     $getShadowBox = !(bool) $data["mobile"] ? "?shadowbox=1" : "";
     //Trecho modificado para se ajustar as páginas mobile
     if ($pk_sim_prova != 0) {
         $data['ver_gabaritos'] = "<a class=\"link\"{$relShadowBox} href=\"" . base_url() . "simulado/prova/gabaritos/{$pk_usuario_aluno}/" . "{$pk_sim_concurso}/{$pk_sim_bloco}/{$pk_sim_prova}\n                    {$getShadowBox}\">Conferir gabaritos</a>";
     } else {
         if ($pk_sim_prova == 0 && $pk_sim_bloco != 0) {
             $data['ver_gabaritos'] = "<a class=\"link\"{$relShadowBox} href=\"" . base_url() . "simulado/prova/gabaritos/{$pk_usuario_aluno}/" . "{$pk_sim_concurso}/{$pk_sim_bloco}\n                    {$getShadowBox}\">Conferir gabaritos</a>";
         } else {
             $data['ver_gabaritos'] = "<a class=\"link\"{$relShadowBox} href=\"" . base_url() . "simulado/prova/gabaritos/{$pk_usuario_aluno}/" . "{$pk_sim_concurso}\n                    {$getShadowBox}\">Conferir gabaritos</a>";
         }
     }
     $data['faqs'] = "<a class=\"exibirItem link\" data-height=\"500\" data-width=\"800\" data-title=\"\" data-idhash=\"\" data-iddata=\"\" href=\"" . base_url() . "simulado/prova/faqs\">Perguntas Frequentes</a>";
     $data['cabecalho'] = View::cabecalhoSimulado($result[0]['relatorio_nome'], View::converteDataBr($result[0]['data_realizacao']), View::converteDataBr($result[0]['data_process']), $result[0]['participantes'], $result[0]['media'], $result[0]['maior_media'], $result[0]['menor_media'], $result[0]['variancia'], $result[0]['desvio_medio'], $result[0]['desvio_padrao'], $result[0]['quartil1'], $result[0]['mediana'], $result[0]['quartil3'], $result[0]['fk_sim_concurso'], $result[0]['fk_sim_bloco'], $result[0]['fk_sim_prova']);
     $materias = '';
     if ($pk_sim_prova != 0) {
         $sqlProva = new SqlProva();
         $result = $sqlProva->get_notas_aluno($pk_sim_prova, $pk_usuario_aluno);
         if (count($result) > 0) {
             $materias = View::dadosAlunoSimuladoMaterias($result);
         }
     } else {
         if ($pk_sim_prova == 0 && $pk_sim_bloco != 0) {
             $sqlProva = new SqlProva();
             $result = $sqlProva->get_notas_aluno_bloco($pk_sim_bloco, $pk_usuario_aluno);
             if (count($result) > 0) {
                 $materias = View::dadosAlunoSimuladoMaterias($result);
             }
         } else {
             $sqlProva = new SqlProva();
             $result = $sqlProva->get_notas_aluno_concurso($pk_sim_concurso, $pk_usuario_aluno);
             if (count($result) > 0) {
                 $materias = View::dadosAlunoSimuladoMaterias($result);
             }
         }
     }
     $data['materias'] = $materias;
     $sqlProva = new SqlProva();
     $result = $sqlProva->listar_relatorio_notas($pk_relatorio, $pk_usuario_aluno);
     $data['total'] = count($result);
     $data['dados_aluno'] = View::dadosAlunoSimulado($result[0]['media_aluno'], $result[0]['ranking_geral'], $result[0]['ranking_unidade'], $result[0]['ranking_turma'], $result[0]['desvio'], $quartil1, $mediana, $quartil3);
     $sqlProva = new SqlProva();
     $result = $sqlProva->get_prova_dados_turma($pk_relatorio, $pk_usuario_aluno);
     $html = '';
     $html .= '<script type="text/javascript" src="https://www.google.com/jsapi"></script>';
     $html .= '<script type="text/javascript">
                     google.load("visualization", "1", {packages:["corechart"]});
                     google.setOnLoadCallback(drawChart);
                     function drawChart() {
                       var data = google.visualization.arrayToDataTable([
                         ["Elemento", "Média", { role: "style" } ],
                         ["Aluno", ' . number_format($result[0]['media_aluno'], 1) . ', "#EC3C00"],
                         ["Turma", ' . number_format($result[0]['media_turma'], 1) . ', "green"],
                         ["Geral", ' . number_format($result[0]['media'], 1) . ', "blue"],
                         ["Maior Média", ' . number_format($maior_media, 1) . ', "#00B5F9"],
                         ["Menor Média", ' . number_format($menor_media, 1) . ', "#990000"],
                         ["1º quartil", ' . number_format($quartil1, 1) . ', "#EA8E13"],
                         ["2º quartil", ' . number_format($mediana, 1) . ', "#6FBE3F"],
                         ["3º quartil", ' . number_format($quartil3, 1) . ', "#03CADA"],
                       ]);
                       var view = new google.visualization.DataView(data);
                       view.setColumns([0, 1,
                                        { calc: "stringify",
                                          sourceColumn: 1,
                                          type: "string",
                                          role: "annotation" },
                                        2]);
                       var options = {
                         title: "",
                         ' . (!$data["mobile"] ? "width: 600," : "") . '
                         height: 300,
                         bar: {groupWidth: "95%"},
                         legend: { position: "none" },
                       };
                       var chart = new google.visualization.ColumnChart(document.getElementById("columnchart_values"));
                       chart.draw(view, options);
                   }
                   </script>
                 <div id="columnchart_values"></div>';
     $data['html'] = $html;
     $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);
 }