Esempio n. 1
0
 public function processar_prova($pk_exa_area, $pk_exa_prova)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['abaPage'] = __FUNCTION__;
     $data['abaAtiva'] = $this->AbaAtiva;
     if ($this->uri->segment(5) != '') {
         try {
             // cria a tabela temporária com as respostas dos alunos
             $sqlConcurso = new SqlConcurso();
             $result = $sqlConcurso->insert_temp_respostas($pk_exa_prova);
             // pega os alunos que participaram da prova
             $alunos = $sqlConcurso->listar_alunos_prova($pk_exa_prova);
             // pega as matérias da prova
             $result = $sqlConcurso->listar_materias($pk_exa_prova);
             foreach ($result['registros'] as $row) {
                 echo $row['fk_exa_materia'] . ')<BR/>';
                 $sql_insert = 'INSERT INTO exa.exa_media_prova (media_prova, fk_usuario_aluno, fk_exa_prova, fk_exa_materia) VALUES ';
                 $total = $alunos['total'];
                 $i = 0;
                 $incluir = 0;
                 // lista os alunos
                 foreach ($alunos['registros'] as $aluno) {
                     $i++;
                     echo '------' . $aluno['fk_usuario_aluno'] . '<BR/>';
                     if ($row['questoes'] > 1) {
                         // pega os dados do aluno na tabela de respostas
                         $respostas = $sqlConcurso->get_temp_respostas($aluno['fk_usuario_aluno'], $row['fk_exa_materia'], $pk_exa_prova);
                         $nota = 0;
                         foreach ($respostas as $resposta) {
                             echo '+++++++++ ' . $resposta['pontuacao'] . '<br />';
                             $nota = $nota + $resposta['pontuacao'];
                         }
                         $notaFinal = $nota * 10;
                         echo '==============<strong> ' . $notaFinal . '</strong><br /><br />';
                         $sql_insert .= "(" . $notaFinal . ", " . $aluno['fk_usuario_aluno'] . ", " . $pk_exa_prova . ", " . $row['fk_exa_materia'] . ")";
                         if ($i < $total) {
                             $sql_insert .= ', ';
                         }
                         $incluir = 1;
                         $sqlConcurso->delete_nota($aluno['fk_usuario_aluno'], $pk_exa_prova, $row['fk_exa_materia']);
                     }
                 }
                 if ($incluir == 1) {
                     echo $sql_insert;
                     $sqlConcurso->insert_nota_sql($sql_insert);
                 }
             }
             $this->session->set_flashdata('msg', '<div class="alert erro">Os gabaritos ainda não foram preechidos!</div>');
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_percentuais_prova/' . $this->uri->segment(4) . '/' . $this->uri->segment(5));
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
 }