Ejemplo n.º 1
0
 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);
 }