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