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)); } }