Example #1
0
 public function listar_materias_concurso($pk_exa_concurso_tipo, $pk_exa_concurso)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['abaPage'] = __FUNCTION__;
     $data['alias'] = __FUNCTION__;
     $data['abaAtiva'] = $this->AbaAtiva;
     $data['pk_exa_concurso_tipo'] = (int) $pk_exa_concurso_tipo;
     $data['pk_exa_concurso'] = (int) $pk_exa_concurso;
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // Soma os pesos enviados
             $peso_total = 0;
             for ($i = 1; $i <= $this->input->post('total'); $i++) {
                 $peso_total = $peso_total + str_replace(',', '.', $this->input->post('peso_' . $i));
             }
             // Trata os eventuais erros
             if ($peso_total < 9.9) {
                 $this->session->set_flashdata('msg', '<div class="alert erro">A soma total dos pesos está inferior a 10 (' . $peso_total . ').</div>');
             } else {
                 if ($peso_total > 10.1) {
                     $this->session->set_flashdata('msg', '<div class="alert erro">A soma total dos pesos está superior a 10 (' . $peso_total . ').</div>');
                 } else {
                     $this->session->set_flashdata('msg', '<div class="alert ok">Pesos atualizados com sucesso!</div>');
                 }
             }
             $sqlConcurso = new SqlConcurso();
             for ($i = 1; $i <= $this->input->post('total'); $i++) {
                 $peso_final = str_replace(',', '.', $this->input->post('peso_' . $i)) / 10;
                 echo $this->input->post('pk_exa_peso_concurso_' . $i) . ' -- ' . $peso_final . '<br />';
                 $sqlConcurso->incluir_pesos_materias_concurso($this->input->post('peso_' . $i), $pk_exa_concurso, $this->input->post('pk_exa_materia_' . $i), $this->input->post('chave_materias'));
             }
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/incluir_pesos_concurso/' . $pk_exa_concurso_tipo . '/' . $pk_exa_concurso);
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $sqlConcurso = new SqlConcurso();
     $result = $sqlConcurso->listar_materias_concurso($pk_exa_concurso, $_GET['materias']);
     $data['total'] = count($result);
     $totalQuestoes = 0;
     foreach ($result as $row) {
         $totalQuestoes = $totalQuestoes + $row['questoes'];
     }
     if ($totalQuestoes > 0) {
         $peso_questao = 10 / $totalQuestoes;
     } else {
         $peso_questao = 0;
     }
     if (count($result) > 0) {
         $this->load->library('table');
         $arrHead[] = 'Matérias';
         $arrHead[] = 'Questões';
         $arrHead[] = 'Pesos';
         $this->table->set_heading($arrHead);
         $count = 0;
         $i = 0;
         $soma_pesos = 0;
         $total = 0;
         $peso_total = 0;
         foreach ($result as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result));
             $peso_materia = $peso_questao * $row['questoes'] / 10;
             $peso_materia_final = $peso_materia;
             $data['incluir'] = $row['peso_prova'] != '' ? 0 : $i++;
             $cell_1 = array('data' => $row['exa_materia_nome']);
             $cell_2 = array('data' => $row['questoes'], 'class' => 'tcenter');
             $cell_3 = array('data' => '<input type="text" name="peso_' . $count . '" class="w110 tcenter" value="' . $peso_materia_final * 10 . '" >
                                        <input type="hidden" name="pk_exa_peso_concurso_' . $count . '" value="' . $row['pk_exa_peso_concurso'] . '">
                                        <input type="hidden" name="pk_exa_materia_' . $count . '" value="' . $row['pk_exa_materia'] . '">', 'class' => 'tcenter');
             $this->table->add_row($cell_1, $cell_2, $cell_3);
             $total = $total + $row['questoes'];
             $peso_total = $peso_total + $peso_materia_final * 10;
         }
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhuma prova incluída. Para cadastrar, clique no botão acima.</div>';
     }
     //        $data['msg'] = isset($_SESSION['exa_unidade']) && $_SESSION['exa_unidade'] != '' ? '<div class="alert ok">Para importar os inscritos do simulado, <a class="link" href="'.  base_url().'simulado/administracao/importar_inscritos/'.$this->uri->segment(4).'"><strong>clique aqui</strong></a>.</div>' : '';
     $this->load->view($this->load->getUrlTema(), $data);
 }