示例#1
0
 public function listar_provas($pk_sim_area = '')
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 18;
     $data['abaPage'] = 'listar_provas';
     $data['alias'] = 'listar_provas';
     $data['psi_prv_unidade'] = isset($_GET['psi_prv_unidade']) != '' ? '?psi_prv_unidade=' . $_GET['psi_prv_unidade'] : '';
     $sqlAdministracao = new SqlAdministracao();
     $result = $sqlAdministracao->listar_provas($pk_sim_area);
     $sqlProva = new SqlProva();
     $data['titulo'] = $sqlProva->get_titulo_lista_provas($pk_sim_area);
     $data['total'] = $result['total'];
     if ($result['total'] > 0) {
         $materias = 0;
         $media = 0;
         foreach ($result['registros'] as $row) {
             $materias = $materias + $row['materias'];
             $media = $media + $row['media'];
         }
         $this->load->library('table');
         $count = 0;
         $conta_cartoes_total = 0;
         foreach ($result['registros'] as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result['registros']));
             $materias = array('data' => $row['materias'], 'class' => 'tcenter');
             $importar = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_cartoes/' . $this->uri->segment(4) . '/' . $row['pk_sim_prova'] . '"><div class="tooltip icon_importar" data-tooltip="Importar cartões"></div></a>', 'class' => 'tcenter');
             $processar = $row['cartoes'] != 0 ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_prova/' . $this->uri->segment(4) . '/' . $row['pk_sim_prova'] . '"><div class="tooltip icon_processar" data-tooltip="Processar prova"></div></a>', 'class' => 'tcenter') : '<div class="tooltip icon_processar_cinza" data-tooltip="Processamento esperando a importação dos cartões"></div>';
             $ranking = $row['media'] != 0 ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_ranking_provas/' . $this->uri->segment(4) . '/' . $row['pk_sim_prova'] . '"><div class="tooltip icon_ranking" data-tooltip="Listar ranking"></div></a>', 'class' => 'tcenter') : '<div class="tooltip icon_rankingCinza" data-tooltip="Ranking ainda não processado"></div>';
             $inscritos = '<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/inscritos/' . $row['fk_sim_concurso'] . '/' . $row['fk_sim_bloco'] . '/' . $row['fk_sim_area'] . '/' . $row['pk_sim_prova'] . '"><div class="tooltip icon_ok" data-tooltip="Inscritos"></div></a>';
             // vefifica se a prova foi publicada
             $sqlAdministracao = new SqlAdministracao();
             $publicacao = $sqlAdministracao->checa_publicacao_prova($row['pk_sim_prova']);
             // se ainda não foi publicado
             if ($publicacao['total'] == 0) {
                 $msgPublicacao = 'Prova não publicada';
                 $icone_publica = 'icon_publicaCinza';
             } else {
                 $icone_publica = 'icon_publica';
                 $msgPublicacao = 'Prova publicada no dia ' . View::converteDataBr($publicacao['registros'][0]['data_process']);
             }
             $publicar = $row['media'] != 0 ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/publicar_prova/' . $this->uri->segment(4) . '/' . $row['pk_sim_prova'] . '"><div class="tooltip ' . $icone_publica . '" data-tooltip="' . $msgPublicacao . '"></div></a>', 'class' => 'tcenter') : '<div class="tooltip ' . $icone_publica . '" data-tooltip="' . $msgPublicacao . '"></div>';
             if ($row['materias'] == 0) {
                 $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_materias/' . $row['pk_sim_prova'] . '">' . $row['prova_nome'] . '</a>', $materias, $inscritos, '', $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_prova" ' . View::getParamExcluirItemTabela($row['pk_sim_prova'], 0, 0, '', 'Excluir prova', 'Deseja excluir a prova ' . $row['prova_nome'] . '') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>' : '');
             } else {
                 if ($media != '') {
                     $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_materias/' . $row['pk_sim_prova'] . '">' . $row['prova_nome'] . '</a>', $materias, $inscritos, $importar, $processar, $ranking, $publicar, $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_prova" ' . View::getParamExcluirItemTabela($row['pk_sim_prova'], 0, 0, '', 'Excluir prova', 'Deseja excluir a prova ' . $row['prova_nome'] . '') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>' : '');
                 } else {
                     // conta quantos cartões da prova foram processados
                     $sqlAdministracao = new SqlAdministracao();
                     $cartoes = $sqlAdministracao->checa_processamento_cartoes($row['pk_sim_prova']);
                     $conta_cartoes = 0;
                     foreach ($cartoes['registros'] as $cartao) {
                         if ($cartao['processa'] == 1) {
                             $conta_cartoes++;
                             $conta_cartoes_total++;
                         }
                     }
                     // compara o número de cartões processados com o total de cartões da prova
                     if ($conta_cartoes == $row['cartoes'] && $row['cartoes'] != 0) {
                         $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_materias/' . $row['pk_sim_prova'] . '">' . $row['prova_nome'] . '</a>', $materias, $inscritos, $importar, $processar, $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_prova" ' . View::getParamExcluirItemTabela($row['pk_sim_prova'], 0, 0, '', 'Excluir prova', 'Deseja excluir a prova ' . $row['prova_nome'] . '') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>' : '');
                     } else {
                         $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_materias/' . $row['pk_sim_prova'] . '">' . $row['prova_nome'] . '</a>', $materias, $inscritos, $importar, $processar, $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_prova" ' . View::getParamExcluirItemTabela($row['pk_sim_prova'], 0, 0, '', 'Excluir prova', 'Deseja excluir a prova ' . $row['prova_nome'] . '') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>' : '');
                     }
                 }
             }
         }
         if ($materias == 0) {
             $arrHead[] = 'Provas';
             $arrHead[] = 'Matérias';
             $arrHead[] = '';
             $arrHead[] = '';
             $arrHead[] = '';
         } else {
             $arrHead[] = 'Provas';
             $arrHead[] = 'Matérias';
             $arrHead[] = '';
             $arrHead[] = '';
             if ($conta_cartoes_total > 0) {
                 $arrHead[] = '';
             }
             if ($media != '') {
                 $arrHead[] = '';
                 $arrHead[] = '';
                 $arrHead[] = '';
             }
             $arrHead[] = '';
         }
         $this->table->set_heading($arrHead);
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhuma prova incluída. Para cadastrar, clique no botão acima.</div>';
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }