public function processar_ranking($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'] = 'processar_ranking'; $data['alias'] = 'processar_ranking'; if ($this->uri->segment(5) != '') { // pega as matérias da prova $sqlAdministracao = new SqlAdministracao(); $materias = $sqlAdministracao->get_materias_prova($pk_sim_prova); // adiciona a pk da materia geral a array de matérias $geral = array('peso_prova' => 0, 'fk_sim_prova' => $pk_sim_prova, 'fk_sim_materia' => 1, 'pk_sim_peso_prova' => 0, 'checking_gabarito' => 0); array_push($materias, $geral); foreach ($materias as $materia) { echo 'materia: ' . $materia['fk_sim_materia'] . ')<br />'; echo '..... geral:<br />'; // PROCESSA RANKING GERAL // pega os alunos que participaram da prova $sqlAdministracao = new SqlAdministracao(); $alunos = $sqlAdministracao->listar_media_prova_alunos($pk_sim_prova, $materia['fk_sim_materia']); $_SESSION['nota'] = 0; $ranking = 0; foreach ($alunos['registros'] as $row) { if ($_SESSION['nota'] != $row['media_prova']) { $ranking++; } echo '------------- ' . $ranking . ' - ' . $row['media_prova'] . '<br />'; $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->atualizar_ranking_prova($ranking, $pk_sim_prova, $row['fk_usuario_aluno'], $materia['fk_sim_materia'], 1); $_SESSION['nota'] = $row['media_prova']; } // PROCESSA RANKING POR UNIDADE // pega as unidades dos alunos que participaram da prova $sqlAdministracao = new SqlAdministracao(); $unidades = $sqlAdministracao->listar_media_prova_unidades($pk_sim_prova); foreach ($unidades['registros'] as $unidade) { echo '..... unidade: ' . $unidade['fk_unidade'] . '<br />'; // pega os alunos que participaram da prova $sqlAdministracao = new SqlAdministracao(); $alunos = $sqlAdministracao->listar_media_prova_alunos($pk_sim_prova, $materia['fk_sim_materia'], $unidade['fk_unidade']); $_SESSION['nota'] = 0; $ranking = 0; foreach ($alunos['registros'] as $row) { if ($_SESSION['nota'] != $row['media_prova']) { $ranking++; } echo '------------- ' . $ranking . ' - ' . $row['media_prova'] . '<br />'; $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->atualizar_ranking_prova($ranking, $pk_sim_prova, $row['fk_usuario_aluno'], $materia['fk_sim_materia'], 2); $_SESSION['nota'] = $row['media_prova']; } // PROCESSA RANKING POR TURMA // pega as turmas dos alunos que participaram da prova $sqlAdministracao = new SqlAdministracao(); $turmas = $sqlAdministracao->listar_media_prova_turmas($pk_sim_prova, $unidade['fk_unidade']); foreach ($turmas['registros'] as $turma) { echo '++++++++++ turma: ' . $turma['pk_turma'] . '<br />'; // pega os alunos que participaram da prova $sqlAdministracao = new SqlAdministracao(); $alunos = $sqlAdministracao->listar_media_prova_alunos($pk_sim_prova, $materia['fk_sim_materia'], $unidade['fk_unidade'], $turma['pk_turma']); $_SESSION['nota'] = 0; $ranking = 0; foreach ($alunos['registros'] as $row) { if ($_SESSION['nota'] != $row['media_prova']) { $ranking++; } echo '++++++++++ ' . $ranking . ' - ' . $row['media_prova'] . '<br />'; $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->atualizar_ranking_prova($ranking, $pk_sim_prova, $row['fk_usuario_aluno'], $materia['fk_sim_materia'], 3); $_SESSION['nota'] = $row['media_prova']; } } } } $this->session->set_flashdata('msg', '<div class="alert ok">Rankings processados com sucesso!</div>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_estatisticas_gerais/' . $this->uri->segment(4) . '/' . $this->uri->segment(5)); } }