Esempio n. 1
0
 public function publicar_concurso($pk_exa_concurso_tipo, $pk_exa_concurso)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['abaPage'] = __FUNCTION__;
     $data['alias'] = __FUNCTION__;
     $data['abaAtiva'] = $this->AbaAtiva;
     if ($this->uri->segment(4) != '') {
         // pega os dados descritivos da prova
         $sqlConcurso = new SqlConcurso();
         $result = $sqlConcurso->get_concurso($pk_exa_concurso);
         $relatorio_nome = View::tituloProva($result[0]['concurso_tipo_nome'], $result[0]['concurso_nome'], 'geral', 'geral', 'geral');
         // reseta os dados anteriores
         $sqlConcurso->excluir_relatorio_concurso($pk_exa_concurso);
         // inclui os dados da prova na tabela de relatório
         $pk_relatorio = $sqlConcurso->insert_relatorio_prova($relatorio_nome, $result[0]['data_realizacao'], date('Y-m-d'), 4, $result[0]['fk_exa_concurso_tipo'], 0, 0, 0, $result[0]['fk_exa_concurso'], $result[0]['participantes'], $result[0]['media'], $result[0]['desvio_medio'], $result[0]['desvio_padrao'], $result[0]['maior_media'], $result[0]['menor_media'], $result[0]['mediana'], $result[0]['quartil1'], $result[0]['quartil3'], 0);
         // pega os dados dos alunos na prova
         $result = $sqlConcurso->listar_ranking_concurso($pk_exa_concurso);
         foreach ($result['registros'] as $row) {
             // echo $row['media_prova'].'<br />';
             // inclui os dados dos alunos na prova na tabela de relatório
             $sqlConcurso->insert_relatorio_dados($pk_relatorio, $row['fk_usuario_aluno'], $row['fk_exa_materia'], $row['media_prova'], $row['ranking_geral_prova'], $row['ranking_unidade_prova'], $row['ranking_turma_prova']);
         }
         // PROCESSA MÉDIAS E DESVIOS DAS TURMAS
         // pega as turmas participantes
         $result = $sqlConcurso->get_turmas_concurso($pk_relatorio);
         foreach ($result['registros'] as $row) {
             // procesa as médias e desvios padrão de cada turma
             $result = $sqlConcurso->process_media_turma($pk_relatorio, $row['pk_turma']);
             foreach ($result as $item) {
                 $result = $sqlConcurso->insert_media_turma($pk_relatorio, $row['pk_turma'], $item['media_turma']);
             }
         }
         $this->session->set_flashdata('msg', '<div class="alert ok">Bloco publicado com sucesso!</div>');
         redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_concursos/' . $pk_exa_concurso_tipo);
     }
 }