public function processar_prova($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 { // cria a tabela temporária com as respostas dos alunos $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->insert_temp_respostas($pk_sim_prova); // pega os alunos que participaram da prova $sqlAdministracao = new SqlAdministracao(); $alunos = $sqlAdministracao->listar_alunos_prova($pk_sim_prova); // pega as matérias da prova $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->listar_materias($pk_sim_prova); foreach ($result['registros'] as $row) { echo $row['fk_sim_materia'] . ')<BR/>'; $sql_insert = 'INSERT INTO sim.sim_media_prova (media_prova, fk_usuario_aluno, fk_sim_prova, fk_sim_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 $sqlAdministracao = new SqlAdministracao(); $respostas = $sqlAdministracao->get_temp_respostas($aluno['fk_usuario_aluno'], $row['fk_sim_materia'], $pk_sim_prova); $nota = 0; foreach ($respostas['registros'] 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_sim_prova . ", " . $row['fk_sim_materia'] . ")"; if ($i < $total) { $sql_insert .= ', '; } $incluir = 1; $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->delete_nota($notaFinal, $aluno['fk_usuario_aluno'], $pk_sim_prova, $row['fk_sim_materia']); } } if ($incluir == 1) { echo $sql_insert; $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->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_medias/' . $this->uri->segment(4) . '/' . $this->uri->segment(5)); return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } }