예제 #1
0
 public function processar_percentuais_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 {
             $sqlConcurso = new SqlConcurso();
             // reseta dados da tabela exa_resposta_percentuais
             $sqlConcurso->reset_percentuais_respostas_materia($pk_exa_prova);
             // cria a tabela temporária com as respostas dos alunos
             $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 $item) {
                 echo $item['fk_exa_materia'] . ')<BR/>';
                 $result = $sqlConcurso->get_gabarito_materia($pk_exa_prova, $item['fk_exa_materia']);
                 foreach ($result as $row) {
                     echo '----- ' . $row['pk_exa_gabarito'] . '<br />';
                     $marcacoes = $sqlConcurso->get_respostas_gabarito($pk_exa_prova, $row['pk_exa_gabarito']);
                     $total_marcacao = count($marcacoes);
                     $alternativa_A = 0;
                     $alternativa_B = 0;
                     $alternativa_C = 0;
                     $alternativa_D = 0;
                     $alternativa_E = 0;
                     foreach ($marcacoes as $marcacao) {
                         if ($marcacao['resposta'] == 'A') {
                             $alternativa_A++;
                         } else {
                             if ($marcacao['resposta'] == 'B') {
                                 $alternativa_B++;
                             } else {
                                 if ($marcacao['resposta'] == 'C') {
                                     $alternativa_C++;
                                 } else {
                                     if ($marcacao['resposta'] == 'D') {
                                         $alternativa_D++;
                                     } else {
                                         if ($marcacao['resposta'] == 'E') {
                                             $alternativa_E++;
                                         }
                                     }
                                 }
                             }
                         }
                     }
                     $percentual_A = $alternativa_A / $total_marcacao * 100;
                     $percentual_B = $alternativa_B / $total_marcacao * 100;
                     $percentual_C = $alternativa_C / $total_marcacao * 100;
                     $percentual_D = $alternativa_D / $total_marcacao * 100;
                     $percentual_E = $alternativa_E / $total_marcacao * 100;
                     echo '................... A: ' . $alternativa_A . ' - ' . $percentual_A . '<br />';
                     echo '................... B: ' . $alternativa_B . ' - ' . $percentual_B . '<br />';
                     echo '................... C: ' . $alternativa_C . ' - ' . $percentual_C . '<br />';
                     echo '................... D: ' . $alternativa_D . ' - ' . $percentual_D . '<br />';
                     echo '................... E: ' . $alternativa_E . ' - ' . $percentual_E . '<br />';
                     echo '................... total: ' . $total_marcacao . '<br /><br /><br />';
                     $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'A', $alternativa_A, $percentual_A, $pk_exa_prova);
                     $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'B', $alternativa_B, $percentual_B, $pk_exa_prova);
                     $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'C', $alternativa_C, $percentual_C, $pk_exa_prova);
                     $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'D', $alternativa_D, $percentual_D, $pk_exa_prova);
                     $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'E', $alternativa_E, $percentual_E, $pk_exa_prova);
                 }
             }
             $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>';
         }
     }
 }