Example #1
0
 public function listar_concursos($pk_sim_concurso_tipo)
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 18;
     $data['abaPage'] = 'listar_concursos';
     $data['alias'] = 'listar_concursos';
     $data['query'] = isset($_GET['psi_prv_unidade']) ? '?psi_prv_unidade=' . $_GET['psi_prv_unidade'] : '';
     $data['js'] = array('js/modules/simulado.js');
     $psi_prv_unidade = isset($_GET['psi_prv_unidade']) != '' ? '?psi_prv_unidade=' . $_GET['psi_prv_unidade'] : '';
     $sqlAdministracao = new SqlAdministracao();
     $result = $sqlAdministracao->listar_concursos($pk_sim_concurso_tipo);
     $sqlProva = new SqlProva();
     $data['titulo'] = $sqlProva->get_titulo_lista_concursos($pk_sim_concurso_tipo);
     $data['total'] = $result['total'];
     $heading_processar = 0;
     if ($result['total'] > 0) {
         $this->load->library('table');
         $count = 0;
         $count_media_concurso = 0;
         foreach ($result['registros'] as $row) {
             $count++;
             $tmpl = Util::zebrar($count, count($result['registros']));
             // checa se as médias já foram processadas
             $sqlAdministracao = new SqlAdministracao();
             $medias = $sqlAdministracao->checa_medias_blocos($row['pk_sim_concurso']);
             $count_media = 0;
             foreach ($medias['registros'] as $media) {
                 if ($media['media_bloco'] != null) {
                     $count_media++;
                 }
             }
             $blocos = array('data' => $row['blocos'], 'class' => 'tcenter');
             // pega as pks das sequencias de materias
             $sqlAdministracao = new SqlAdministracao();
             $gabaritos = $sqlAdministracao->listar_concursos_gabaritos($row['pk_sim_concurso']);
             // cria o menu de gabaritos, caso tenham sido incluídos anteriormente
             $html = '<ul class="square m0">';
             $conta_pesos = 0;
             $soma_medias = 0;
             foreach ($gabaritos['registros'] as $gabarito) {
                 if ($gabarito['pesos'] != 0) {
                     $conta_pesos++;
                 }
                 // se o peso da matéria ja´tiver tido sido definido, coloca o ícone ok
                 $peso_definido = $gabarito['pesos'] != 0 ? '<div class="icon_ok right ml"></div>' : '';
                 $html .= '<li>' . $peso_definido . '<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/editar_pesos_concursos/' . $this->uri->segment(4) . '/' . $row['pk_sim_concurso'] . '/' . $gabarito['pk_sim_concurso_gabarito'] . '">' . $gabarito['descricao'] . '</a> (' . $gabarito['pesos'] . ' disciplinas) </li>';
             }
             $html .= '</ul>';
             // se todos os pesos tiverem sido definidos, seta o valor 1 a flag
             $flag_pesos_ok = $conta_pesos == $gabaritos['total'] && $gabaritos['total'] > 0 ? 1 : 0;
             // se as sequencias de matéria não foram incluídas
             if ($gabaritos['total'] == 0) {
                 if ((int) $row['blocos'] > 0 && (int) $count_media == (int) $row['blocos']) {
                     $pesos = '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/junta_provas/' . $this->uri->segment(4) . '/' . $row['pk_sim_concurso'] . '"><div class="tooltip icon_pesos" data-tooltip="Definir pesos"></div></a>';
                 } else {
                     $pesos = '';
                 }
             } else {
                 // se a fk do concurso estiver definida, exibe a lista já aberta, evitando que o usuário tenha que clicar no ícone de pesos
                 if (isset($_GET['fk_sim_concurso']) && $_GET['fk_sim_concurso'] == $row['pk_sim_concurso']) {
                     $pesos = $html;
                 } else {
                     // mostra o icone de pesos com e a lista oculta para ser exibida quando o ícone for clicado
                     $pesos = array('data' => '<a data-id="' . $row['pk_sim_concurso'] . '" class="gabaritos"><div id="icone_' . $row['pk_sim_concurso'] . '" class="tooltip icon_pesos" data-tooltip="Editar pesos das matérias"></div></a>
                                                <div id="' . $row['pk_sim_concurso'] . '" class="DivOculta">' . $html . '</div>');
                 }
             }
             $pesos_final = $pesos;
             //                // se as sequencias de materias forem incluídas
             //                if ($gabaritos['total'] > 0)
             //                {
             //                    if ($row['media_concurso'] != null)
             //                    {
             //                        // se os pesos já tiverem sido definidos, coloca o ícone com o link para processamento. Caso contrário, coloca o ícone sem o link, apenas com o aviso solicitando para incluir os pesoas antes
             //                        $processar_final = $checking_processar == 1 ? $processar : '<div class="tooltip icon_processar" data-tooltip="Antes de processar o concurso, defina antes os pesos de cada matéria de cada subgrupo ao lado."></div>';
             //                    }
             //                    else
             //                    {
             //                        $processar_final = '<div class="tooltip icon_processar_cinza" data-tooltip="Antes de processar o concurso, defina antes os pesos de cada matéria de cada subgrupo ao lado."></div>';
             //                    }
             //
             //                    if ($processar_final != '')
             //                    {
             //                        $heading_processar++;
             //                    }
             //                }
             //                else
             //                {
             //                    $processar_final = '<div class="tooltip icon_processar_cinza" data-tooltip="Processamento dependendo de etapas anteriores"></div>';
             //                }
             if ($flag_pesos_ok == 1) {
                 $processar = '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_concurso/' . $this->uri->segment(4) . '/' . $row['pk_sim_concurso'] . '"><div class="tooltip icon_processar" data-tooltip="Processar concurso"></div></a>';
             } else {
                 $processar = '<div class="tooltip icon_processar_cinza" data-tooltip="Processamento dependendo de etapas anteriores"></div>';
             }
             // verifica o bloco já foi publicado
             $sqlAdministracao = new SqlAdministracao();
             $publicacao = $sqlAdministracao->checa_publicacao_concurso($row['pk_sim_concurso']);
             // se ainda não foi publicado
             if ($publicacao['total'] == 0) {
                 $msgPublicacao = 'Concurso 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 = '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 .= ' * Publicado no dia ' . View::converteDataBr($public['data_process']) . ' como ' . View::nivelRanking($public['nivel_ranking']);
                     }
                 }
             }
             // se a média do concurso foi processada
             if ($row['media_concurso'] != '') {
                 $count_media_concurso++;
             }
             if ($row['media_concurso'] != null) {
                 $listagem = '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_ranking_concurso/' . $this->uri->segment(4) . '/' . $row['pk_sim_concurso'] . '"><div class="tooltip icon_ranking" data-tooltip="Listar ranking do concurso"></div></a>';
                 $publicar = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/publicar_concurso/' . $this->uri->segment(4) . '/' . $row['pk_sim_concurso'] . '"><div class="tooltip ' . $icone_publica . '" data-tooltip="' . $msgPublicacao . '"></div></a>', 'class' => 'tcenter');
             } else {
                 $listagem = '<div class="tooltip icon_rankingCinza" data-tooltip="Ranking dependendo de etapas anteriores"></div>';
                 $publicar = '<div class="tooltip ' . $icone_publica . '" data-tooltip="' . $msgPublicacao . '"></div>';
             }
             $inscritos = '<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/inscritos/' . $row['pk_sim_concurso'] . '"><div class="tooltip icon_ok" data-tooltip="Inscritos"></div></a>';
             $this->table->add_row('<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_blocos/' . $row['pk_sim_concurso'] . $psi_prv_unidade . '">' . $row['concurso_nome'] . '</a>', $blocos, $inscritos, $pesos_final, $processar, $listagem, $publicar, $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_concurso" ' . View::getParamExcluirItemTabela($row['pk_sim_concurso'], 0, 0, '', 'Excluir concurso', 'Deseja excluir o concurso ' . $row['concurso_nome'] . '') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>' : '');
         }
         $arrHead[] = 'Concursos';
         $arrHead[] = 'Blocos';
         $arrHead[] = '';
         $arrHead[] = '';
         $arrHead[] = '';
         $arrHead[] = '';
         $arrHead[] = '';
         $arrHead[] = '';
         $this->table->set_heading($arrHead);
         $this->table->set_template($tmpl);
     } else {
         $data['msg'] = '<div class="alert atencao">Nenhum concurso cadastrado. Para incluir, clique no botão acima.</div>';
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }