/** * Método que lista os blocos do exame selecionado * @param int $pk_exa_concurso O código do bloco do exame selecioando */ public function listar_blocos($pk_exa_concurso) { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['abaPage'] = __FUNCTION__; $data['abaAtiva'] = $this->AbaAtiva; $data['query'] = isset($_GET['psi_prv_unidade']) ? '?psi_prv_unidade=' . $_GET['psi_prv_unidade'] : ''; $psi_prv_unidade = isset($_GET['psi_prv_unidade']) != '' ? '?psi_prv_unidade=' . $_GET['psi_prv_unidade'] : ''; $pk_exa_concurso = (int) $pk_exa_concurso; $sqlConcurso = new SqlConcurso(); $data['titulo'] = $sqlConcurso->get_titulo_concurso($pk_exa_concurso); $result = $sqlConcurso->listar_blocos($pk_exa_concurso); $data['total'] = $result['total']; if ($result['total'] > 0) { $this->load->library('table'); $arrHead[] = 'Exames'; $arrHead[] = 'Areas'; $arrHead[] = 'Pesos'; $arrHead[] = 'Processa ranking'; $arrHead[] = 'Listar ranking'; $arrHead[] = 'Publicar prova'; $arrHead[] = 'Habilita para alunos'; $arrHead[] = ''; $this->table->set_heading($arrHead); $count = 0; foreach ($result['registros'] as $row) { $count++; $tmpl = Util::zebrar($count, $data['total']); $link = $row['total'] > 0 ? '<a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_areas/' . $row['pk_exa_bloco'] . $psi_prv_unidade . '">' . $row['concurso_tipo_nome'] . ' / ' . $row['concurso_nome'] . ' / ' . $row['bloco_nome'] . '</a>' : $row['concurso_tipo_nome'] . ' / ' . $row['concurso_nome'] . ' / ' . $row['bloco_nome']; $blocos = array('data' => $row['total'], 'class' => 'tcenter'); $result = $sqlConcurso->checa_pesos_bloco($row['pk_exa_bloco']); $pesos = empty($result) ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/incluir_pesos_bloco/' . $pk_exa_concurso . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_pesosCinza ml10" data-tooltip="Incluir pesos das matérias"></div></a>' : '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/incluir_pesos_bloco/' . $pk_exa_concurso . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_pesos ml10" data-tooltip="Incluir pesos das matérias"></div></a>'; // se os pesos não tiverem sido incluídos if (!empty($result)) { // verifica se o ranking já foi processado $result = $sqlConcurso->checa_media_bloco($row['pk_exa_bloco']); if (!empty($result)) { $processa = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_bloco/' . $pk_exa_concurso . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_processar ml20" data-tooltip="Incluir pesos das matérias"></div></a>', 'class' => 'w70'); $ranking = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_ranking_provas/' . $pk_exa_concurso . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_ranking ml20" data-tooltip="Listar ranking"></div></a>', 'class' => 'w70'); } else { $processa = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_bloco/' . $pk_exa_concurso . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_processar_cinza ml20" data-tooltip="Incluir pesos das matérias"></div></a>', 'class' => 'w70'); $ranking = array('data' => '<div class="tooltip icon_rankingCinza ml30" data-tooltip="Listar ranking"></div>', 'class' => 'w70'); } $checa_relatorio_bloco = $sqlConcurso->checa_relatorio_bloco($row['pk_exa_bloco']); $publicar = !empty($checa_relatorio_bloco) ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/publicar_bloco/' . $row['fk_exa_concurso'] . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_publica ml20" data-tooltip="Republicar ranking no nível de área. Última publicaçao: ' . View::converteDataBr($checa_relatorio_bloco[0]['data_process']) . '"></div></a>', 'class' => 'w50') : array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/publicar_bloco/' . $row['fk_exa_concurso'] . '/' . $row['pk_exa_bloco'] . '"><div class="tooltip icon_publicaCinza ml20" data-tooltip="Área não publicada"></div></a>', 'class' => 'w50'); if (count($checa_relatorio_bloco) != 0) { $publicar_alunos = $checa_relatorio_bloco[0]['status'] == 1 ? array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/atualizar_status_relatorio/' . $row['fk_exa_concurso'] . '/' . $row['pk_exa_bloco'] . '/0/' . $checa_relatorio_bloco[0]['pk_relatorio'] . '/0/3"><div class="tooltip icon_pulicacao_alunos ml30" data-tooltip="Habilitado para a visualização para os alunos"></div></a>', 'class' => 'tcenter w80') : array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/atualizar_status_relatorio/' . $row['fk_exa_concurso'] . '/' . $row['pk_exa_bloco'] . '/0/' . $checa_relatorio_bloco[0]['pk_relatorio'] . '/1/3"><div class="tooltip icon_pulicacao_alunosCinza ml30" data-tooltip="Habilita a visualização para os alunos"></div></a>', 'class' => 'tcenter w80'); } else { $publicar_alunos = array('data' => '<div class="tooltip icon_pulicacao_alunosCinza ml30" data-tooltip="Esperando a publicação no ícone anterior"></div>', 'class' => 'w80'); } } else { $processa = array('data' => '<div class="tooltip icon_processar_cinza ml30" data-tooltip="Esperando a inclusão dos pesos para o processamento do ranking de área.">', 'class' => 'w70'); $ranking = array('data' => '<div class="tooltip icon_rankingCinza ml30" data-tooltip="Listar ranking"></div>', 'class' => 'w70'); $publicar = array('data' => '<div class="tooltip icon_publicaCinza ml30" data-tooltip="Esperando a publicação no ícone anterior"></div>', 'class' => 'w80'); $publicar_alunos = array('data' => '<div class="tooltip icon_pulicacao_alunosCinza ml30" data-tooltip="Esperando a publicação no ícone anterior"></div>', 'class' => 'w80'); } $this->table->add_row(str_replace('/ geral', '', $link), $blocos, $pesos, $processa, $ranking, $publicar, $publicar_alunos, $data['permissao']['excluir'] == 1 ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_bloco" ' . View::getParamExcluirItemTabela($row['pk_exa_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>' : ''); } $this->table->set_template($tmpl); } else { $titulo = $data['titulo'][0]['concurso_tipo_nome'] . '/' . $data['titulo'][0]['concurso_nome']; $data['msg'] = '<div class="alert informacao">Ainda não constam blocos no exame "' . str_replace('/geral', '', $titulo) . '". Para efetuar a primeira inclusão, <a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_bloco/' . $this->uri->segment(4) . $data['query'] . '">clique aqui</a>.</div>'; } $this->load->view($this->load->getUrlTema(), $data); }