Exemplo n.º 1
0
 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));
     }
 }