예제 #1
0
 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);
 }