/** * Método que retorna o andamento do matérial usado pelo professo nas turmas * @param int $pkUsuario O código do professor no banco */ public function get_andamento($pkUsuario = 0) { $validarUser = new Kernel_Models_ValidarUsuarios(); $professor = $validarUser->professor($pkUsuario); if ($professor) { $this->setStatusCod(0)->statusTrue(); $livros = new Kernel_Models_Livro(); $professor = $professor->fetchObject('Kernel_Models_Professor'); $unidades = $professor->unidades((int) $professor->getPkUsuarioProfessor()); $sqlAula = new SqlAula(); while ($unidade = $unidades->fetchObject()) { //Listando as unidades onde o professor leciona $objUnidade = new stdClass(); $objUnidade->unidade = $unidade->unidade_nome; $objUnidade->series = array(); $series = $professor->series((int) $professor->getPkUsuarioProfessor(), FALSE, $unidade->pk_unidade); while ($serie = $series->fetchObject()) { //Listando as séries onde o professor da aula $tmpTurma = array(); $objSerie = new stdClass(); $objSerie->serie = $serie->serie_nome; $objSerie->materias = array(); $materias = $professor->materias((int) $professor->getPkUsuarioProfessor(), FALSE, $unidade->pk_unidade, $serie->pk_serie); while ($materia = $materias->fetchObject()) { //Listando as matérias ministridas pelo professor $objMateria = new stdClass(); $objMateria->nome = $materia->materia_nome; $objMateria->conteudos = array(); $livro = $livros->getObject('fk_serie=' . $serie->pk_serie); if ($livro) { //Só continua se o livro for válido $objMateria->livro = $livro->livro_desc; $conteudos = $sqlAula->get_conteudos_apostila($livro->pk_livro, $materia->fk_materia_vin); //Lendo o conteúdo do livro foreach ($conteudos as $conteudo) { //Listando o conteúdo do livro $objConteudo = new stdClass(); $turmas = $professor->turmas((int) $professor->getPkUsuarioProfessor(), FALSE, $unidade->pk_unidade, $serie->pk_serie); $objConteudo->capitulo = $conteudo['capitulo_sequencial']; $objConteudo->capitulo_nome = $conteudo['capitulo_nome']; $objConteudo->nome = $conteudo['conteudo_nome']; $objConteudo->percentual = $conteudo['percentual']; $objConteudo->turmas = array(); while ($turma = $turmas->fetchObject()) { //Listando as turmas onde o professor leciona $objTurma = new stdClass(); $objTurma->nome = $turma->turma_nome; $acompanhamento = $sqlAula->get_professores_apostila_acompanhamento($conteudo['pk_conteudo'], $professor->getPkUsuarioProfessor(), $turma->pk_turma); //Lendo o acompanhamento do conteúdo do livro if (!empty($acompanhamento)) { if ($acompanhamento[0]['data_aula_concluido'] != '' && $acompanhamento[0]['data_aula_concluido'] != $acompanhamento[0]['data_aula']) { $objTurma->dt_concluido = $acompanhamento[0]['data_aula_concluido']; } else { $objTurma->dt_concluido = $acompanhamento[0]['data_aula']; } } else { $objTurma->dt_concluido = ''; } if (!empty($acompanhamento) && $acompanhamento[0]['status'] == 1) { $objTurma->status = 1; } else { if (!empty($acompanhamento) && $acompanhamento[0]['status'] > 1) { $objTurma->status = 2; } else { $objTurma->status = ''; } } $objTurma->dt_aula = !empty($acompanhamento) ? $objTurma->dt_concluido : ''; $objTurma->aula = !empty($acompanhamento) ? 'Aula ' . $acompanhamento[0]['aula_conclusao'] : ''; if ($objTurma->status != 2) { $sqlAula = new SqlAula(); $result_pendecia = $sqlAula->checa_pendencia($livro->pk_livro, $materia->fk_materia_vin, $conteudo['pagina'], $professor->getPkUsuarioProfessor(), $turma->pk_turma); $objTurma->pendencia = !empty($result_pendecia) ? $result_pendecia[0]['conteudo_nome'] : ''; } else { $objTurma->pendencia = ''; } array_push($objConteudo->turmas, $objTurma); array_push($tmpTurma, $objTurma); } array_push($objMateria->conteudos, $objConteudo); } } array_push($objSerie->materias, $objMateria); } if (count($tmpTurma) and $serie->pk_serie < 14) { array_push($objUnidade->series, $objSerie); } } if (count($objUnidade->series)) { $this->appendResposta($objUnidade); } } } else { $this->setMensagem("O professor informado é inválido"); } $this->printResposta(); }
public function acompanhamento($pk_usuario_professor = 0) { $data = $this->getParametroVisao(); if ($data['idTipoUsuario'] == 15) { //Alteração feita para um melhor controle de acesso $pkUsuarioProfessor = $data['idUsuarioProfessor']; $professorTmp = new Kernel_Models_Professor(); $professorTmp = $professorTmp->selectUsuarioProfessor((int) $pkUsuarioProfessor); if ($data['idUsuarioProfessor'] != $pkUsuarioProfessor || !$professorTmp) { ini_set('default_charset', 'utf8'); echo Javascript::alert('Desculpe, você não tem acesso a este relátorio'); echo Javascript::history_back(); echo Javascript::close(); echo Javascript::shadowboxClose(); return; } $professor = $professorTmp->fetchObject('public_usuario_professor'); $data['professorObj'] = $professor; } $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $this->getMsg(); $data['abaAtiva'] = 7; $data['abaPage'] = 'acompanhamento'; $data['total'] = 0; $data['pk_usuario_professor'] = $pk_usuario_professor; $pendente = '<span class="vermelho">Pendente</span>'; $andamento = '<span class="vermelho">Não concluído</span>'; $sqlAula = new SqlAula(); $result = $sqlAula->get_ultimo_dia_livro((int) filter_input(INPUT_GET, 'pk_livro', FILTER_VALIDATE_INT)); $ultimo_dia_livro = isset($result[0]['dia_aula']) ? $result[0]['dia_aula'] : '0000-00-00'; $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/'; if ($data['idTipoUsuario'] == 15) { //Alteração feita para um melhor controle de acesso $data['livro'] = $professor->livros($pkUsuarioProfessor)->fetchAll(); } else { $sqlAula = new SqlAula(); $data['livro'] = $sqlAula->get_livros_professor($pk_usuario_professor, $data['ano_letivo']); } $livro = explode("&pk_livro=", $_SERVER['QUERY_STRING']); $data['livro_url'] = $config['base_url'] . '?' . $livro[0]; if (isset($_GET['pk_livro'])) { $pk_unidade = isset($_GET['pk_unidade']) && $_GET['pk_unidade'] != '' ? $_GET['pk_unidade'] : 0; $sqlAula = new SqlAula(); $result = $sqlAula->get_serie_livro($_GET['pk_livro']); $_SESSION['pk_serie_cadastro_aula'] = $result[0]['fk_serie']; $_SESSION['serie_nome_cadastro_aula'] = $result[0]['serie_nome']; $_SESSION['pk_livro'] = $result[0]['pk_livro']; $sqlAula = new SqlAula(); $result = $sqlAula->get_media_geral($data['ano_letivo'], $_SESSION['pk_livro']); $_SESSION['media_geral_professores'] = !empty($result) ? number_format($result[0]['media_geral'], 1) : ''; $sqlAula = new SqlAula(); $result = $sqlAula->get_percentual($_GET['pk_livro'], date('Y-m-d')); $dia_aula_final = $result[0]['dia_aula']; $_SESSION['percentual'] = $result[0]['percentual']; if ($data['idTipoUsuario'] == 15) { //Alteração feita para um melhor controle de acesso $data['materia'] = $professor->materias($pkUsuarioProfessor, FALSE, FALSE, FALSE, FALSE, filter_input(INPUT_GET, 'pk_livro', FILTER_VALIDATE_INT))->fetchAll(); } else { $sqlAula = new SqlAula(); $data['materia'] = $sqlAula->get_materia_vin_professor($pk_usuario_professor, $_SESSION['pk_livro']); } $materia = explode("&pk_materia_vin=", $_SERVER['QUERY_STRING']); $data['materia_url'] = $config['base_url'] . '?' . $materia[0]; if (isset($_GET['pk_materia_vin'])) { $sqlAula = new SqlAula(); $data['professor'] = $sqlAula->get_professores_apostila_frente($_SESSION['pk_livro'], $_GET['pk_materia_vin']); $professor = explode("&pk_usuario_professor=", $_SERVER['QUERY_STRING']); $data['professor_url'] = $config['base_url'] . '?' . $professor[0]; $sqlAula = new SqlAula(); $result = $sqlAula->get_conteudos_apostila($_SESSION['pk_livro'], $_GET['pk_materia_vin']); $data['total'] = count($result); if ($data['total'] > 0) { $count = 0; $html = '<div class="small"> <div class="status1 borderCinza w20 left mr10"> </div><div class="left">Em andamento</div> <div class="status2 borderCinza w20 left mr10 ml20"> </div><div class="left">Concluído</div> </div> <br class="clear" />'; $html .= '<table class="tabela_relatorio mt20"><tr><td class="titulo_relatorio tcenter"><strong>Conteúdos</strong></td>'; $sqlAula = new SqlAula(); if ($data['idTipoUsuario'] == 15) { //Alteração feita para um melhor controle de acesso $professores = $sqlAula->get_professores_apostila_materia($_SESSION['pk_livro'], $_GET['pk_materia_vin'], $pkUsuarioProfessor); } else { $professores = $sqlAula->get_professores_apostila_materia($_SESSION['pk_livro'], $_GET['pk_materia_vin']); } $html .= '<td class="titulo_relatorio tcenter"><strong>%</strong></td>'; foreach ($professores as $prof) { if (substr($prof['tmacod'], 2, 2) == '11') { $turma_serie = '1º ano'; } else { if (substr($prof['tmacod'], 2, 2) == '12') { $turma_serie = '2º ano'; } else { if (substr($prof['tmacod'], 2, 2) == '13') { $turma_serie = '3º ano'; } else { $turma_serie = 'Prepar.'; } } } $turma = Mestre::mestre_turma($prof['tmacod']); $professor_turma = $prof['nome'] . '<br />' . $turma_serie . ' ' . $turma . ' - GGE ' . $prof['fk_unidade']; if ($data['idTipoUsuario'] == 15) { $professor = $professor_turma; } else { $professor = isset($_GET['pk_materia_vin']) ? '<a class="link" rel="shadowbox" href="' . base_url() . 'aula/conteudo/acompanhamento_professor_detalhe/?&pk_livro=' . $_GET['pk_livro'] . '&pk_turma=' . $prof['fk_turma'] . '&pk_usuario_professor=' . $prof['fk_usuario_professor'] . '&pk_materia_vin=' . $_GET['pk_materia_vin'] . '&shadowbox=1">' . $professor_turma . '</a>' : $professor_turma; } $html .= '<td class="titulo_relatorio">' . $professor . '<strong></strong></td>'; $arr_professores_turmas[] = $prof['fk_usuario_professor'] . '#' . $prof['fk_turma']; } $html .= '</tr>'; foreach ($result as $row) { $html .= '<tr><td>' . $row['capitulo_sequencial'] . ': ' . $row['capitulo_nome'] . '<br />Assunto:' . $row['conteudo_nome'] . ' - Página(s): ' . $row['paginas_trabalhadas'] . '</td>'; $html .= '<td class="tcenter" style="border-left: solid 1px #ededed">' . number_format($row['percentual'], 1) . '%</td>'; if (isset($arr_professores_turmas)) { foreach ($arr_professores_turmas as $item) { $divide = explode('#', $item); $pk_usuario_professor = $divide[0]; $pk_turma = $divide[1]; $sqlAula = new SqlAula(); $result = $sqlAula->get_professores_apostila_acompanhamento($row['pk_conteudo'], $pk_usuario_professor, $pk_turma); if (!empty($result)) { if ($result[0]['data_aula_concluido'] != '' && $result[0]['data_aula_concluido'] != $result[0]['data_aula']) { $data_aula_concluido = View::converteDataBr($result[0]['data_aula_concluido']); } else { $data_aula_concluido = View::converteDataBr($result[0]['data_aula']); } } else { $data_aula_concluido = ''; } if (!empty($result) && $result[0]['status'] == 1) { $status = 1; } else { if (!empty($result) && $result[0]['status'] > 1) { $status = 2; } else { $status = ''; } } $data_aula = !empty($result) ? $data_aula_concluido : ''; if ($status == 1) { $aula_numero = $result[0]['aula_pendente']; } else { if ($status == 2) { $aula_numero = $result[0]['aula_conclusao']; } else { if ($status == 3) { $aula_numero = $result[0]['aula_conclusao']; } else { $aula_numero = ''; } } } $aula = !empty($result) ? 'Aula ' . $aula_numero : ''; if ($status < 2) { $sqlAula = new SqlAula(); $result_pendecia = $sqlAula->checa_pendencia($_GET['pk_livro'], $_GET['pk_materia_vin'], $row['pagina'], $pk_usuario_professor, $pk_turma); if (!empty($result_pendecia)) { $pendencia = $pendente; } else { $pendencia = date('Y-m-d') > $ultimo_dia_livro ? $pendente : ''; } } else { if ($status == 3) { $pendencia = ''; } else { $pendencia = ''; } } $status_pendencia = $status == 1 ? $andamento : $pendencia; $html .= '<td class="status' . $status . ' tcenter">' . $data_aula . '<br />' . $aula . '<br />' . $status_pendencia . '</td>'; } } else { $data['msg'] = '<div class="alert atencao">Nenhuma aula registrada na frente selecionada até o momento.</div>'; } $html .= '</tr>'; } $html .= '</table>'; $data['html'] = $html; } else { $data['msg'] = '<div class="alert atencao">Não há registros com o parâmetro selecionado.</div>'; } } } if ($this->input->is_ajax_request()) { $this->load->view($this->uri->segment(3), $data); } else { $this->load->view($this->load->getUrlTema(), $data); } }