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