public function graficos_pareceres_fap($pk_usuario, $pk_usuario_professor = 0, $pk_par_pesquisa_url = 0) { $data = $this->getParametroVisao(); $this->load->helper('formatar_numero'); $data['msg'] = $this->getMsg(); $data['abaAtiva'] = 8; $data['abaPage'] = 'graficos_pareceres_fap'; $data['alias'] = 'graficos_pareceres_fap'; if ($data['mobile']) { $data['usuario'] = unserialize($_SESSION['usuario']); $data['page'] = __FUNCTION__; $data['tema'] = $this->load->setTheme('responsive'); $data['css'] = array('/css/modules/conceitos.min.css'); $data['js'] = array('/js/plugins/filtros/filtros.min.js'); } else { $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['css'] = array('css/modules/fap.css?data=2015-09-01'); $data['js'] = array('js/modules/fap/fap.js'); } //Validando o professor $usrValidar = new Kernel_Models_ValidarUsuarios(); $professor = $usrValidar->professor($pk_usuario); // $pk_usuario_professor = $this->uri->segment(5) != '' ? $this->uri->segment(5) : $data['idUsuarioProfessor']; $pk_usuario_professor = $professor->getPkUsuarioProfessor(); $sqlUsuario = new SqlUsuario(); $result = $sqlUsuario->get_nome($this->uri->segment(4)); $data['nome'] = $result['registros'][0]['nome']; $sqlParecer = new SqlParecer(); $result = $sqlParecer->get_par_pesquisa($pk_usuario_professor); $data['pesquisas'] = $result; if ($result['total'] > 1) { $data['pesquisas'] = $result; } $result = end(end($result)); if ($pk_par_pesquisa_url != 0) { $sqlParecer = new SqlParecer(); $result = $sqlParecer->get_par_pesquisa_professor($pk_par_pesquisa_url, $pk_usuario_professor); $pk_par_pesquisa = isset($result[0]['fk_par_pesquisa']) ? $result[0]['fk_par_pesquisa'] : ''; $data['pk_par_pesquisa'] = isset($result[0]['fk_par_pesquisa']) ? $result[0]['fk_par_pesquisa'] : ''; $data['parecer_nome'] = isset($result[0]['par_nome']) ? $result[0]['par_nome'] : ''; } else { $pk_par_pesquisa = isset($result['fk_par_pesquisa']) ? $result['fk_par_pesquisa'] : ''; $data['pk_par_pesquisa'] = isset($result['fk_par_pesquisa']) ? $result['fk_par_pesquisa'] : ''; $data['parecer_nome'] = isset($result['par_nome']) ? $result['par_nome'] : ''; } // pega o indicador geral do professor $sqlParecer = new SqlParecer(); $result = $sqlParecer->get_indicador_parecer($pk_par_pesquisa, $pk_usuario_professor); $indicador_geral = $result['total'] != 0 ? $result['registros'][0]['indicador_geral_professor'] : ''; $data['total'] = $result['total']; $data['indicador_geral'] = View::bgConceito(number_format($indicador_geral, 1)); $conteudo = ''; if ($result['total'] != 0) { $data['indicador_geral'] = View::bgConceito(number_format($indicador_geral, 1)); $sqlParecer = new SqlParecer(); $pesquisas = $sqlParecer->listar_par_pesquisas($pk_par_pesquisa); $conteudo .= '<div class="parecer">' . '<h5 class="left">Indicador geral: </h5>' . '<div class="indicador ' . $data['indicador_geral']['class'] . '">' . '' . number_format($data['indicador_geral']['score'], 1) . '' . '</div><br /></div>'; foreach ($pesquisas['registros'] as $row) { $conteudo .= '<table style="width: 80%; height: auto;"><tr><td><h5>' . $row['par_questao'] . '</h5></td></tr><tr><td>'; $sqlParecer = new SqlParecer(); $result = $sqlParecer->get_indicador_parecer_item($row['pk_par_questao'], $pk_usuario_professor); $total_marcacoes_questao = !empty($result) ? (int) $result[0]['total_marcacoes_questao'] : 0; if (!empty($result)) { $indicador_item = $result[0]['indicadorquestao'] == 10 ? View::bgConceito($result[0]['indicadorquestao']) : View::bgConceito(number_format($result[0]['indicadorquestao'], 1)); } else { $indicador_item = View::bgConceito(0); } $sqlParecer = new SqlParecer(); $respostas = $sqlParecer->listar_par_pesquisas_alternativas($row['pk_par_questao'], $pk_usuario_professor); foreach ($respostas as $item) { $perc = $total_marcacoes_questao > 0 ? round($item['total'] / $total_marcacoes_questao * 100) : 0; $conteudo .= '<div class="parecer_container">' . '<div class="parecer_label">' . $item['par_alternativa'] . '</div>' . '<div class="parecer_perc">' . $perc . '%</div>' . '<div class="parecer_total">(' . $item['total'] . ')</div>' . '</div><br class="clear" />'; } $conteudo .= '<div class="indicador_item ' . $indicador_item['class'] . '">' . number_format($indicador_item['score'], 1) . '</div>'; if ($data['idTipoUsuario'] == 1 || $data['idTipoUsuario'] == 2) { $sqlParecer = new SqlParecer(); $result = $sqlParecer->get_coordenadores_parecer($row['pk_par_questao'], $pk_usuario_professor); $coordenadores = '<div class="coordenadores_participantes">Parecer do(s) Coordenadore(s):<br />'; foreach ($result as $coord) { $coordenadores .= $coord['nome'] . ' (' . $coord['coordenacao_nome'] . ')<br />'; } $conteudo .= $coordenadores . '</div>'; } $conteudo .= '</td></tr></table>'; } } $data['conteudo'] = $conteudo; if ($this->input->is_ajax_request()) { print json_encode($conteudo); } else { $this->load->view($this->load->getUrlTema(), $data); } }
/** * Lista as avaliações feitas por coordenadores a um professor * @param int $pkUsuario O código do professor no banco * @param int $pkParPesquisa O código da pesquisa a ser retornado */ public function get_parecer($pkUsuario = 0, $pkParPesquisa = 0) { $validarUser = new Kernel_Models_ValidarUsuarios(); $professor = $validarUser->professor($pkUsuario); if ($professor) { $this->statusTrue(); $sqlParecer = new SqlParecer(); $resultPareceres = $sqlParecer->get_par_pesquisa($professor->getPkUsuarioProfessor()); $resultPareceresTmp = end(end($resultPareceres)); $pareceres = array(); if ($resultPareceresTmp) { $indicadorPareceres = $sqlParecer->get_indicador_parecer($resultPareceresTmp['fk_par_pesquisa'], $professor->getPkUsuarioProfessor()); $pareceres = $sqlParecer->listar_par_pesquisas($resultPareceresTmp['fk_par_pesquisa']); $this->setStatusCod(count($pareceres['registros']) ? 0 : 1); foreach ($pareceres['registros'] as $value) { $ret = new stdClass(); $ret->parecer_nome = $value['par_nome']; $ret->parecer_questao = $value['par_questao']; $ret->parecer_questao_cod = $value['pk_par_questao']; $ret->dt_parecer = $value['par_data']; $ret->avaliadores = array(); $parecerAvaliadorSql = $sqlParecer->get_coordenadores_parecer($value['pk_par_questao'], $professor->getPkUsuarioProfessor()); $resultIndicador = $sqlParecer->get_indicador_parecer_item($value['pk_par_questao'], $professor->getPkUsuarioProfessor()); foreach ($parecerAvaliadorSql as $value2) { $ret->avaliadores[] = $value2['nome'] . '(' . $value2['coordenacao_nome'] . ')'; } $ret->parecer_tt_marcacoes = $resultIndicador[0]['total_marcacoes_questao']; $ret->parecer_indicador_que = $resultIndicador[0]['indicadorquestao']; $ret->parecer_indicador_geral = $indicadorPareceres['registros'][0]['indicador_geral_professor']; $this->appendResposta($ret); } } } else { $this->setMensagem("O professor informado é inválido"); } $this->printResposta(); }
public function listar_ranking_pareceres() { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $this->getMsg(); $data['abaAtivaMae'] = 1; $data['abaAtiva'] = 8; $data['subAbaAtiva'] = 1; $data['abaPage'] = 'listar_ranking_pareceres'; $data['alias'] = 'listar_ranking_pareceres'; $data['total'] = 0; $data['js'] = array('js/jquery.tablesorter/jquery.tablesorter.min.js'); $data['css'] = array('css/plugins/jquery.tablesorter/jquery.tablesorter.css'); $pk_unidade = isset($_GET['pk_unidade']) && $_GET['pk_unidade'] != '' ? $_GET['pk_unidade'] : 0; $pk_serie = isset($_GET['pk_serie']) && $_GET['pk_serie'] != '' ? $_GET['pk_serie'] : 0; $tipo_lista = $this->uri->segment(3); if (isset($_GET['pk_par_pesquisa'])) { $sqlFap = new SqlFap(); $result = $sqlFap->listar_ranking_pareceres(); $data['total'] = $result['total']; if ($result['total'] > 0) { $tmpl = array('table_open' => '<table class="tablesorter table">'); $this->load->library('table'); $arrHead[] = ''; $arrHead[] = 'Indicador'; $arrHead[] = 'Nome'; $this->table->set_heading($arrHead); $count = 0; $i = 0; $_SESSION['rankingAnterior'] = 0; $_SESSION['indicador'] = 0; $ranking = 1; foreach ($result['registros'] as $row) { $count++; $tmpl = Util::zebrar($count, count($result['registros'])); $i++; if (number_format($row['indicador_geral_professor'], 1) == $_SESSION['indicador']) { $ranking = $_SESSION['rankingAnterior']; } else { $ranking = $i; } $indicador_parecer = $row['indicador_geral_professor'] != 0 ? number_format($row['indicador_geral_professor'], 1) : '-'; $conceito = View::bgConceito($indicador_parecer); $cell_1 = array('data' => $ranking, 'class' => 'tcenter'); $cell_2 = array('data' => $indicador_parecer, 'class' => $conceito['class'] . ' tcenter'); $cell_3 = array('data' => '<a rel="shadowbox[Mixed]" href="' . base_url() . $this->uri->segment(1) . '/parecer/graficos_pareceres_fap/' . $row['fk_usuario'] . '/' . $row['fk_usuario_professor'] . '/' . $_GET['pk_par_pesquisa'] . '?shadowbox=1" class="link">' . $row['nome'] . '</a>'); $this->table->add_row($cell_1, $cell_2, $cell_3); $_SESSION['indicador'] = number_format($row['indicador_geral_professor'], 1); $_SESSION['rankingAnterior'] = $ranking; } $this->table->set_template($tmpl); } else { $data['msg'] = '<div class="alert atencao">Nenhum registro encontrado</div>'; $data['total'] = $result['total']; } } $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/'; $sqlFap = new SqlFap(); $data['pesquisa_ensino'] = $sqlFap->get_ensinos(); $ensino = explode("&ensino", $_SERVER['QUERY_STRING']); $data['ensino_url'] = $config['base_url'] . '?' . $ensino[0]; if (isset($_GET['ensino']) && $_GET['ensino'] != '') { // Select filtro de pesquisas $sqlParecer = new SqlParecer(); $_SESSION['par_pesquisas'] = $sqlParecer->listar_pesquisas_processadas((int) $_GET['ensino']); $_SESSION['pk_par_pesquisa'] = isset($_GET['pk_par_pesquisa']) ? $_GET['pk_par_pesquisa'] : ''; $data['pesquisa'] = $_SESSION['par_pesquisas']; $pesquisa = explode("&pk_par_pesquisa", $_SERVER['QUERY_STRING']); $data['pesquisa_url'] = $config['base_url'] . '?' . $pesquisa[0]; } if (isset($_GET['pk_par_pesquisa']) && $_GET['pk_par_pesquisa'] != '') { if (!isset($_SESSION['par_unidades'])) { // Select filtro de unidade $sqlFap = new SqlFap(); $_SESSION['par_unidades'] = $sqlFap->listar_unidades_pareceres($_GET['pk_par_pesquisa']); } $data['unidade'] = $_SESSION['par_unidades']; $unidade = explode("&pk_unidade=", $_SERVER['QUERY_STRING']); $data['unidade_url'] = $config['base_url'] . '?' . $unidade[0]; // Select filtro de serie $sqlFap = new SqlFap(); $data['serie'] = $sqlFap->listar_series_pareceres($_GET['pk_par_pesquisa'], $pk_unidade); $serie = explode("&pk_serie=", $_SERVER['QUERY_STRING']); $data['serie_url'] = $config['base_url'] . '?' . $serie[0]; // Select filtro de turmas $sqlFap = new SqlFap(); $data['turma'] = $sqlFap->listar_turmas_pareceres($_GET['pk_par_pesquisa'], $pk_unidade, $pk_serie, $data['ano_letivo'], (int) $_GET['ensino']); $turma = explode("&pk_turma=", $_SERVER['QUERY_STRING']); $data['turma_url'] = $config['base_url'] . '?' . $turma[0]; // Select filtro de materias $sqlFap = new SqlFap(); $data['pesquisa_materia'] = $sqlFap->listar_pesquisas_processadas_materias($pk_serie); $pesquisa_materia = explode("&pk_materia_mae", $_SERVER['QUERY_STRING']); $data['pesquisa_materia_url'] = $config['base_url'] . '?' . $pesquisa_materia[0]; $area = explode("&area", $_SERVER['QUERY_STRING']); $data['area_url'] = $config['base_url'] . '?' . $area[0]; } if ($this->input->is_ajax_request()) { echo json_encode(array('content' => $this->load->view($this->uri->segment(3), $data, true))); } else { $this->load->view($this->load->getUrlTema(), $data); } }