Ejemplo n.º 1
0
 public function publicar_prova($pk_sim_area, $pk_sim_prova)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 18;
     $data['abaPage'] = 'publicar_prova';
     $data['alias'] = 'publicar_prova';
     if ($this->uri->segment(5) != '') {
         // pega os dados descritivos da prova
         $sqlProva = new SqlProva();
         $result = $sqlProva->get_prova($pk_sim_prova);
         $relatorio_nome = View::tituloProva($result[0]['concurso_tipo_nome'], $result[0]['concurso_nome'], $result[0]['bloco_nome'], $result[0]['area_nome'], $result[0]['prova_nome']);
         // reseta os dados anteriores
         $sqlAdministracao = new SqlAdministracao();
         $sqlAdministracao->excluir_relatorio($pk_sim_prova, 1);
         // inclui os dados da prova na tabela de relatório
         $sqlAdministracao = new SqlAdministracao();
         $pk_relatorio = $sqlAdministracao->insert_relatorio_prova($relatorio_nome, $result[0]['data_realizacao'], date('Y-m-d'), 1, $result[0]['fk_sim_concurso_tipo'], $result[0]['pk_sim_prova'], $result[0]['fk_sim_area'], $result[0]['fk_sim_bloco'], $result[0]['fk_sim_concurso'], $result[0]['participantes'], $result[0]['media'], $result[0]['desvio_medio'], $result[0]['variancia'], $result[0]['desvio_padrao'], $result[0]['maior_media'], $result[0]['menor_media'], $result[0]['mediana'], $result[0]['quartil1'], $result[0]['quartil3']);
         // pega os dados dos alunos na prova
         $sqlAdministracao = new SqlAdministracao();
         $result = $sqlAdministracao->listar_ranking_provas($pk_sim_prova);
         foreach ($result['registros'] as $row) {
             // echo $row['media_prova'].'<br />';
             // inclui os dados dos alunos na prova na tabela de relatório
             $sqlAdministracao = new SqlAdministracao();
             $sqlAdministracao->insert_relatorio_dados($pk_relatorio, $row['fk_usuario_aluno'], $row['fk_sim_materia'], $row['media_prova'], $row['desvio'], $row['ranking_geral_prova'], $row['ranking_unidade_prova'], $row['ranking_turma_prova']);
         }
         // PROCESSA MÉDIAS E DESVIOS DAS TURMAS
         // pega as turmas participantes
         $sqlAdministracao = new SqlAdministracao();
         $result = $sqlAdministracao->get_turmas_concurso($pk_relatorio);
         foreach ($result['registros'] as $row) {
             // procesa as médias e desvios padrão de cada turma
             $sqlAdministracao = new SqlAdministracao();
             $result = $sqlAdministracao->process_media_desvio_turma($pk_relatorio, $row['pk_turma']);
             foreach ($result['registros'] as $item) {
                 var_dump($item['desvio_turma']);
                 $sqlAdministracao = new SqlAdministracao();
                 $result = $sqlAdministracao->insert_media_desvio_turma($pk_relatorio, $row['pk_turma'], $item['media_turma'], $item['desvio_turma']);
             }
         }
         $this->session->set_flashdata('msg', '<div class="alert ok">Prova publicada com sucesso!</div>');
         redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_provas/' . $this->uri->segment(4));
     }
 }