public function listar_blocos($pk_sim_concurso = 0) { $msg = null; $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $msg; $data['abaAtiva'] = 18; $data['abaPage'] = 'listar_blocos'; $data['alias'] = 'listar_blocos'; $psi_prv_unidade = isset($_GET['psi_prv_unidade']) != '' ? '?psi_prv_unidade=' . $_GET['psi_prv_unidade'] : ''; $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->listar_blocos($pk_sim_concurso); $contaMediasBloco = 0; foreach ($result['registros'] as $row) { if ($row['media_bloco'] != null) { $contaMediasBloco++; } } $conta_medias = 0; foreach ($result['registros'] as $row) { // verifica se as provas do bloco foram processados $sqlAdministracao = new SqlAdministracao(); $provas = $sqlAdministracao->get_areas_provas($row['pk_sim_bloco']); foreach ($provas['registros'] as $prova) { if ($prova['media'] != null) { $conta_medias++; } } } $sqlProva = new SqlProva(); $data['titulo'] = $sqlProva->get_titulo_lista_blocos($pk_sim_concurso); $data['total'] = $result['total']; if ($result['total'] > 0) { $this->load->library('table'); $arrHead[] = 'Blocos'; $arrHead[] = 'Áreas'; $arrHead[] = 'Data'; $arrHead[] = ''; $arrHead[] = ''; $arrHead[] = ''; if ($conta_medias > 0) { $arrHead[] = ''; } if ($contaMediasBloco > 0) { $arrHead[] = ''; $arrHead[] = ''; } $this->table->set_heading($arrHead); $count = 0; foreach ($result['registros'] as $row) { $count++; $tmpl = Util::zebrar($count, count($result['registros'])); $areas = array('data' => $row['areas'], 'class' => 'tcenter'); $ranking = $row['media_bloco'] != 0 ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_ranking_bloco/' . $this->uri->segment(4) . '/' . $row['pk_sim_bloco'] . '"><div class="tooltip icon_ranking" data-tooltip="Listar ranking do bloco"></div></a>', 'class' => 'tcenter') : '<div class="tooltip icon_rankingCinza" data-tooltip="Listagem ainda não disponível"></div>'; // verifica o bloco já foi publicado $sqlAdministracao = new SqlAdministracao(); $publicacao = $sqlAdministracao->checa_publicacao_bloco($row['pk_sim_bloco']); // se ainda não foi publicado if ($publicacao['total'] == 0) { $msgPublicacao = 'Bloco não publicado'; $icone_publica = 'icon_publicaCinza'; } else { $icone_publica = 'icon_publica'; // se foi foi publicado em um nível if ($publicacao['total'] == 1) { $msgPublicacao = 'Bloco publicado no dia ' . View::converteDataBr($publicacao['registros'][0]['data_process']) . ' como ' . View::nivelRanking($publicacao['registros'][0]['nivel_ranking']); } else { $msgPublicacao = ''; foreach ($publicacao['registros'] as $public) { $msgPublicacao .= ' * Bloco publicado no dia ' . View::converteDataBr($public['data_process']) . ' como ' . View::nivelRanking($public['nivel_ranking']); } } } if ($areas > 0) { $publicar = $row['media_bloco'] != 0 ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/publicar_bloco/' . $this->uri->segment(4) . '/' . $row['pk_sim_bloco'] . '"><div class="tooltip ' . $icone_publica . '" data-tooltip="' . $msgPublicacao . '"></div></a>', 'class' => 'tcenter') : '<div class="tooltip icon_publicaCinza" data-tooltip="Bloco não publicado"></div>'; } else { $publicar = '<div class="tooltip icon_publicaCinza" data-tooltip="Bloco não publicado"></div>'; } // verifica se as provas do bloco foram processados $sqlAdministracao = new SqlAdministracao(); $provas = $sqlAdministracao->get_areas_provas($row['pk_sim_bloco']); $conta_medias = 0; foreach ($provas['registros'] as $prova) { if ($prova['media'] != null) { $conta_medias++; } } if ($conta_medias == $provas['total'] && $provas['total'] > 0) { $processar = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_bloco/' . $this->uri->segment(4) . '/' . $row['pk_sim_bloco'] . '"><div class="tooltip icon_processar" data-tooltip="Processar bloco"></div></a>', 'class' => 'tcenter'); } else { $processar = '<div class="tooltip icon_processar_cinza" data-tooltip="Processamento do bloco ainda não disponível"></div>'; } $excluir = $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_bloco" ' . View::getParamExcluirItemTabela($row['pk_sim_bloco'], 0, 0, '', 'Excluir bloco', 'Deseja excluir o bloco ' . $row['bloco_nome'] . '') . ' class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>' : ''; $resetar = $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/reset_nota_bloco" ' . View::getParamExcluirItemTabela($row['pk_sim_bloco'], 0, 0, $data['urlAtual'], 'Resetar notas anteriores do bloco', 'Deseja resetar o bloco ' . $row['bloco_nome'] . '') . ' class="excluirItemTabela"><div class="tooltip icon_reset" data-tooltip="Resetar notas anteriores do bloco"></div></a>' : ''; $inscritos = '<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/inscritos/' . $this->uri->segment(4) . '/' . $row['pk_sim_bloco'] . '"><div class="tooltip icon_ok" data-tooltip="Inscritos"></div></a>'; if ($contaMediasBloco > 0) { $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_areas/' . $row['pk_sim_bloco'] . $psi_prv_unidade . '">' . $row['bloco_nome'] . '</a>', $areas, View::converteDataBr($row['data_realizacao']), $inscritos, $processar, $ranking, $publicar, $resetar, $excluir); } else { $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_areas/' . $row['pk_sim_bloco'] . $psi_prv_unidade . '">' . $row['bloco_nome'] . '</a>', $areas, $inscritos, $processar, $resetar, $excluir); } } $this->table->set_template($tmpl); } else { $data['msg'] = '<div class="alert atencao">Nenhum registro encontrado</div>'; } $this->load->view($this->load->getUrlTema(), $data); }