public function estatisticas_questoes($pk_sim_concurso = 0, $pk_sim_bloco = 0, $pk_sim_prova = 0) { $msg = null; $data = $this->getParametroVisao(); if ($data['mobile']) { $data['usuario'] = unserialize($_SESSION['usuario']); $data['tema'] = $this->load->setTheme('responsive'); // $data["css"] = array(base_url()."css/modules/simulado.css"); } else { $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; } $data['abaPage'] = 'estatisticas_questoes'; $data['page'] = 'home'; $data['msg'] = $msg; $data['abaAtiva'] = 18; $data['alias'] = 'estatisticas_questoes'; if ($pk_sim_prova != 0) { // pega a sequencia de matérias da prova $sqlProva = new SqlProva(); $materias = $sqlProva->get_gabarito_materias($pk_sim_prova); } else { if ($pk_sim_prova == 0 && $pk_sim_bloco != 0) { // pega a sequencia de matérias do bloco $sqlAdministracao = new SqlAdministracao(); $materias = $sqlAdministracao->get_blocos_gabarito_materias($pk_sim_bloco); } else { if ($pk_sim_concurso != 0 && $pk_sim_prova == 0 && $pk_sim_bloco == 0) { // pega a sequencia de matérias do bloco $sqlAdministracao = new SqlAdministracao(); $materias = $sqlAdministracao->get_concurso_gabarito_materias($pk_sim_concurso); } } } $data['total'] = count($materias); $legenda = ''; $legenda .= '<div id="legendasQuestoes">Legendas:<br />'; $legenda .= '<div class="legendaQuestao questaoFacil"></div> <div class="legendaQuestaoDesc">Questão de nível fácil <label>(% de acertos </label><b>superior a 70%</b><label>)</label></div><br class="clear" />'; $legenda .= '<div class="legendaQuestao questaoMedia"></div> <div class="legendaQuestaoDesc">Questão de nível médio <label>(% de acertos </label><b>entre 30% 70% </b><label>)</label></div><br class="clear" />'; $legenda .= '<div class="legendaQuestao questaoDificil"></div> <div class="legendaQuestaoDesc">Questão de nível difícil <label>(% de acertos </label><b>inferior a 30%</b><label>)</label></div>'; $legenda .= '</div>'; $titulo = ''; $codigos = ''; foreach ($materias['registros'] as $row) { // echo $row['pk_sim_prova'].' - '.$row['sim_materia_nome'].')<br />'; $titulo = '<div class="materia left mr20 ml20"><h3 class="left">' . $row['sim_materia_nome'] . '</h3><br class="clear" />'; // pega a sequencia de matérias do bloco $sqlAdministracao = new SqlAdministracao(); $gabaritos = $sqlAdministracao->listar_gabarito($row['pk_sim_prova'], $row['pk_sim_materia']); $htmlFinal = ''; $html = ''; foreach ($gabaritos['registros'] as $gabarito) { // se otipo de questão for ABCDE if ($gabarito['tipo_questao'] == 1) { $htmlFinal .= Estatisticas::questaoABCDE($html, $gabarito['numero_questao'], $gabarito['anulada'], $gabarito['pk_sim_gabarito'], $row['pk_sim_prova'], $row['pk_sim_materia'], $gabarito['gabarito'], $gabarito['peso_questao']); } else { if ($gabarito['tipo_questao'] == 3) { $htmlFinal .= Estatisticas::questaoAberta($html, $gabarito['numero_questao'], $gabarito['anulada'], $gabarito['pk_sim_gabarito'], $row['pk_sim_prova'], $row['pk_sim_materia'], $gabarito['gabarito'], $gabarito['peso_questao']); } else { } } } $codigos .= $titulo . $htmlFinal . '</div>'; } $data['html'] = $legenda . $codigos; $this->load->view($this->load->getUrlTema(), $data); }
public function processaAberta($pk_sim_gabarito, $numero_questao, $fk_sim_materia, $tipo_questao, $gabarito, $anulada, $peso_questao, $file, $totalLinhas, $colIniVF) { foreach ($file as $linha) { $pk_usuario_aluno = substr($linha, 0, 16); $marcacao = substr($linha, $colIniVF, 10); // se a questão não for anulada if ($anulada != 1) { $valorQuestao = (int) $gabarito == (int) ChecaProposicoes::marcacaoAberta($marcacao) ? $peso_questao : 0; } else { $valorQuestao = 0; } $status = $anulada != 1 ? $valorQuestao / $peso_questao : 0; echo '........' . $pk_usuario_aluno . ' - ' . $marcacao . ' - ' . ChecaProposicoes::marcacaoAberta($marcacao) . ' - <strong>' . $valorQuestao . '</strong> - ' . $status . '<br />'; // inclui os dados do usuário na tabela de respostas $sqlAdministracao = new SqlAdministracao(); $pk_sim_resposta = $sqlAdministracao->insert_respostas((int) $pk_usuario_aluno, $pk_sim_gabarito, ChecaProposicoes::marcacaoAberta($marcacao), $valorQuestao, $status); } }
public function listar_concursos_mestre() { $msg = null; $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $msg; $data['abaAtiva'] = 18; $data['abaPage'] = 'listar_concursos_mestre'; $data['alias'] = 'listar_concursos_mestre'; $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->listar_concursos_mestre(); $data['total'] = $result['total']; if ($result['total'] > 0) { $this->load->library('table'); $arrHead[] = 'Codigos'; $arrHead[] = 'Concurso'; $arrHead[] = 'Prova'; $arrHead[] = 'Data'; $arrHead[] = ''; $this->table->set_heading($arrHead); $count = 0; foreach ($result['registros'] as $row) { $count++; $tmpl = Util::zebrar($count, count($result['registros'])); $codigos = array('data' => $row['unidade'] . '-' . $row['sim_seq'] . '-' . $row['psi_prv']); $sim_des = array('data' => $row['sim_des']); $psi_des = array('data' => $row['psi_des']); $psi_data = array('data' => View::converteDataBr($row['psi_data'])); $prova = '<a class="link" href="' . base_url() . 'simulado/administracao/listar_concursos_tipos?psi_prv_unidade=' . $row['psi_prv_unidade'] . '">Cadastrar</a>'; $this->table->add_row($codigos, $sim_des, $psi_des, $psi_data, $prova); } $this->table->set_template($tmpl); } else { $data['msg'] = '<div class="alert atencao">Nenhuma prova incluída. Para cadastrar, clique no botão acima.</div>'; } $this->load->view($this->load->getUrlTema(), $data); }
public function questaoAberta($html, $numero_questao, $anulada, $pk_sim_gabarito, $pk_sim_prova, $fk_sim_materia, $gabarito, $peso_questao) { // echo '-------- '.$numero_questao.' - '.$gabarito.'<br />'; if ($anulada == 1) { $html .= '<div class="titulo_questao">' . $numero_questao . '</div> <div class="questao_anulada">Anulada</div><br class="clear" />'; } else { // pega a sequencia de matérias do bloco $sqlAdministracao = new SqlAdministracao(); $marcacoes = $sqlAdministracao->get_marcacoes($pk_sim_gabarito, $pk_sim_prova, $fk_sim_materia); $total_acertos = 0; foreach ($marcacoes['registros'] as $marcacao) { if ($marcacao['resposta'] == $gabarito) { $total_acertos++; } } $percentual = $total_acertos / $marcacoes['total'] * 100; if ($percentual > 70) { $cor = 'questaoFacil'; } else { if ($percentual < 71 && $percentual > 30) { $cor = 'questaoMedia'; } else { $cor = 'questaoDificil'; } } $html .= '<div class="titulo_questao tooltip ' . $cor . '" data-tooltip="Valor da questão: ' . $peso_questao . '">' . $numero_questao . '</div>'; $html .= '<div class="questao"><table>'; $html .= '<tr>'; $html .= '<th class="proposicao w40">' . $gabarito . '</th>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td class="tcenter">' . round($percentual, 1) . '%</td>'; $html .= '</tr>'; $html .= '</table></div><br class="clear" />'; return $html; } }