Ejemplo n.º 1
0
 /**
  * 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();
 }
Ejemplo n.º 2
0
 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">&nbsp;</div><div class="left">Em andamento</div>
                             <div class="status2 borderCinza w20 left mr10 ml20">&nbsp;</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);
     }
 }