public function evolucao() { $msg = null; $data = $this->getParametroVisao(); if ($data['mobile']) { $data['usuario'] = unserialize($_SESSION['usuario']); $data['page'] = __FUNCTION__; $data['tema'] = $this->load->setTheme('responsive'); } else { $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; } $data['msg'] = $msg; $data['abaAtiva'] = 18; $data['abaPage'] = 'evolucao'; $data['alias'] = 'evolucao'; if ($data['idTipoUsuario'] == 6 || $data['idTipoUsuario'] == 11) { $pk_usuario_aluno = $data['idUsuarioAluno']; } else { $pk_usuario_aluno = $this->uri->segment(4); } // 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); $data['titulo'] = count($result) > 0 ? $result[0]['relatorio_nome'] : ''; $data['total'] = count($result); $html = ''; if ($data['total'] > 0) { $html .= '<script type="text/javascript" src="https://www.google.com/jsapi"></script>'; $count = 0; foreach ($result as $row) { $count++; $html .= '<script type="text/javascript">'; $html .= ' google.load("visualization", "1", {packages:["corechart"]});'; $html .= ' google.setOnLoadCallback(drawChart);'; $html .= ' function drawChart() {'; $html .= ' var data = google.visualization.arrayToDataTable(['; $html .= ' [\'Sequência\', \'Média geral\', \'Aluno\', \'link\'],'; $sqlProva = new SqlProva(); $dados = $sqlProva->get_prova_dados($row['fk_sim_concurso_tipo'], $pk_usuario_aluno); $total = count($dados); $registros = ''; $i = 0; foreach ($dados as $dado) { $i++; $explode = explode('/', $dado['relatorio_nome']); $n_partes = count($explode); if ($n_partes == 2) { $relatorio_nome = $explode[1]; } else { if ($n_partes == 3) { $relatorio_nome = $explode[1] . ' / ' . $explode[2]; } else { if ($n_partes == 4) { $relatorio_nome = $explode[1] . ' / ' . $explode[2] . ' / ' . $explode[3]; } else { if ($n_partes == 5) { $relatorio_nome = $explode[1] . ' / ' . $explode[2] . ' / ' . $explode[3] . ' / ' . $explode[4]; } } } } $registros .= ' [\'' . $relatorio_nome . '\', ' . number_format($dado['media'], 1) . ', ' . number_format($dado['media_aluno'], 1) . ', \'' . base_url() . 'simulado/prova/detalhe/' . $dado['pk_relatorio'] . '\'],'; } $html .= substr($registros, 0, -1); $html .= ' ]);'; $html .= ' var view = new google.visualization.DataView(data);'; $html .= ' view.setColumns([0, 1, 2]);'; $html .= ' var options = {'; $html .= ' title: \'' . $row['concurso_tipo_nome'] . '\''; $html .= ' };'; if ($total < 3) { $html .= ' var chart = new google.visualization.ColumnChart('; } else { $html .= ' var chart = new google.visualization.LineChart('; } $html .= ' document.getElementById(\'chart_div_' . $count . '\'));'; $html .= ' chart.draw(view, options);'; $html .= ' var selectHandler = function(e) {'; $html .= ' window.location = data.getValue(chart.getSelection()[0][\'row\'], 3 );'; $html .= ' };'; $html .= ' google.visualization.events.addListener(chart, \'select\', selectHandler);'; $html .= ' }'; $html .= '</script>'; if ($data['mobile']) { $html .= '<div id="chart_div_' . $count . '""></div>'; } else { $html .= '<div id="chart_div_' . $count . '" style="width: 800px; height: 300px;"></div>'; } } } else { if ($data['idTipoUsuario'] == 1) { if ($data['mobile']) { $data['msg'] = '<div class="alert alert-warning">Nenhuma área incluída. Para cadastrar, clique no botão acima.</div>'; } else { $data['msg'] = '<div class="alert atencao">Nenhuma área incluída. Para cadastrar, clique no botão acima.</div>'; } } } $data['html'] = $html; $this->load->view($this->load->getUrlTema(), $data); }