Beispiel #1
0
 public function processar_cartoes()
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 8;
     $data['abaPage'] = 'processar_cartoes';
     $data['alias'] = 'processar_cartoes';
     if ($this->uri->segment(5) != '') {
         try {
             // View::validarFormAntInjection($data['alias']);
             // o número de questões
             $sqlPesquisa = new SqlPesquisa();
             $result = $sqlPesquisa->listar_gabarito($this->uri->segment(4));
             $n_questoes = $result['total'];
             // pega o nome do arquivo e o tipo de cartão
             $sqlPesquisa = new SqlPesquisa();
             $result = $sqlPesquisa->get_arquivo($this->uri->segment(5));
             $arquivo = $result['registros'][0]['arquivo_nome'];
             $tipo_cartao = $result['registros'][0]['tipo_cartao'];
             $sqlPesquisa = new SqlPesquisa();
             $sqlPesquisa->excluir_respostas($this->uri->segment(5));
             // define as colunas inicial e final do cartão a ser lido
             $colIni = 16;
             $colFim = $colIni + $n_questoes;
             // pega os dados do arquivo
             $file = file("uploadArquivos/easyTols/" . $arquivo . "");
             // conta o total de linhas
             $totalLinhas = count($file);
             // define a coluna atual
             $colAtual = $colIni;
             $questao = 0;
             for ($colAtual = $colIni; $colAtual < $colFim; $colAtual++) {
                 // incrementa o número da questão
                 $questao++;
                 foreach ($file as $linha) {
                     // pega o campo do arquivo
                     $marcacao = substr($linha, $colAtual, 1);
                     // pega as pks do gabarito e da alternativa
                     $sqlPesquisa = new SqlPesquisa();
                     $result = $sqlPesquisa->get_alternativa_questao($this->uri->segment(4), $questao, $marcacao);
                     if ($result['total'] == 1) {
                         // grava as pks do gabario e da alternativa marcada
                         $sqlPesquisa = new SqlPesquisa();
                         $result = $sqlPesquisa->insert_resposta($result['registros'][0]['pk_pes_gabarito'], $result['registros'][0]['pk_pes_alternativa'], $this->uri->segment(5));
                     }
                 }
             }
             $this->session->set_flashdata('msg', '<div class="alert ok">Dados processados com sucesso!</div>');
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_cartoes/' . $this->uri->segment(4));
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $sqlPesquisa = new SqlPesquisa();
     $result = $sqlPesquisa->get_pesquisa($this->uri->segment(4));
     $data['titulo'] = $result[0]['pes_nome'] . ' - ' . $result[0]['turma_nome'];
     $sqlPesquisa = new SqlPesquisa();
     $result = $sqlPesquisa->listar_arquivos($this->uri->segment(4));
     $data['total'] = $result['total'];
     if ($result['total'] > 0) {
         $this->load->library('table');
         $arrHead[] = 'Cod.';
         $arrHead[] = 'Arquivos';
         $arrHead[] = '';
         $this->table->set_heading($arrHead);
         $count = 0;
         foreach ($result['registros'] as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result['registros']));
             $this->table->add_row($row['pk_pes_arquivo'], $row['arquivo_nome'], '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_cartoes/' . $this->uri->segment(4) . '/' . $row['pk_pes_arquivo'] . '"><div class="tooltip icon_processar" data-tooltip="Processar cartões"></div></a>');
         }
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhum registro encontrado</div>';
     }
     if ($this->input->is_ajax_request()) {
         echo json_encode(array('content' => $this->load->view($this->uri->segment(3), $data, true)));
     } else {
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }