Beispiel #1
0
 public function processa_parecer($pk_par_pesquisa)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 8;
     $data['abaPage'] = 'processa_parecer';
     $data['alias'] = 'processa_parecer';
     // 1ª pesquisa processada ainda com oito questões. Retirar esta verificação a partir de 2016
     if ($pk_par_pesquisa > 26) {
         $sqlParecer = new SqlParecer();
         $result = $sqlParecer->reset_pesquisa($pk_par_pesquisa);
         $sqlParecer = new SqlParecer();
         $result = $sqlParecer->get_professores($pk_par_pesquisa);
         foreach ($result as $row) {
             echo '<br />Professor: ' . $row['fk_usuario_professor'] . "<br />";
             // lista as questões da pesquisa
             $sqlParecer = new SqlParecer();
             $result = $sqlParecer->get_questoes_parecer($pk_par_pesquisa);
             $total_questoes = count($result);
             $questoes_respondidas = 0;
             $soma_indicadores = 0;
             foreach ($result as $item) {
                 echo '----- questao: ' . $item['pk_par_questao'] . "<br />";
                 // conta as marcações do professor em cada alternativa
                 $sqlParecer = new SqlParecer();
                 $result = $sqlParecer->get_alternativas_parecer($row['fk_usuario_professor'], $item['pk_par_questao']);
                 $total_marcacoes = 0;
                 $pontuacao = 0;
                 foreach ($result as $altern) {
                     $total_marcacoes = $total_marcacoes + $altern['total'];
                     $pontuacao = $pontuacao + $altern['peso'] * $altern['total'];
                 }
                 $indicador_questao = $total_marcacoes > 0 ? $pontuacao / $total_marcacoes : '';
                 $soma_indicadores = $soma_indicadores + $indicador_questao * $item['peso'];
                 if ($total_marcacoes > 0) {
                     $questoes_respondidas++;
                 }
                 echo '............ total_marcacoes: ' . $total_marcacoes . ' -  Pontuacao: ' . $pontuacao . ' - Indicador: ' . $indicador_questao . ' - Indicador geral (soma): ' . $soma_indicadores . ' - Nº de questões respondidas:' . $questoes_respondidas . '<br />';
                 if ($indicador_questao != '') {
                     $sqlParecer = new SqlParecer();
                     $sqlParecer->insert_indicadores_questoes($pk_par_pesquisa, $row['fk_usuario_professor'], $item['pk_par_questao'], $indicador_questao);
                 }
             }
             if ($questoes_respondidas == $total_questoes) {
                 $sqlParecer = new SqlParecer();
                 $sqlParecer->insert_indicadores_gerais($pk_par_pesquisa, $row['fk_usuario_professor'], $soma_indicadores / 10);
             }
         }
     }
     $this->session->set_flashdata('msg', '<div class="alert ok">Dados processados com sucesso!</div>');
     if (isset($_GET['coordenador'])) {
         redirect(base_url() . 'fap/professor/listar_ranking_pareceres/?&pk_par_pesquisa=' . $pk_par_pesquisa);
     } else {
         redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/listar_par_pesquisas');
     }
 }