public function processar_medias($pk_sim_area, $pk_sim_prova)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 18;
     $data['abaPage'] = 'processar_prova';
     $data['alias'] = 'processar_prova';
     if ($this->uri->segment(5) != '') {
         try {
             // pega as matérias da prova
             $sqlAdministracao = new SqlAdministracao();
             $materias = $sqlAdministracao->get_materias_prova($pk_sim_prova);
             // verifica se os pesos já foram definidos
             $soma_pesos = 0;
             foreach ($materias as $row) {
                 $soma_pesos = $soma_pesos + $row['peso_prova'];
             }
             if ($soma_pesos == 0) {
                 $this->session->set_flashdata('msg', '<div class="alert erro">Falta definir os pesos das matérias!</div>');
                 redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_provas/' . $this->uri->segment(4) . '/' . $this->uri->segment(5));
             }
             // pega os alunos que participaram da prova
             $sqlAdministracao = new SqlAdministracao();
             $result = $sqlAdministracao->listar_alunos_prova($pk_sim_prova);
             foreach ($result['registros'] as $row) {
                 echo $row['fk_usuario_aluno'] . ')<BR/>';
                 $media = 0;
                 foreach ($materias as $materia) {
                     echo '.... ' . $materia['fk_sim_materia'] . ' - ' . $materia['peso_prova'] . '<br />';
                     // pega a do aluno na materia atual
                     $sqlAdministracao = new SqlAdministracao();
                     $notas = $sqlAdministracao->get_nota_aluno($row['fk_usuario_aluno'], $pk_sim_prova, $materia['fk_sim_materia']);
                     $media_ponderada_materia = $notas[0]['media_prova'] * $materia['peso_prova'];
                     $media = $media + $media_ponderada_materia;
                 }
                 echo '----------- ' . $media . '<br />';
                 // inclui média
                 $sqlAdministracao = new SqlAdministracao();
                 $sqlAdministracao->insert_nota($media, $row['fk_usuario_aluno'], $pk_sim_prova, 1);
             }
             $this->session->set_flashdata('msg', '<div class="alert ok">Médias processadas com sucesso!</div>');
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_ranking/' . $this->uri->segment(4) . '/' . $this->uri->segment(5));
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
 }