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); }