function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (empty($this->ref_cod_turma)) {
         echo '
     <script>
       alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
         $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     }
     $obj_calendario = new clsPmieducarEscolaAnoLetivo();
     $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $this->nm_turma = $det_turma['nm_turma'];
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     $obj_pessoa = new clsPessoa_($det_turma['ref_cod_regente']);
     $det = $obj_pessoa->detalhe();
     $this->nm_professor = $det['nome'];
     if (!$lista_calendario) {
         echo '
     <script>
       alert("Escola não possui calendário definido para este ano");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
     $titulo = 'Diário de Classe - ' . $this->ano;
     $prox_mes = $this->mes + 1;
     $this->pdf = new clsPDF($titulo, $titulo, 'A4', '', FALSE, FALSE);
     $altura_linha = 15;
     $inicio_escrita_y = 175;
     $altura_pagina = 760;
     $obj = new clsPmieducarSerie();
     $obj->setOrderby('cod_serie, etapa_curso');
     $lista_serie_curso = $obj->lista(NULL, NULL, NULL, $this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     // Recupera a lista de componentes curriculares da escola/série
     $componentes = App_Model_IedFinder::getEscolaSerieDisciplina($this->ref_cod_serie, $this->ref_cod_escola);
     if (0 == count($componentes)) {
         echo '
     <script>
       alert("Turma não possui matriculas");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return;
     } else {
         foreach ($componentes as $id => $componente) {
             $this->nm_disciplina = $componente->nome;
             $this->page_y = 139;
             // Número de semanas dos meses
             $obj_quadro = new clsPmieducarQuadroHorario();
             $obj_quadro->setCamposLista('cod_quadro_horario');
             $quadro_horario = $obj_quadro->lista(NULL, NULL, NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, 1);
             if (!$quadro_horario && $det_curso['avaliacao_globalizada'] == 't') {
                 echo '
         <script>
           alert("Turma não possui quadro de horários");
           window.location = "educar_relatorio_diario_classe.php";
         </script>';
                 break;
             }
             $obj_quadro_horarios = new clsPmieducarQuadroHorarioHorarios();
             $obj_quadro_horarios->setCamposLista('dia_semana');
             $obj_quadro_horarios->setOrderby('1 asc');
             $lista_quadro_horarios = $obj_quadro_horarios->lista($quadro_horario, $this->ref_cod_serie, $this->ref_cod_escola, $disciplina, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
             if (!$this->em_branco) {
                 $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                 $obj_matricula_turma->setOrderby('nome_ascii');
                 $lista_matricula = $obj_matricula_turma->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, NULL, array(1, 2, 3), NULL, NULL, $this->ano, NULL, TRUE, NULL, NULL, TRUE);
             }
             $num_aluno = 1;
             if ($lista_matricula || $this->em_branco) {
                 $this->pdf->OpenPage();
                 $this->addCabecalho();
                 if ($this->em_branco) {
                     $lista_matricula = array();
                     $this->numero_registros = $this->numero_registros ? $this->numero_registros : 20;
                     for ($i = 0; $i < $this->numero_registros; $i++) {
                         $lista_matricula[] = '';
                     }
                 }
                 foreach ($lista_matricula as $matricula) {
                     if ($this->page_y > $altura_pagina) {
                         $this->desenhaLinhasVertical();
                         $this->pdf->ClosePage();
                         $this->pdf->OpenPage();
                         $this->page_y = 139;
                         $this->addCabecalho();
                     }
                     $this->pdf->quadrado_relativo(30, $this->page_y, 540, $altura_linha);
                     $this->pdf->escreve_relativo($num_aluno, 38, $this->page_y + 4, 30, 15, $fonte, 7, $corTexto, 'left');
                     $this->pdf->escreve_relativo($matricula['nome_aluno'], 55, $this->page_y + 4, 160, 15, $fonte, 7, $corTexto, 'left');
                     $num_aluno++;
                     $this->page_y += $altura_linha;
                 }
                 $this->desenhaLinhasVertical();
                 $this->rodape();
                 $this->pdf->ClosePage();
             }
         }
         $this->pdf->CloseFile();
         $this->get_link = $this->pdf->GetLink();
     }
     echo sprintf('
   <script>
     window.onload=function()
     {
       parent.EscondeDiv("LoadImprimir");
       window.location="download.php?filename=%s"
     }
   </script>', $this->get_link);
     echo sprintf('
   <html>
     <center>
       Se o download não iniciar automaticamente <br>
       <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br>
       <span style="font-size: 10px;">
         Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
         Clique na Imagem para Baixar o instalador<br><br>
         <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
       </span>
     </center>
   </html>', $this->get_link);
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     $obj_escola_instituicao = new clsPmieducarEscola();
     $lst_escola_instituicao = $obj_escola_instituicao->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
     $this->pdf = new clsPDF("Registro de Matrículas - {$this->ano}", "Registro de Matrículas", "A4", "", false, false);
     foreach ($lst_escola_instituicao as $escola) {
         $this->ref_cod_escola = $escola['cod_escola'];
         if ($this->ref_cod_escola) {
             $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
             $det_escola = $obj_escola->detalhe();
             $this->nm_escola = $det_escola['nome'];
             $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
             $det_instituicao = $obj_instituicao->detalhe();
             $this->nm_instituicao = $det_instituicao['nm_instituicao'];
             if ($det_escola['ref_idpes']) {
                 $obj_endereco_escola = new clsEndereco($det_escola['ref_idpes']);
                 $det_enderedo_escola = $obj_endereco_escola->detalhe();
                 $this->nm_localidade = $this->nm_municipio = $det_enderedo_escola['cidade'];
                 if (!$det_enderedo_escola) {
                     $obj_endereco_externo_escola = new clsEnderecoExterno($det_escola['ref_idpes']);
                     $det_enderedo_externo_escola = $obj_endereco_externo_escola->detalhe();
                     $this->nm_localidade = $this->nm_municipio = $det_enderedo_externo_escola['cidade'];
                 }
             } else {
                 $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
                 $det_escola_complemento = $obj_escola_complemento->detalhe();
                 $this->nm_localidade = $this->nm_municipio = $det_escola_complemento['municipio'];
             }
         }
         $obj_cursos = new clsPmieducarCurso();
         $lst_cursos = $obj_cursos->lista($this->ref_cod_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
         if ($lst_cursos) {
             $x_quadrado = 30;
             $altura_caixa = 30;
             foreach ($lst_cursos as $curso) {
                 $this->buscaDiasLetivos();
                 $this->nm_curso = $curso['nm_curso'];
                 $obj_serie_curso = new clsPmieducarSerie();
                 $obj_serie_curso->setOrderby('etapa_curso asc');
                 $lst_serie_curso = $obj_serie_curso->lista(null, null, null, $curso['cod_curso'], null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao, null, null, null, $this->ref_cod_escola);
                 if ($lst_serie_curso) {
                     $this->page_y = 170;
                     $x_quadrado = 30;
                     if (!$page_open) {
                         $this->pdf->OpenPage();
                         $this->addCabecalho();
                         $page_open = true;
                     }
                     foreach ($lst_serie_curso as $serie) {
                         $obj_disc_serie = new clsPmieducarDisciplinaSerie();
                         $lst_disc_serie = $obj_disc_serie->lista(null, $serie['cod_serie'], 1);
                         if ($lst_disc_serie) {
                             $obj_turmas_serie = new clsPmieducarTurma();
                             $obj_turmas_serie->setOrderby("nm_turma");
                             $lst_turmas_serie = $obj_turmas_serie->lista(null, null, null, $serie['cod_serie'], $escola['cod_escola'], null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $curso['cod_curso'], $this->ref_cod_instituicao, null, null);
                             if (!$lst_turmas_serie) {
                                 // verifica se a serie esta marcada em multiseriada
                                 $lst_turmas_serie = $obj_turmas_serie->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $curso['cod_curso'], $this->ref_cod_instituicao, null, null, $escola['cod_escola'], $serie['cod_serie']);
                             }
                             if ($lst_turmas_serie) {
                                 foreach ($lst_turmas_serie as $turma) {
                                     $total_geral_horas = $total_geral_aulas_semana = 0;
                                     $x_quadrado = 30;
                                     $this->pdf->escreve_relativo("{$serie['nm_serie']} - Turma: {$turma['nm_turma']}", 40, $this->page_y + 4, 258, $altura_caixa, $fonte, 12, $corTexto, 'left');
                                     $this->page_y += $altura_caixa;
                                     $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                     $this->pdf->escreve_relativo("Conteúdos Curriculares", 40, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                     $this->pdf->escreve_relativo("A.S", 470, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                     $this->pdf->escreve_relativo("H.R.", 525, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                     $this->page_y += $altura_caixa;
                                     if ($this->page_y + $altura_caixa >= 800) {
                                         $this->pdf->quadrado_relativo(30, $inicio_quadro, 70, $fim_quadro - $inicio_quadro);
                                         $this->pdf->escreve_relativo("Núcleo Comum \ne Artigo 7º\n(Lei 5692/71)", 30 + 4, $inicio_quadro + ($fim_quadro - $inicio_quadro) / 3 - (count($lst_disc_serie) == 1 ? 8 : 0), 80, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                         $this->pdf->linha_relativa(450, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro, '0.1');
                                         $this->pdf->linha_relativa(505, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro, '0.1');
                                         $this->page_y = 170;
                                         $inicio_quadro = $this->page_y + $altura_caixa;
                                         $this->pdf->ClosePage();
                                         $this->pdf->OpenPage();
                                         $page_open = true;
                                         $this->addCabecalho();
                                         $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                         $this->pdf->escreve_relativo("Conteúdos Curriculares", 40, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                         $this->pdf->escreve_relativo("A.S", 470, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                         $this->pdf->escreve_relativo("H.R.", 525, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                         $this->page_y += $altura_caixa;
                                     }
                                     $x_quadrado = 100;
                                     $obj_quadro_horario = new clsPmieducarQuadroHorario();
                                     $lst_quadro_horario = $obj_quadro_horario->lista(null, null, null, $turma['cod_turma'], null, null, null, null, 1);
                                     if (is_array($lst_quadro_horario)) {
                                         $lst_quadro_horario = array_shift($lst_quadro_horario);
                                     }
                                     $obj_disc_semana = new clsPmieducarQuadroHorarioHorarios();
                                     $obj_disc_semana->setOrderby("dia_semana asc");
                                     /*********************************************************************/
                                     //disciplinas que estâo sendo cursadas, eliminando as não cursadas
                                     $sql = "SELECT distinct(ref_cod_disciplina) FROM pmieducar.quadro_horario_horarios\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_quadro_horario = {$lst_quadro_horario["cod_quadro_horario"]}";
                                     $disciplinas_cursadas = array();
                                     $db = new clsBanco();
                                     $db->Consulta($sql);
                                     while ($db->ProximoRegistro()) {
                                         list($ref_disciplina_cursada) = $db->Tupla();
                                         $disciplinas_cursadas[$ref_disciplina_cursada] = $ref_disciplina_cursada;
                                     }
                                     /*********************************************************************/
                                     $inicio_quadro = $this->page_y;
                                     foreach ($lst_disc_serie as $key => $disciplina) {
                                         if (array_search($disciplina["ref_cod_disciplina"], $disciplinas_cursadas)) {
                                             $obj_disc = new clsPmieducarDisciplina($disciplina['ref_cod_disciplina']);
                                             $det_disc = $obj_disc->detalhe();
                                             $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 465, $altura_caixa);
                                             $this->pdf->escreve_relativo("{$det_disc['nm_disciplina']}", $x_quadrado + 4, $this->page_y + 4, 350, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                             //-------
                                             unset($lst_disc_semana);
                                             if ($lst_quadro_horario) {
                                                 $lst_disc_semana = $obj_disc_semana->lista($lst_quadro_horario['cod_quadro_horario'], $serie['cod_serie'], $this->ref_cod_escola, $disciplina['ref_cod_disciplina'], null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1);
                                             }
                                             $total_dias_semana = 0;
                                             /**
                                              * Calcula o total de horas da semana
                                              */
                                             if ($lst_disc_semana) {
                                                 $total_semanas = $this->total_semanas;
                                                 $total_dias_semana = count($lst_disc_semana);
                                             }
                                             $total_geral_horas += $det_disc['carga_horaria'];
                                             $total_geral_aulas_semana += $total_dias_semana;
                                             $total_horas = sprintf("%02d:%02d", $det_disc['carga_horaria'], 0);
                                             $this->pdf->escreve_relativo(sprintf("%02d", "{$total_dias_semana}"), 451, $this->page_y + 10, 52, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                             $this->pdf->escreve_relativo("{$total_horas}", 506, $this->page_y + 10, 65, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                             $fim_quadro = $this->page_y += $altura_caixa;
                                             if ($this->page_y + $altura_caixa >= 800 && $key < count($lst_disc_serie) - 1) {
                                                 $x_quadrado = 30;
                                                 $this->pdf->quadrado_relativo(30, $inicio_quadro, 70, $fim_quadro - $inicio_quadro);
                                                 $this->pdf->escreve_relativo("Núcleo Comum \ne Artigo 7º\n(Lei 5692/71)", 30 + 4, $inicio_quadro + ($fim_quadro - $inicio_quadro) / 3 - ($key == 0 ? 8 : 0), 80, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                                 $this->pdf->linha_relativa(450, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                                 $this->pdf->linha_relativa(505, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                                 $this->page_y = 170;
                                                 $inicio_quadro = $this->page_y + $altura_caixa;
                                                 $this->pdf->ClosePage();
                                                 $this->pdf->OpenPage();
                                                 $page_open = true;
                                                 $this->addCabecalho();
                                                 $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                                 $this->pdf->escreve_relativo("Conteúdos Curriculares", 40, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                                 $this->pdf->escreve_relativo("A.S", 470, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                                 $this->pdf->escreve_relativo("H.R.", 525, $this->page_y + 10, 258, $altura_caixa, $fonte, 10, $corTexto, 'left');
                                                 $this->page_y += $altura_caixa;
                                                 $x_quadrado = 100;
                                             }
                                         }
                                     }
                                     $this->pdf->quadrado_relativo(30, $inicio_quadro, 70, $fim_quadro - $inicio_quadro);
                                     $this->pdf->linha_relativa(450, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                     $this->pdf->linha_relativa(505, $inicio_quadro - $altura_caixa, 0, $fim_quadro - $inicio_quadro + $altura_caixa, '0.1');
                                     $this->pdf->escreve_relativo("Núcleo Comum \ne Artigo 7º\n(Lei 5692/71)", 30 + 4, $inicio_quadro + ($fim_quadro - $inicio_quadro) / 3 - 8, 80, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                     $x_quadrado = 450;
                                     $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 115, $altura_caixa);
                                     $total_geral_horas = sprintf("%02d:%02d", $total_geral_horas, 0);
                                     $this->pdf->escreve_relativo(sprintf("%02d", "{$total_geral_aulas_semana}"), 451, $this->page_y + 10, 52, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                     $this->pdf->escreve_relativo("{$total_geral_horas}", 506, $this->page_y + 10, 65, $altura_caixa, $fonte, 10, $corTexto, 'center');
                                     $this->pdf->linha_relativa(505, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->page_y += $altura_caixa;
                                 }
                             }
                             //-------
                         }
                     }
                 }
                 if ($page_open) {
                     $this->pdf->ClosePage();
                     $page_open = false;
                 }
             }
         }
         if ($page_open) {
             $this->pdf->ClosePage();
             $page_open = false;
         }
     }
     $this->pdf->CloseFile();
     $this->get_link = $this->pdf->GetLink();
     echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
     echo "<html><center>Se o download não iniciar automaticamente <br /><a target='_blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
 }
Example #3
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'S&eacute;rie - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->cod_serie = $_GET["cod_serie"];
     $tmp_obj = new clsPmieducarSerie($this->cod_serie);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header('Location: educar_serie_lst.php');
         die;
     }
     $obj_ref_cod_curso = new clsPmieducarCurso($registro['ref_cod_curso']);
     $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
     $registro['ref_cod_curso'] = $det_ref_cod_curso['nm_curso'];
     $registro['ref_cod_instituicao'] = $det_ref_cod_curso['ref_cod_instituicao'];
     $obj_instituicao = new clsPmieducarInstituicao($registro['ref_cod_instituicao']);
     $obj_instituicao_det = $obj_instituicao->detalhe();
     $registro['ref_cod_instituicao'] = $obj_instituicao_det['nm_instituicao'];
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         if ($registro['ref_cod_instituicao']) {
             $this->addDetalhe(array('Institui&ccedil;&atilde;o', $registro['ref_cod_instituicao']));
         }
     }
     if ($registro['ref_cod_curso']) {
         $this->addDetalhe(array('Curso', $registro['ref_cod_curso']));
     }
     if ($registro['nm_serie']) {
         $this->addDetalhe(array('S&eacute;rie', $registro['nm_serie']));
     }
     if ($registro['etapa_curso']) {
         $this->addDetalhe(array('Etapa Curso', $registro['etapa_curso']));
     }
     if ($regraId = $registro['regra_avaliacao_id']) {
         $mapper = new RegraAvaliacao_Model_RegraDataMapper();
         $regra = $mapper->find($regraId);
         $this->addDetalhe(array('Regra Avaliação', $regra));
     }
     if ($registro['concluinte']) {
         if ($registro['concluinte'] == 1) {
             $registro['concluinte'] = 'n&atilde;o';
         } else {
             if ($registro['concluinte'] == 2) {
                 $registro['concluinte'] = 'sim';
             }
         }
         $this->addDetalhe(array('Concluinte', $registro['concluinte']));
     }
     if ($registro['carga_horaria']) {
         $this->addDetalhe(array('Carga Hor&aacute;ria', $registro['carga_horaria']));
     }
     $this->addDetalhe(array('Dias letivos', $registro['dias_letivos']));
     if ($registro['intervalo']) {
         $this->addDetalhe(array('Intervalo', $registro['intervalo']));
     }
     if ($registro['observacao_historico']) {
         $this->addDetalhe(array('Observação histórico', $registro['observacao_historico']));
     }
     if ($obj_permissoes->permissao_cadastra(583, $this->pessoa_logada, 3)) {
         $this->url_novo = 'educar_serie_cad.php';
         $this->url_editar = "educar_serie_cad.php?cod_serie={$registro['cod_serie']}";
     }
     $this->url_cancelar = 'educar_serie_lst.php';
     $this->largura = '100%';
 }
}
if ($get_curso) {
    $opcoes_curso = array("" => "Selecione");
    // EDITAR
    if ($this->ref_cod_escola) {
        $obj_escola_curso = new clsPmieducarEscolaCurso();
        $lst_escola_curso = $obj_escola_curso->lista($this->ref_cod_escola, null, null, null, null, null, null, null, 1);
        if (is_array($lst_escola_curso) && count($lst_escola_curso)) {
            foreach ($lst_escola_curso as $escola_curso) {
                $opcoes_curso["{$escola_curso["ref_cod_curso"]}"] = $escola_curso['nm_curso'];
            }
        }
    } else {
        if ($this->ref_cod_instituicao) {
            $opcoes_curso = array("" => "Selecione");
            $obj_curso = new clsPmieducarCurso();
            $obj_curso->setOrderby("nm_curso ASC");
            if ($sem_padrao) {
                $lista = $obj_curso->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao, 0);
            } else {
                $lista = $obj_curso->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
            }
            if (is_array($lista) && count($lista)) {
                foreach ($lista as $registro) {
                    $opcoes_curso["{$registro['cod_curso']}"] = "{$registro['nm_curso']}";
                }
            }
        }
    }
    $this->campoLista("ref_cod_curso", "Curso", $opcoes_curso, $this->ref_cod_curso, null, null, null, null, $curso_desabilitado, $curso_obrigatorio);
    if ($get_semestre) {
Example #5
0
 function Inicializar()
 {
     $retorno = 'Novo';
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_turma = $_GET['cod_turma'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(586, $this->pessoa_logada, 7, 'educar_turma_lst.php');
     if (is_numeric($this->cod_turma)) {
         $obj = new clsPmieducarTurma($this->cod_turma);
         $registro = $obj->detalhe();
         $obj_esc = new clsPmieducarEscola($registro['ref_ref_cod_escola']);
         $det_esc = $obj_esc->detalhe();
         $obj_ser = new clsPmieducarSerie($registro['ref_ref_cod_serie']);
         $det_ser = $obj_ser->detalhe();
         $this->ref_cod_escola = $det_esc['cod_escola'];
         $this->ref_cod_instituicao = $det_esc['ref_cod_instituicao'];
         $this->ref_cod_curso = $det_ser['ref_cod_curso'];
         $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
         $det_curso = $obj_curso->detalhe();
         $this->padrao_ano_escolar = $det_curso['padrao_ano_escolar'];
         if ($registro) {
             foreach ($registro as $campo => $val) {
                 $this->{$campo} = $val;
             }
             $this->fexcluir = $obj_permissoes->permissao_excluir(586, $this->pessoa_logada, 7, 'educar_turma_lst.php');
             $retorno = 'Editar';
         }
     }
     $this->url_cancelar = $retorno == 'Editar' ? 'educar_turma_det.php?cod_turma=' . $registro['cod_turma'] : 'educar_turma_lst.php';
     $this->nome_url_cancelar = 'Cancelar';
     return $retorno;
 }
 function Excluir()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     /*$obj_permissoes = new clsPermissoes();
     		$obj_permissoes->permissao_excluir( 0, $this->pessoa_logada, 0,  "educar_curso_lst.php" );
     */
     $obj = new clsPmieducarCurso($this->cod_curso, $this->pessoa_logada, $this->ref_cod_tipo_regime, $this->ref_cod_nivel_ensino, $this->ref_cod_tipo_ensino, $this->ref_cod_tipo_avaliacao, $this->nm_curso, $this->sgl_curso, $this->qtd_etapas, $this->frequencia_minima, $this->media, $this->media_exame, $this->falta_ch_globalizada, $this->carga_horaria, $this->ato_poder_publico, $this->edicao_final, $this->objetivo_curso, $this->publico_alvo, $this->data_cadastro, $this->data_exclusao, 0, $this->pessoa_logada, $this->ref_cod_instituicao, $this->padrao_ano_escolar, $this->hora_falta);
     $excluiu = $obj->excluir();
     if ($excluiu) {
         $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";
         header("Location: educar_curso_lst.php");
         die;
         return true;
     }
     $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";
     echo "<!--\nErro ao excluir clsPmieducarCurso\nvalores obrigatorios\nif( is_numeric( {$this->cod_curso} ) && is_numeric( {$this->ref_usuario_exc} ) )\n-->";
     return false;
 }
Example #7
0
 function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     // primary keys
     $this->campoOculto("cod_serie", $this->cod_serie);
     $obrigatorio = TRUE;
     $get_curso = TRUE;
     include 'include/pmieducar/educar_campo_lista.php';
     $this->campoTexto("nm_serie", "S&eacute;rie", $this->nm_serie, 30, 255, TRUE);
     $opcoes = array("" => "Selecione");
     if ($this->ref_cod_curso) {
         $objTemp = new clsPmieducarCurso();
         $lista = $objTemp->lista($this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes_["{$registro['cod_curso']}"] = "{$registro['qtd_etapas']}";
             }
         }
         for ($i = 1; $i <= $opcoes_["{$registro['cod_curso']}"]; $i++) {
             $opcoes[$i] = "Etapa {$i}";
         }
     }
     $this->campoLista('etapa_curso', 'Etapa Curso', $opcoes, $this->etapa_curso);
     // Regra de avaliação
     $mapper = new RegraAvaliacao_Model_RegraDataMapper();
     $regras = array();
     if (!is_null($this->ref_cod_instituicao)) {
         $regras = $mapper->findAll(array(), array('instituicao' => $this->ref_cod_instituicao));
         $regras = CoreExt_Entity::entityFilterAttr($regras, 'id', 'nome');
     }
     $this->campoLista('regra_avaliacao_id', 'Regra Avaliação', $regras, $this->regra_avaliacao_id);
     $opcoes = array('' => 'Selecione', 1 => 'n&atilde;o', 2 => 'sim');
     $this->campoLista('concluinte', 'Concluinte', $opcoes, $this->concluinte);
     $this->campoMonetario('carga_horaria', 'Carga Hor&aacute;ria', $this->carga_horaria, 7, 7, TRUE);
     $this->campoNumero('intervalo', 'Intervalo', $this->intervalo, 2, 2, TRUE);
     $this->campoNumero('idade_inicial', 'Faixa et&aacute;ria', $this->idade_inicial, 2, 2, FALSE, '', '', FALSE, FALSE, TRUE);
     $this->campoNumero('idade_final', '&nbsp;até', $this->idade_final, 2, 2, FALSE);
 }
 function verificaHistorico()
 {
     if (is_numeric($this->ref_cod_aluno)) {
         @session_start();
         $pessoa_logada = $_SESSION['id_pessoa'];
         @session_write_close();
         $sql_existe_historico = "select sequencial from pmieducar.historico_escolar where ref_cod_aluno={$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tand ativo=1 and ano=2007";
         $sql = "SELECT ref_ref_cod_serie from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))";
         $db = new clsBanco();
         $serie = $db->CampoUnico($sql);
         if ($serie != 15) {
             $db = new clsBanco();
             $existe_historico = $db->CampoUnico($sql_existe_historico);
             $liberar_historico = false;
             $existe_historico_sequencial = false;
             if (!is_numeric($existe_historico)) {
                 $liberar_historico = true;
             } else {
                 $sql_existe_disciplina = "select 1 from pmieducar.historico_disciplinas where\n\t\t\t\t\t\t\t\t\t\t\tref_ref_cod_aluno={$this->ref_cod_aluno} and ref_sequencial={$existe_historico}";
                 $existe_disciplinas = $db->CampoUnico($sql_existe_disciplina);
                 if (!is_numeric($existe_disciplinas)) {
                     $liberar_historico = true;
                     $existe_historico_sequencial = true;
                 }
             }
             $sql_aprovado = "SELECT aprovado from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))";
             $aprovado_aux = $db->CampoUnico($sql_aprovado);
             if (is_numeric($existe_historico) && !$existe_historico_sequencial) {
                 $sql_historico_aprovado = "SELECT aprovado from pmieducar.historico_escolar\n\t\t\t\t\t\t\t\t\t\t\twhere ref_cod_aluno={$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\t\tand sequencial={$existe_historico} and ano=2007 and ativo=1";
                 $aprovado_historico = $db->CampoUnico($sql_historico_aprovado);
                 /*if ($aprovado_aux != $aprovado_historico) {
                 		$liberar_historico = true;
                 		$sql_desativa_he = "update pmieducar.historico_escolar set ativo=0
                 		where ref_cod_aluno={$this->ref_cod_aluno}
                 		and sequencial={$existe_historico} and ano=2007";
                 		$db->Consulta($sql_desativa_he);
                 		$existe_historico_sequencial=false;
                 		}*/
             }
             $sql_aprovado = "SELECT aprovado from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))";
             $aprovado_aux = $db->CampoUnico($sql_aprovado);
             if (is_numeric($existe_historico) && !$existe_historico_sequencial) {
                 $sql_historico_aprovado = "SELECT aprovado from pmieducar.historico_escolar\n\t\t\t\t\t\t\t\t\t\t\twhere ref_cod_aluno={$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\t\tand sequencial={$existe_historico} and ano=2007 and ativo=1";
                 $aprovado_historico = $db->CampoUnico($sql_historico_aprovado);
                 /*if ($aprovado_aux != $aprovado_historico) {
                 		$liberar_historico = true;
                 		$sql_desativa_he = "update pmieducar.historico_escolar set ativo=0
                 		where ref_cod_aluno={$this->ref_cod_aluno}
                 		and sequencial={$existe_historico} and ano=2007";
                 		$db->Consulta($sql_desativa_he);
                 		$existe_historico_sequencial=false;
                 		}*/
             }
             if ($liberar_historico) {
                 $sql = "SELECT cod_matricula,aprovado,ref_ref_cod_escola,ref_ref_cod_serie,ref_cod_curso,matricula_reclassificacao from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))";
                 $db->Consulta($sql);
                 while ($db->ProximoRegistro()) {
                     list($cod_matricula, $aprovado, $ref_cod_escola, $ref_cod_serie, $ref_cod_curso, $matricula_reclassificacao) = $db->Tupla();
                 }
                 $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
                 $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista(2007, $ref_cod_escola);
                 $qtd_modulos = count($lst_ano_letivo_modulo);
                 $obj_curso = new clsPmieducarCurso($ref_cod_curso);
                 $det_curso = $obj_curso->detalhe();
                 $falta_ch_globalizada = $det_curso["falta_ch_globalizada"];
                 $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($det_curso["ref_cod_tipo_avaliacao"]);
                 $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe();
                 $conceitual = $detalhe_tipo_avaliacao["conceitual"];
                 //					if () {
                 if ($ref_cod_curso != 49 && $ref_cod_curso != 20 && $ref_cod_curso != 19 && $qtd_modulos == 4 && !$conceitual && is_array($det_curso) && is_numeric($ref_cod_serie) && is_numeric($cod_matricula) && is_numeric($aprovado) && is_numeric($ref_cod_escola) && $det_curso["padrao_ano_escolar"] == 1) {
                     if ($ref_cod_serie != 15) {
                         if ($det_curso["padrao_ano_escolar"] == 1) {
                             if ($existe_historico_sequencial) {
                                 //							$obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_historico_sequencial, $pessoa_logada);
                                 //							if (!$obj_historico->excluir()) {
                                 //								die("não exclui");
                                 //							}
                             }
                             $obj_escola2 = new clsPmieducarEscola($ref_cod_escola);
                             $det_escola2 = $obj_escola2->detalhe();
                             $ref_cod_instituicao = $det_escola2["ref_cod_instituicao"];
                             $notas_faltas_disciplina = array();
                             $obj_escola_serie_disciplina = new clsPmieducarEscolaSerieDisciplina();
                             $lst_escola_serie_disciplina = $obj_escola_serie_disciplina->lista($ref_cod_serie, $ref_cod_escola, null, 1);
                             foreach ($lst_escola_serie_disciplina as $escola_serie_disciplina) {
                                 $obj_dispensa = new clsPmieducarDispensaDisciplina($cod_matricula, $ref_cod_serie, $ref_cod_escola, $escola_serie_disciplina["ref_cod_disciplina"], null, null, null, null, null, 1);
                                 $det_disciplina = $obj_dispensa->detalhe();
                                 if (!is_array($det_disciplina)) {
                                     $obj_nota = new clsPmieducarNotaAluno();
                                     $obj_nota->setOrderby("modulo");
                                     $lst_nota = $obj_nota->lista(null, null, null, $ref_cod_serie, $ref_cod_escola, $escola_serie_disciplina["ref_cod_disciplina"], $cod_matricula, null, null, null, null, null, null, 1);
                                     if (is_array($lst_nota)) {
                                         $soma_notas = 0;
                                         $possui_exame = false;
                                         foreach ($lst_nota as $key => $nota) {
                                             $obj_tipo_av_val = new clsPmieducarTipoAvaliacaoValores($nota["ref_ref_cod_tipo_avaliacao"], $nota["ref_sequencial"], null, null, null, null);
                                             $det_tipo_av_val = $obj_tipo_av_val->detalhe();
                                             if ($ref_cod_serie == 5) {
                                                 $soma_notas = $det_tipo_av_val["valor"];
                                             } else {
                                                 if ($key < $qtd_modulos) {
                                                     $soma_notas += $det_tipo_av_val["valor"];
                                                 } else {
                                                     $possui_exame = true;
                                                     $soma_notas += $nota["nota"] * 2;
                                                 }
                                             }
                                         }
                                         if ($ref_cod_serie == 5) {
                                             $media = $soma_notas;
                                         } else {
                                             if ($possui_exame) {
                                                 $media = $soma_notas / 6;
                                             } else {
                                                 $media = $soma_notas / 4;
                                             }
                                         }
                                         $obj_media = new clsPmieducarTipoAvaliacaoValores();
                                         $det_media = $obj_media->lista($det_curso["ref_cod_tipo_avaliacao"], $det_curso["ref_sequencial"], null, null, $media, $media);
                                         if (is_array($det_media)) {
                                             $det_media = array_shift($det_media);
                                             $media = $det_media["valor"];
                                             $media = sprintf("%01.1f", $media);
                                             $media = str_replace(".", ",", $media);
                                         }
                                         $obj_disciplina = new clsPmieducarDisciplina($escola_serie_disciplina["ref_cod_disciplina"]);
                                         $det_disciplina = $obj_disciplina->detalhe();
                                         if ($falta_ch_globalizada) {
                                             $notas_faltas_disciplina[$escola_serie_disciplina["ref_cod_disciplina"]] = array("media" => $media, "falta" => null, "nm_disciplina" => $det_disciplina["nm_disciplina"]);
                                         } else {
                                             //pegar as faltas
                                             $sql = "select sum(faltas) from pmieducar.falta_aluno where\n\t\t\t\t\t\t\t\t\t\t\t\t\tref_cod_matricula={$cod_matricula} and ref_cod_disciplina={$escola_serie_disciplina["ref_cod_disciplina"]}\n\t\t\t\t\t\t\t\t\t\t\t\t\tand ativo=1";
                                             $total_faltas = $db->CampoUnico($sql);
                                             $notas_faltas_disciplina[$escola_serie_disciplina["ref_cod_disciplina"]] = array("media" => $media, "falta" => $total_faltas, "nm_disciplina" => $det_disciplina["nm_disciplina"]);
                                         }
                                     }
                                 }
                             }
                             if (is_array($notas_faltas_disciplina)) {
                                 $extra_curricular = 0;
                                 if ($falta_ch_globalizada) {
                                     $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$cod_matricula}";
                                     $db5 = new clsBanco();
                                     $total_faltas = $db5->CampoUnico($sql);
                                 } else {
                                     $total_faltas = null;
                                 }
                                 $obj_serie = new clsPmieducarSerie($ref_cod_serie);
                                 $det_serie = $obj_serie->detalhe();
                                 $carga_horaria_serie = $det_serie["carga_horaria"];
                                 $obj_escola = new clsPmieducarEscola($ref_cod_escola);
                                 $det_escola = $obj_escola->detalhe();
                                 $ref_idpes = $det_escola["ref_idpes"];
                                 // busca informacoes da escola
                                 if ($ref_idpes) {
                                     $obj_escola = new clsPessoaJuridica($ref_idpes);
                                     $det_escola = $obj_escola->detalhe();
                                     $nm_escola = $det_escola["fantasia"];
                                     if ($det_escola) {
                                         $cidade = $det_escola["cidade"];
                                         $uf = $det_escola["sigla_uf"];
                                     }
                                 } else {
                                     if (class_exists("clsPmieducarEscolaComplemento")) {
                                         $obj_escola = new clsPmieducarEscolaComplemento($ref_cod_escola);
                                         $det_escola = $obj_escola->detalhe();
                                         $nm_escola = $det_escola["nm_escola"];
                                         $cidade = $det_escola["municipio"];
                                     }
                                 }
                                 //falta_ch_globalizada
                                 if ($det_curso["falta_ch_globalizada"] == 1) {
                                     $dias_letivos = $this->buscaDiasLetivos($ref_cod_escola);
                                 } else {
                                     $dias_letivos = null;
                                 }
                                 if ($matricula_reclassificacao == 1) {
                                     $descricao_reclassificacao = $this->verificaReclassificacao();
                                 } else {
                                     $descricao_reclassificacao = null;
                                 }
                                 $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $pessoa_logada, $det_serie["nm_serie"], 2007, $carga_horaria_serie, $dias_letivos, $nm_escola, $cidade, $uf, $descricao_reclassificacao, $aprovado, null, null, 1, $total_faltas, $ref_cod_instituicao, 0, $extra_curricular, $cod_matricula);
                                 $cadastrou2 = $obj_historico->cadastra();
                                 if ($cadastrou2) {
                                     $obj_historico = new clsPmieducarHistoricoEscolar();
                                     $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                                     foreach ($notas_faltas_disciplina as $nota_falta) {
                                         $obj_historico_disciplina = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nota_falta["nm_disciplina"], $nota_falta["media"], $nota_falta["falta"]);
                                         $cadastrou3 = $obj_historico_disciplina->cadastra();
                                         if (!$cadastrou3) {
                                             die("<br><br><br><br>nao cadastrou disciplina");
                                         }
                                     }
                                 } else {
                                     die("<br><br><br><br>nao cadastrou historico");
                                 }
                             }
                         }
                     }
                 } elseif ($ref_cod_curso != 49 && $ref_cod_curso != 20 && $ref_cod_curso != 19) {
                     //fazer historico ejaaaa
                     //pegar matriculas do eja do aluno
                     $obj_matriculas = new clsPmieducarMatricula();
                     $obj_matriculas->setOrderby("cod_matricula");
                     $lst_matriculas = $obj_matriculas->lista(null, null, null, null, null, null, $this->ref_cod_aluno, array(1, 2), null, null, null, null, 1, 2007);
                     if (is_array($lst_matriculas) && count($lst_matriculas)) {
                         foreach ($lst_matriculas as $matricula) {
                             $liberar_historico = false;
                             $db = new clsBanco();
                             //fazer algo para ver se o he nao esta atualizado
                             $sql = "SELECT sequencial FROM pmieducar.historico_escolar WHERE ref_cod_aluno = {$matricula["ref_cod_aluno"]}\n\t\t\t\t\t\t\t\t\tAND ref_cod_matricula = {$matricula["cod_matricula"]} AND ano = 2007 AND ativo = 1\n\t\t\t\t\t\t\t\t\tAND (to_char(data_cadastro,'DD/MM/YYYY') < '20/02/2008'\n\t\t\t\t\t\t\t\t\t\tOR to_char(data_cadastro,'YYYY')::int = 2007) AND data_exclusao is null";
                             $existe_he_antigo = $db->CampoUnico($sql);
                             if (is_numeric($existe_he_antigo)) {
                                 $liberar_historico = true;
                             } else {
                                 //verificar se possui historico
                                 $sql = "SELECT 1 FROM pmieducar.historico_escolar WHERE ref_cod_aluno = {$matricula["ref_cod_aluno"]}\n\t\t\t\t\t\t\t\t\t\tAND ref_cod_matricula = {$matricula["cod_matricula"]} AND ano = 2007 AND ativo = 1";
                                 $existe_he = $db->CampoUnico($sql);
                                 if (!is_numeric($existe_he)) {
                                     $liberar_historico = true;
                                 }
                             }
                             if ($liberar_historico) {
                                 if (is_numeric($existe_he_antigo)) {
                                     $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_he_antigo, $pessoa_logada);
                                     //									if (!$obj_historico->excluir()) {
                                     //										die("nao exclui");
                                     //									}
                                 }
                                 //fazer novo he
                                 //destruir he antigo
                                 $obj_curso = new clsPmieducarCurso($matricula["ref_cod_curso"]);
                                 $det_curso = $obj_curso->detalhe();
                                 $falta_ch_globalizada = $det_curso["falta_ch_globalizada"];
                                 $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($det_curso["ref_cod_tipo_avaliacao"]);
                                 $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe();
                                 $conceitual = $detalhe_tipo_avaliacao["conceitual"];
                                 $notas_faltas_disciplina = array();
                                 $obj_escola_serie_disciplina = new clsPmieducarEscolaSerieDisciplina();
                                 $lst_escola_serie_disciplina = $obj_escola_serie_disciplina->lista($matricula["ref_ref_cod_serie"], $matricula["ref_ref_cod_escola"], null, 1);
                                 foreach ($lst_escola_serie_disciplina as $escola_serie_disciplina) {
                                     $obj_dispensa = new clsPmieducarDispensaDisciplina($matricula["cod_matricula"], $matricula["ref_ref_cod_serie"], $matricula["ref_cod_escola"], $escola_serie_disciplina["ref_cod_disciplina"], null, null, null, null, null, 1);
                                     $det_disciplina = $obj_dispensa->detalhe();
                                     if (!is_array($det_disciplina)) {
                                         $obj_nota = new clsPmieducarNotaAluno();
                                         $obj_nota->setOrderby("modulo");
                                         $lst_nota = $obj_nota->lista(null, null, null, $matricula["ref_ref_cod_serie"], $matricula["ref_cod_escola"], $escola_serie_disciplina["ref_cod_disciplina"], $matricula["cod_matricula"], null, null, null, null, null, null, 1);
                                         if (is_array($lst_nota) && count($lst_nota)) {
                                             $nota_matricula = array_shift($lst_nota);
                                             $obj_tipo_av_val = new clsPmieducarTipoAvaliacaoValores($nota_matricula["ref_ref_cod_tipo_avaliacao"], $nota_matricula["ref_sequencial"]);
                                             $det_tipo_av_val = $obj_tipo_av_val->detalhe();
                                             if ($falta_ch_globalizada) {
                                                 $faltas = null;
                                             } else {
                                                 $sql = "select sum(faltas) from pmieducar.falta_aluno where\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref_cod_matricula={$matricula["cod_matricula"]} and ref_cod_disciplina={$escola_serie_disciplina["ref_cod_disciplina"]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand ativo=1";
                                                 $faltas = $db->CampoUnico($sql);
                                             }
                                             $obj_disciplina = new clsPmieducarDisciplina($escola_serie_disciplina["ref_cod_disciplina"]);
                                             $det_disciplina = $obj_disciplina->detalhe();
                                             $notas_faltas_disciplina[$escola_serie_disciplina["ref_cod_disciplina"]] = array("media" => $det_tipo_av_val["nome"], "falta" => $faltas, "nm_disciplina" => $det_disciplina["nm_disciplina"]);
                                         }
                                     }
                                 }
                                 if (is_array($notas_faltas_disciplina)) {
                                     $obj_escola2 = new clsPmieducarEscola($matricula["ref_ref_cod_escola"]);
                                     $det_escola2 = $obj_escola2->detalhe();
                                     $ref_cod_instituicao = $det_escola2["ref_cod_instituicao"];
                                     $extra_curricular = 1;
                                     if ($falta_ch_globalizada) {
                                         $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$matricula["cod_matricula"]}";
                                         $db5 = new clsBanco();
                                         $total_faltas = $db5->CampoUnico($sql);
                                     } else {
                                         $total_faltas = null;
                                     }
                                     $obj_serie = new clsPmieducarSerie($matricula["ref_ref_cod_serie"]);
                                     $det_serie = $obj_serie->detalhe();
                                     $carga_horaria_serie = $det_serie["carga_horaria"];
                                     $obj_escola = new clsPmieducarEscola($matricula["ref_ref_cod_escola"]);
                                     $det_escola = $obj_escola->detalhe();
                                     $ref_idpes = $det_escola["ref_idpes"];
                                     // busca informacoes da escola
                                     if ($ref_idpes) {
                                         $obj_escola = new clsPessoaJuridica($ref_idpes);
                                         $det_escola = $obj_escola->detalhe();
                                         $nm_escola = $det_escola["fantasia"];
                                         if ($det_escola) {
                                             $cidade = $det_escola["cidade"];
                                             $uf = $det_escola["sigla_uf"];
                                         }
                                     } else {
                                         if (class_exists("clsPmieducarEscolaComplemento")) {
                                             $obj_escola = new clsPmieducarEscolaComplemento($matricula["ref_ref_cod_escola"]);
                                             $det_escola = $obj_escola->detalhe();
                                             $nm_escola = $det_escola["nm_escola"];
                                             $cidade = $det_escola["municipio"];
                                         }
                                     }
                                     //falta_ch_globalizada
                                     if ($det_curso["falta_ch_globalizada"] == 1) {
                                         //										$dias_letivos = $this->buscaDiasLetivos($matricula["ref_ref_cod_escola"]);
                                         $dias_letivos = null;
                                     } else {
                                         $dias_letivos = null;
                                     }
                                     if ($matricula["matricula_reclassificacao"] == 1) {
                                         $descricao_reclassificacao = $this->verificaReclassificacao($matricula["cod_matricula"]);
                                     } else {
                                         $descricao_reclassificacao = null;
                                     }
                                     $obj_historico = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $pessoa_logada, $det_serie["nm_serie"], 2007, $carga_horaria_serie, $dias_letivos, $nm_escola, $cidade, $uf, $descricao_reclassificacao, $matricula["aprovado"], null, null, 1, $total_faltas, $ref_cod_instituicao, 0, $extra_curricular, $matricula["cod_matricula"]);
                                     $cadastrou2 = $obj_historico->cadastra();
                                     if ($cadastrou2) {
                                         $obj_historico = new clsPmieducarHistoricoEscolar();
                                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                                         foreach ($notas_faltas_disciplina as $nota_falta) {
                                             $obj_historico_disciplina = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nota_falta["nm_disciplina"], $nota_falta["media"], $nota_falta["falta"]);
                                             $cadastrou3 = $obj_historico_disciplina->cadastra();
                                             if (!$cadastrou3) {
                                                 die("<br><br><br><br>nao cadastrou disciplina");
                                             }
                                         }
                                     } else {
                                         die("<br><br><br><br>nao cadastrou historico");
                                     }
                                 }
                             }
                         }
                     }
                 }
             } elseif ($ref_cod_curso != 49 && $ref_cod_curso != 20 && $ref_cod_curso != 19) {
                 $sql = "SELECT ref_ref_cod_escola,ref_cod_curso from pmieducar.matricula where cod_matricula in (\n\t\t\t\t\t\t\tSELECT MAX(cod_matricula) as max_matricula\n\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2))";
                 $db = new clsBanco();
                 $db->Consulta($sql);
                 while ($db->ProximoRegistro()) {
                     list($ref_cod_escola, $ref_cod_curso) = $db->Tupla();
                 }
                 $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
                 $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista(2007, $ref_cod_escola);
                 $qtd_modulos = count($lst_ano_letivo_modulo);
                 $obj_curso = new clsPmieducarCurso($ref_cod_curso);
                 $det_curso = $obj_curso->detalhe();
                 $falta_ch_globalizada = $det_curso["falta_ch_globalizada"];
                 $objTipoAvaliacao = new clsPmieducarTipoAvaliacao($det_curso["ref_cod_tipo_avaliacao"]);
                 $detalhe_tipo_avaliacao = $objTipoAvaliacao->detalhe();
                 $conceitual = $detalhe_tipo_avaliacao["conceitual"];
                 if ($qtd_modulos == 4 && !$conceitual) {
                     $sql_eh_falta_globalizada = "SELECT 1 FROM pmieducar.historico_escolar WHERE ref_cod_aluno = {$this->ref_cod_aluno} AND sequencial = {$existe_historico}\n\t\t\t\t\t\t\t\t\t\t\t AND faltas_globalizadas IS NOT NULL AND dias_letivos IS NULL";
                     $db = new clsBanco();
                     $busca_dias_letivos = $db->CampoUnico($sql_eh_falta_globalizada);
                     if (is_numeric($busca_dias_letivos)) {
                         $dias_letivos = $this->buscaDiasLetivos($ref_cod_escola);
                         if ($dias_letivos) {
                             $obj_he = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_historico, $pessoa_logada, null, null, null, null, $dias_letivos);
                             if (!$obj_he->edita()) {
                                 die("nao editou dias letivos");
                             }
                         }
                     }
                     $sql = "SELECT MAX(cod_matricula),matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t\tfrom pmieducar.matricula WHERE ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t\t\tAND ano=2007 AND ativo=1 AND aprovado IN (1,2)\n\t\t\t\t\t\t\t\t\t\t\tgroup by matricula_reclassificacao";
                     $db = new clsBanco();
                     $db->Consulta($sql);
                     while ($db->ProximoRegistro()) {
                         list($cod_matricula, $matricula_reclassificacao) = $db->Tupla();
                     }
                     if ($matricula_reclassificacao == 1) {
                         $descricao_reclassificacao = $this->verificaReclassificacao();
                         if ($descricao_reclassificacao) {
                             $obj_he = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $existe_historico, $pessoa_logada, null, null, null, null, null, null, null, null, $descricao_reclassificacao);
                             if (!$obj_he->edita()) {
                                 die("nao editou reclassificacao");
                             }
                         }
                     }
                 }
             }
         }
     }
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Faltas/Notas Aluno - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->ref_cod_matricula = $_GET["ref_cod_matricula"];
     $this->ref_cod_turma = $_GET["ref_cod_turma"];
     $this->ref_sequencial_matricula_turma = $_GET["sequencial"];
     $obj_matricula_turma = new clsPmieducarMatriculaTurma();
     //		echo $this->ref_cod_matricula." ".$this->ref_cod_turma;
     $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, $this->ref_sequencial_matricula_turma);
     if (is_array($lst_matricula_turma)) {
         $registro = array_shift($lst_matricula_turma);
     }
     if (!$registro) {
         header("location: educar_falta_nota_aluno_lst.php");
         die;
     }
     if (class_exists("clsPmieducarTurma")) {
         $obj_ref_ref_cod_turma = new clsPmieducarTurma($registro["ref_cod_turma"]);
         $det_ref_ref_cod_turma = $obj_ref_ref_cod_turma->detalhe();
         $nm_turma = $det_ref_ref_cod_turma["nm_turma"];
     } else {
         $registro["ref_cod_turma"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarTurma\n-->";
     }
     if (class_exists("clsPmieducarSerie")) {
         $obj_ref_cod_serie = new clsPmieducarSerie($registro["ref_ref_cod_serie"]);
         $det_ref_cod_serie = $obj_ref_cod_serie->detalhe();
         $nm_serie = $det_ref_cod_serie["nm_serie"];
     } else {
         $registro["ref_cod_serie"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->";
     }
     if (class_exists("clsPmieducarCurso")) {
         $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]);
         $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
         $nm_curso = $det_ref_cod_curso["nm_curso"];
         $padrao_ano_escolar = $det_ref_cod_curso["padrao_ano_escolar"];
         $falta_ch_globalizada = $det_ref_cod_curso["falta_ch_globalizada"];
         if ($padrao_ano_escolar) {
             $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo();
             $lst_ano_letivo = $obj_ano_letivo->lista($registro["ref_ref_cod_escola"], null, null, null, 1, null, null, null, null, 1);
             if (is_array($lst_ano_letivo)) {
                 $det_ano_letivo = array_shift($lst_ano_letivo);
                 $ano_letivo = $det_ano_letivo["ano"];
                 $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
                 $lst_ano_letivo_modulo = $obj_ano_letivo_modulo->lista($ano_letivo, $registro["ref_ref_cod_escola"]);
                 if (is_array($lst_ano_letivo_modulo)) {
                     $qtd_modulos = count($lst_ano_letivo_modulo);
                 }
             }
         } else {
             $obj_turma_modulo = new clsPmieducarTurmaModulo();
             $lst_turma_modulo = $obj_turma_modulo->lista($registro["ref_cod_turma"]);
             if (is_array($lst_turma_modulo)) {
                 $qtd_modulos = count($lst_turma_modulo);
             }
         }
     } else {
         $registro["ref_cod_curso"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->";
     }
     if (class_exists("clsPmieducarInstituicao")) {
         $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
         $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
         $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
     } else {
         $registro["ref_cod_instituicao"] = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
     }
     if (class_exists("clsPmieducarEscola")) {
         $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_ref_cod_escola"]);
         $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
         $nm_escola = $det_ref_cod_escola["nome"];
     } else {
         $registro["ref_ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
     }
     if (class_exists("clsPmieducarAluno")) {
         $obj_aluno = new clsPmieducarAluno();
         $lst_aluno = $obj_aluno->lista($registro["ref_cod_aluno"], null, null, null, null, null, null, null, null, null, 1);
         if (is_array($lst_aluno)) {
             $det_aluno = array_shift($lst_aluno);
             $registro["ref_cod_aluno"] = $det_aluno["nome_aluno"];
         }
     } else {
         $registro["ref_cod_aluno"] = "Erro na gera&ccedil;&atilde;o";
         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarAluno\n-->";
     }
     if ($registro["ref_cod_aluno"]) {
         $this->addDetalhe(array("Aluno", "{$registro["ref_cod_aluno"]}"));
     }
     if ($registro["ref_cod_matricula"]) {
         $this->addDetalhe(array("Matr&iacute;cula", "{$registro["ref_cod_matricula"]}"));
     }
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         if ($registro["ref_cod_instituicao"]) {
             $this->addDetalhe(array("Institui&ccedil;&atilde;o", "{$registro["ref_cod_instituicao"]}"));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($nm_escola) {
             $this->addDetalhe(array("Escola", "{$nm_escola}"));
         }
     }
     if ($nm_curso) {
         $this->addDetalhe(array("Curso", "{$nm_curso}"));
     }
     if ($nm_serie) {
         $this->addDetalhe(array("S&eacute;rie", "{$nm_serie}"));
     }
     if ($nm_turma) {
         $this->addDetalhe(array("Turma", "{$nm_turma}"));
     }
     if ($qtd_modulos) {
         $this->addDetalhe(array("Quantidade de M&oacute;dulos", "{$qtd_modulos}"));
     }
     $obj_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"]);
     $det_matricula = $obj_matricula->detalhe();
     $modulo = $det_matricula["modulo"];
     $aprovado = $det_matricula["aprovado"];
     $ano_matricula = $det_matricula["ano"];
     $max_qtd_nota = 0;
     $min_qtd_nota = 10;
     //************************************* DETALHE - MATRICULADO NUMA SERIE *************************************//
     if ($registro["ref_ref_cod_serie"]) {
         $obj_dispensa = new clsPmieducarDispensaDisciplina();
         $lst_dispensa = $obj_dispensa->lista($registro["ref_cod_matricula"], $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, null, null, null, null, null, null, null, 1);
         if (is_array($lst_dispensa)) {
             foreach ($lst_dispensa as $key => $disciplina) {
                 $dispensa[$disciplina["ref_cod_disciplina"]] = $disciplina["ref_cod_disciplina"];
             }
         }
         $obj_esd = new clsPmieducarEscolaSerieDisciplina();
         $obj_esd->setOrderby("nm_disciplina");
         $lst_disciplinas = $obj_esd->lista($registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], null, 1, true);
         if ($lst_disciplinas) {
             foreach ($lst_disciplinas as $disciplinas) {
                 $obj_nota_aluno = new clsPmieducarNotaAluno();
                 $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, $disciplinas["ref_cod_disciplina"], $this->ref_cod_matricula);
                 if ($max_qtd_nota < $qtd_notas) {
                     $max_qtd_nota = $qtd_notas;
                 }
                 if ($min_qtd_nota > $qtd_notas) {
                     $min_qtd_nota = $qtd_notas;
                 }
             }
         }
         if (is_array($lst_disciplinas)) {
             $tabela = "<table>\n\t\t\t\t\t\t       <tr align='center'>\n\t\t\t\t\t\t           <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>";
             for ($i = 1; $i <= $max_qtd_nota; $i++) {
                 if ($qtd_modulos < $i) {
                     $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>";
                 } else {
                     $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>M&oacute;dulo {$i}</b></td>";
                 }
             }
             $tabela .= "</tr>";
             $tabela .= "<tr align=center>";
             for ($i = 1; $i <= $max_qtd_nota; $i++) {
                 if ($qtd_modulos < $i) {
                     $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>";
                 } else {
                     $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>";
                 }
             }
             $tabela .= "</tr>";
             $cont = 0;
             $qtd_disciplinas = count($lst_disciplinas);
             $prim_disciplina = false;
             foreach ($lst_disciplinas as $valor) {
                 //					echo "<pre>"; print_r($lst_disciplinas); die();
                 $parar = false;
                 if (!strcmp($valor["nm_disciplina"], "Matemática")) {
                     $parar = true;
                 }
                 if (!$dispensa[$valor["ref_cod_disciplina"]]) {
                     if ($cont % 2 == 0) {
                         $color = " bgcolor='#E4E9ED' ";
                     } else {
                         $color = " bgcolor='#FFFFFF' ";
                     }
                     unset($notas_aluno);
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $obj_nota_aluno->setOrderby("modulo ASC");
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, null, 1);
                     if (is_array($lst_nota_aluno)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno['nota']) {
                                 $notas_aluno[] = $nota_aluno["nota"];
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $notas_aluno[] = $det_avaliacao_valores["nome"];
                             }
                         }
                     }
                     unset($faltas_aluno);
                     if ($falta_ch_globalizada) {
                         $obj_faltas = new clsPmieducarFaltas();
                         $obj_faltas->setOrderby("sequencial asc");
                         $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]);
                         if (is_array($lst_faltas)) {
                             foreach ($lst_faltas as $key => $faltas) {
                                 $faltas_aluno[] = $faltas['falta'];
                             }
                         }
                     } else {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $obj_falta_aluno->setOrderby("cod_falta_aluno ASC");
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $registro["ref_ref_cod_serie"], $registro["ref_ref_cod_escola"], $valor["ref_cod_disciplina"], $registro["ref_cod_matricula"], null, null, null, null, null, 1);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $faltas_aluno[] = $falta_aluno["faltas"];
                             }
                         }
                     }
                     $obj_disciplina = new clsPmieducarDisciplina($valor["ref_cod_disciplina"]);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $nm_disciplina = $det_disciplina["nm_disciplina"];
                     $apura_falta = $det_disciplina["apura_falta"];
                     $tabela .= "<tr align='left'>\n\t\t\t\t\t\t\t\t\t    <td {$color} align='left'>{$nm_disciplina}</td>";
                     for ($i = 0; $i < $max_qtd_nota; $i++) {
                         if ($qtd_modulos - 1 < $i) {
                             if ($notas_aluno[$i]) {
                                 $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", ".");
                                 $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>";
                             } else {
                                 $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>";
                             }
                         } else {
                             if ($notas_aluno[$i]) {
                                 $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>";
                             } else {
                                 $tabela .= "<td align='center' {$color} align='left'>-</td>";
                             }
                             if ($falta_ch_globalizada && !$prim_disciplina) {
                                 $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>";
                             } else {
                                 if (!$falta_ch_globalizada) {
                                     if (is_numeric($faltas_aluno[$i])) {
                                         $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>";
                                     } else {
                                         $tabela .= "<td align='center' {$color} align='left'>-</td>";
                                     }
                                 }
                             }
                         }
                     }
                     $prim_disciplina = true;
                     $tabela .= "</tr>";
                     $cont++;
                 }
             }
             if (!$ano_letivo || $ano_letivo == $ano_matricula) {
                 if ($max_qtd_nota > 0) {
                     $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t\t    <td align='center'></td>";
                     for ($i = 1; $i <= $max_qtd_nota; $i++) {
                         //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos >= $modulo) && false)
                         if (!$det_ref_cod_curso['edicao_final']) {
                             $tabela .= "<td colspan='2'></td>";
                         } else {
                             $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>";
                         }
                     }
                     $tabela .= "</tr>";
                 }
             }
             $tabela .= "</table>";
         }
     } else {
         $obj_disciplinas = new clsPmieducarDisciplina();
         $obj_disciplina->setOrderby("nm_disciplina");
         $lst_disciplinas = $obj_disciplinas->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $registro["ref_cod_curso"]);
         foreach ($lst_disciplinas as $disciplinas) {
             $obj_nota_aluno = new clsPmieducarNotaAluno();
             $qtd_notas = $obj_nota_aluno->getQtdNotas(null, null, null, $this->ref_cod_matricula, $disciplinas["cod_disciplina"]);
             if ($max_qtd_nota < $qtd_notas) {
                 $max_qtd_nota = $qtd_notas;
             }
         }
         if (is_array($lst_disciplinas)) {
             $tabela = "<table>\n\t\t\t\t\t\t       <tr align='center'>\n\t\t\t\t\t\t           <td rowspan='2' bgcolor='#a1b3bd'><b>Nome</b></td>";
             for ($i = 1; $i <= $max_qtd_nota; $i++) {
                 if ($qtd_modulos < $i) {
                     $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Exame</b></td>";
                 } else {
                     $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>M&oacute;dulo {$i}</b></td>";
                 }
             }
             $tabela .= "</tr>";
             $tabela .= "<tr align=center>";
             for ($i = 1; $i <= $max_qtd_nota; $i++) {
                 if ($qtd_modulos < $i) {
                     $tabela .= "<td colspan='2' bgcolor='#a1b3bd'><b>Nota</b></td>";
                 } else {
                     $tabela .= "<td bgcolor='#a1b3bd'><b>Nota</b></td><td bgcolor='#a1b3bd'><b>Faltas</b></td>";
                 }
             }
             $tabela .= "</tr>";
             $cont = 0;
             $qtd_disciplinas = count($lst_disciplinas);
             $prim_disciplina = false;
             foreach ($lst_disciplinas as $valor) {
                 if ($cont % 2 == 0) {
                     $color = " bgcolor='#E4E9ED' ";
                 } else {
                     $color = " bgcolor='#FFFFFF' ";
                 }
                 unset($notas_aluno);
                 $obj_nota_aluno = new clsPmieducarNotaAluno();
                 $obj_nota_aluno->setOrderby("modulo ASC");
                 $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, null, 1, null, $valor["cod_disciplina"]);
                 if (is_array($lst_nota_aluno)) {
                     foreach ($lst_nota_aluno as $key => $nota_aluno) {
                         if ($nota_aluno['nota']) {
                             $notas_aluno[] = $nota_aluno["nota"];
                         } else {
                             $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                             $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                             $notas_aluno[] = $det_avaliacao_valores["nome"];
                         }
                     }
                 }
                 unset($faltas_aluno);
                 if ($falta_ch_globalizada) {
                     $obj_faltas = new clsPmieducarFaltas();
                     $lst_faltas = $obj_faltas->lista($registro["ref_cod_matricula"]);
                     if (is_array($lst_faltas)) {
                         foreach ($lst_faltas as $key => $faltas) {
                             $faltas_aluno[] = $faltas['falta'];
                         }
                     }
                 } else {
                     $obj_falta_aluno = new clsPmieducarFaltaAluno();
                     $obj_falta_aluno->setOrderby("cod_falta_aluno ASC");
                     $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $registro["ref_cod_matricula"], null, null, null, null, null, 1, null, $valor["cod_disciplina"]);
                     if (is_array($lst_falta_aluno)) {
                         foreach ($lst_falta_aluno as $key => $falta_aluno) {
                             $faltas_aluno[] = $falta_aluno["faltas"];
                         }
                     }
                 }
                 $nm_disciplina = $valor["nm_disciplina"];
                 $apura_falta = $valor["apura_falta"];
                 $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t    <td {$color} align='center'>{$nm_disciplina}</td>";
                 for ($i = 0; $i < $max_qtd_nota; $i++) {
                     if ($qtd_modulos - 1 < $i) {
                         if ($notas_aluno[$i]) {
                             $notas_aluno[$i] = number_format($notas_aluno[$i], 2, ",", ".");
                             $tabela .= "<td align='center' colspan='2' {$color} align='left'>{$notas_aluno[$i]}</td>";
                         } else {
                             $tabela .= "<td align='center' colspan='2' {$color} align='left'>-</td>";
                         }
                     } else {
                         if ($notas_aluno[$i]) {
                             $tabela .= "<td align='center' {$color} align='left'>{$notas_aluno[$i]}</td>";
                         } else {
                             $tabela .= "<td align='center' {$color} align='left'>-</td>";
                         }
                         if ($falta_ch_globalizada && !$prim_disciplina) {
                             $tabela .= "<td align='center' rowspan='{$qtd_disciplinas}' {$color} align='left'>{$faltas_aluno[$i]}</td>";
                         } else {
                             if (!$falta_ch_globalizada) {
                                 if (is_numeric($faltas_aluno[$i])) {
                                     $tabela .= "<td align='center' {$color} align='left'>{$faltas_aluno[$i]}</td>";
                                 } else {
                                     $tabela .= "<td align='center' {$color} align='left'>-</td>";
                                 }
                             }
                         }
                     }
                 }
                 $prim_disciplina = true;
                 $tabela .= "</tr>";
                 $cont++;
             }
             if ($max_qtd_nota > 0) {
                 $tabela .= "<tr align='center'>\n\t\t\t\t\t\t\t\t    <td align='center'></td>";
                 for ($i = 1; $i <= $max_qtd_nota; $i++) {
                     //if ( ($max_qtd_nota != $min_qtd_nota) && ($min_qtd_nota < $i) && ($qtd_modulos <= $modulo) )
                     if (!$det_ref_cod_curso['edicao_final']) {
                         $tabela .= "<td colspan='2'></td>";
                     } else {
                         $tabela .= "<td align='center' colspan='2' bgcolor='#a1b3bd' align='center'><a href='educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$i}'>Editar</a></td>";
                     }
                 }
                 $tabela .= "</tr>";
             }
             $tabela .= "</table>";
         }
     }
     if ($tabela) {
         $this->addDetalhe(array("Disciplina", "{$tabela}"));
     }
     if ($aprovado) {
         if ($aprovado == 1) {
             $aprovado_ = "Aprovado";
         } elseif ($aprovado == 2) {
             $aprovado_ = "Reprovado";
         } elseif ($aprovado == 3) {
             if ($qtd_modulos < $modulo) {
                 $aprovado_ = "Em Exame";
             } else {
                 $aprovado_ = "Em Andamento";
             }
         }
         $this->addDetalhe(array("Situa&ccedil;&atilde;o", "{$aprovado_}"));
     }
     if ($obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7)) {
         if ($qtd_modulos >= $modulo && $aprovado == 3) {
             $this->array_botao = array("Nova Nota/Falta");
             $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}");
         } elseif ($qtd_modulos < $modulo && $aprovado == 3) {
             $this->array_botao = array("Nota Exame");
             if ($qtd_modulos < $max_qtd_nota) {
                 $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}&modulo={$max_qtd_nota}");
             } else {
                 $this->array_botao_url = array("educar_falta_nota_aluno_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_turma={$registro["ref_cod_turma"]}&ref_sequencial_matricula_turma={$registro["sequencial"]}");
             }
         }
     }
     $this->url_cancelar = "educar_falta_nota_aluno_lst.php";
     $this->largura = "100%";
 }
Example #10
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Matr&iacute;cula - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     if (!$this->ref_cod_aluno) {
         header("location: educar_aluno_lst.php");
         die;
     }
     $this->campoOculto("ref_cod_aluno", $this->ref_cod_aluno);
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $lista_busca = array("Ano", "Matrícula", "Situação", "Turma", "S&eacute;rie", "Curso");
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = "Escola";
         $lista_busca[] = "Institui&ccedil;&atilde;o";
     } else {
         if ($nivel_usuario == 2) {
             $lista_busca[] = "Escola";
         }
     }
     $this->addCabecalhos($lista_busca);
     $get_escola = true;
     $get_curso = true;
     $get_escola_curso_serie = true;
     include "include/pmieducar/educar_campo_lista.php";
     if ($this->ref_cod_escola) {
         $this->ref_ref_cod_escola = $this->ref_cod_escola;
     }
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_matricula = new clsPmieducarMatricula();
     $obj_matricula->setOrderby('ano DESC, ref_ref_cod_serie DESC, aprovado, cod_matricula');
     $obj_matricula->setLimite($this->limite, $this->offset);
     $lista = $obj_matricula->lista($this->cod_matricula, null, $this->ref_ref_cod_escola, $this->ref_ref_cod_serie, null, null, $this->ref_cod_aluno, null, null, null, null, null, 1, null, $this->ref_cod_curso, $this->ref_cod_instituicao, 1);
     $total = $obj_matricula->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists("clsPmieducarCurso")) {
                 $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]);
                 $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
                 $registro["ref_cod_curso"] = $det_ref_cod_curso["nm_curso"];
             } else {
                 $registro["ref_cod_curso"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->";
             }
             if (class_exists("clsPmieducarSerie")) {
                 $obj_serie = new clsPmieducarSerie($registro["ref_ref_cod_serie"]);
                 $det_serie = $obj_serie->detalhe();
                 $registro["ref_ref_cod_serie"] = $det_serie["nm_serie"];
             } else {
                 $registro["ref_ref_cod_serie"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->";
             }
             if (class_exists("clsPmieducarInstituicao")) {
                 $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             } else {
                 $registro["ref_cod_instituicao"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
             }
             if (class_exists("clsPmieducarEscola")) {
                 $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_ref_cod_escola"]);
                 $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
                 $registro["ref_ref_cod_escola"] = $det_ref_cod_escola["nome"];
             } else {
                 $registro["ref_ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             $enturmacoes = new clsPmieducarMatriculaTurma();
             $enturmacoes = $enturmacoes->lista($registro['cod_matricula'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
             $nomesTurmas = array();
             foreach ($enturmacoes as $enturmacao) {
                 $turma = new clsPmieducarTurma($enturmacao['ref_cod_turma']);
                 $turma = $turma->detalhe();
                 $nomesTurmas[] = $turma['nm_turma'];
             }
             $nomesTurmas = implode('<br />', $nomesTurmas);
             $situacao = $registro['aprovado'];
             if ($situacao == 1) {
                 $situacao = 'Aprovado';
             } elseif ($situacao == 2) {
                 $situacao = 'Reprovado';
             } elseif ($situacao == 3) {
                 $situacao = 'Em Andamento';
             } elseif ($situacao == 4) {
                 $situacao = 'Transferido';
             } elseif ($situacao == 5) {
                 $situacao = 'Reclassificado';
             } elseif ($situacao == 6) {
                 $situacao = 'Abandono';
             }
             $lista_busca = array();
             $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ano"]}</a>";
             $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["cod_matricula"]}</a>";
             $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$situacao}</a>";
             if ($nomesTurmas) {
                 $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$nomesTurmas}</a>";
             } else {
                 $lista_busca[] = "";
             }
             if ($registro["ref_ref_cod_serie"]) {
                 $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_ref_cod_serie"]}</a>";
             } else {
                 $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">-</a>";
             }
             /*$lista_busca = array(
             			"<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_ref_cod_serie"]}</a>",
             			"<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_cod_curso"]}</a>"
             		);*/
             $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_cod_curso"]}</a>";
             if ($nivel_usuario == 1) {
                 if ($registro["ref_ref_cod_escola"]) {
                     $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_ref_cod_escola"]}</a>";
                 } else {
                     $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">-</a>";
                 }
                 $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     if ($registro["ref_ref_cod_escola"]) {
                         $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_ref_cod_escola"]}</a>";
                     } else {
                         $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">-</a>";
                     }
                 }
             }
             $this->addLinhas($lista_busca);
         }
     } else {
         $this->addLinhas(array('Aluno sem matrículas em andamento na sua escola.'));
     }
     $this->addPaginador2("educar_matricula_lst.php", $total, $_GET, $this->nome, $this->limite);
     if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) {
         $this->acao = "go(\"educar_matricula_cad.php?ref_cod_aluno={$this->ref_cod_aluno}\")";
         $this->nome_acao = "Nova Matr&iacute;cula";
     }
     $this->array_botao[] = 'Voltar';
     $this->array_botao_url[] = "educar_aluno_det.php?cod_aluno={$this->ref_cod_aluno}";
     $this->largura = "100%";
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if ($this->ref_ref_cod_serie) {
            $this->ref_cod_serie = $this->ref_ref_cod_serie;
        }
        $fonte = 'arial';
        $corTexto = '#000000';
        if ($this->ref_cod_escola) {
            $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
            $det_escola = $obj_escola->detalhe();
            $this->nm_escola = $det_escola['nome'];
            $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
        }
        if (is_numeric($this->ref_cod_serie)) {
            $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
            $det_serie = $obj_serie->detalhe();
            $this->nm_serie_ = $det_serie["nm_serie"];
        }
        if (is_numeric($this->ref_cod_turma)) {
            $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
            $det_turma = $obj_turma->detalhe();
            $this->nm_turma_ = $det_turma["nm_turma"];
        }
        $this->pdf = new clsPDF("Registro de Matrículas - {$this->ano}", "Registro de Matrículas", "A4", "", false, false);
        $this->pdf->largura = 842.0;
        $this->pdf->altura = 595.0;
        $this->page_y = 125;
        if ($this->is_padrao || $this->ano == 2007) {
            $this->semestre = null;
        }
        $obj_matricula = new clsPmieducarMatricula();
        $obj_matricula->setOrderby("ref_ref_cod_escola, ref_ref_cod_serie, ref_cod_curso");
        $lista_matricula = $obj_matricula->lista(null, null, $this->ref_cod_escola, $this->ref_cod_serie, null, null, null, array(1, 2, 3), null, null, null, null, 1, $this->ano, $this->ref_cod_curso, $this->ref_cod_instituicao, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $this->semestre, $this->ref_cod_turma);
        if ($lista_matricula) {
            $obj_series = new clsPmieducarSerie();
            $lst_series = $obj_series->lista(null, null, null, $this->ref_cod_curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao, null, null, null, $this->ref_cod_escola);
            if ($lst_series) {
                $lst_series2 = array();
                foreach ($lst_series as $serie) {
                    $lst_series2[$serie['cod_serie']] = $serie;
                }
                $lst_series = $lst_series2;
                unset($lst_series2);
            }
            $obj_turmas = new clsPmieducarTurma();
            $lst_turmas = $obj_turmas->lista(null, null, null, $this->ref_cod_serie, $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $this->ref_cod_curso, $this->ref_cod_instituicao);
            if ($lst_turmas) {
                $lst_turmas2 = array();
                foreach ($lst_turmas as $turma) {
                    $lst_turmas2[$turma['cod_turma']] = $turma;
                }
                $lst_turmas = $lst_turmas2;
                unset($lst_turmas2);
            }
            $obj_cursos = new clsPmieducarCurso();
            $lst_cursos = $obj_cursos->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
            if ($lst_cursos) {
                $lst_curso2 = array();
                foreach ($lst_cursos as $curso) {
                    $lst_cursos2[$curso['cod_curso']] = $curso;
                }
                $lst_cursos = $lst_cursos2;
                unset($lst_curso2);
            }
            $altura_caixa = 45;
            //$curso = $lst_cursos[$lista_matricula[0]['cod_curso']];
            //$this->nm_curso = $curso['nm_curso'];
            $ultimo_cod = $lista_matricula[0]['cod_curso'];
            $this->pdf->OpenPage();
            $this->addCabecalho();
            $this->addTitulo();
            foreach ($lista_matricula as $matricula) {
                $this->nm_curso = $lst_cursos[$matricula['ref_cod_curso']]['nm_curso'];
                if ($this->page_y > 530 || $ultimo_cod != $matricula['ref_cod_curso']) {
                    $this->pdf->ClosePage();
                    $this->pdf->OpenPage();
                    $this->page_y = 125;
                    $this->addCabecalho();
                    $this->addTitulo();
                }
                $obj_pessoa = new clsPessoaFisica($matricula['ref_idpes']);
                $det_pessoa = $obj_pessoa->detalhe();
                $nacionalidade = array('NULL' => "Selecione", '1' => "Brasileiro", '2' => "Naturalizado Brasileiro", '3' => "Estrangeiro");
                $nacionalidade = $nacionalidade[$det_pessoa['nacionalidade']];
                $det_municipio = $det_pessoa['idmun_nascimento']->detalhe();
                $data_nasc = explode("-", $det_pessoa['data_nasc']);
                $idade = calculoIdade($data_nasc[2], $data_nasc[1], $data_nasc[0]);
                $data_nasc = implode("/", array($data_nasc[2], $data_nasc[1], $data_nasc[0]));
                $y_escrita = $this->page_y + $altura_caixa / 4;
                $obj_aluno = new clsPmieducarAluno($matricula['ref_cod_aluno']);
                $det_aluno = $obj_aluno->detalhe();
                $obj_fisica = new clsFisica($det_aluno["ref_idpes"]);
                $det_fisica = $obj_fisica->detalhe();
                if (!$det_aluno['nm_mae']) {
                    if ($det_fisica["idpes_mae"]) {
                        $obj_ref_idpes = new clsPessoa_($det_fisica["idpes_mae"]);
                        $det_ref_idpes = $obj_ref_idpes->detalhe();
                        $det_aluno['nm_mae'] = $det_ref_idpes['nome'];
                    } elseif ($det_fisica['nome_mae']) {
                        $det_aluno['nm_mae'] = $det_fisica['nome_mae'];
                    }
                }
                if (!$det_aluno['nm_pai']) {
                    if ($det_fisica["idpes_pai"]) {
                        $obj_ref_idpes = new clsPessoa_($det_fisica["idpes_pai"]);
                        $det_ref_idpes = $obj_ref_idpes->detalhe();
                        $det_aluno['nm_pai'] = $det_ref_idpes["nome"];
                    } elseif ($det_fisica['nome_pai']) {
                        $det_aluno['nome_pai'] = $det_fisica['nome_pai'];
                    }
                }
                if ($det_aluno['tipo_responsavel'] == 'r' || $det_aluno['tipo_responsavel'] == '') {
                    if ($det_fisica["idpes_responsavel"]) {
                        $obj_ref_idpes = new clsPessoa_($det_fisica["idpes_responsavel"]);
                        $det_ref_idpes = $obj_ref_idpes->detalhe();
                        if ($det_aluno['nome_pai']) {
                            if ($det_aluno['nm_responsavel'] != $det_aluno['nome_pai']) {
                                $det_aluno['nm_responsavel'] = $det_ref_idpes["nome"];
                            }
                        } elseif ($det_aluno['nome_mae']) {
                            if ($det_aluno['nm_responsavel'] != $det_aluno['nome_mae']) {
                                $det_aluno['nm_responsavel'] = $det_ref_idpes["nome"];
                            }
                        } else {
                            $det_aluno['nm_responsavel'] = $det_ref_idpes["nome"];
                        }
                    } elseif ($det_fisica['nome_responsavel']) {
                        if ($det_aluno['nome_pai']) {
                            if ($det_fisica['nome_responsavel'] != $det_aluno['nome_pai']) {
                                $det_aluno['nm_responsavel'] = $det_fisica['nome_responsavel'];
                            }
                        } elseif ($det_aluno['nome_mae']) {
                            if ($det_fisica['nome_responsavel'] != $det_aluno['nome_mae']) {
                                $det_aluno['nm_responsavel'] = $det_fisica['nome_responsavel'];
                            }
                        } else {
                            $det_aluno['nm_responsavel'] = $det_fisica['nome_responsavel'];
                        }
                    }
                }
                if ($det_aluno['nm_pai']) {
                    $det_aluno['nm_pai'] = "{$det_aluno['nm_pai']}\n";
                }
                if ($det_aluno['nm_mae']) {
                    $det_aluno['nm_mae'] = "{$det_aluno['nm_mae']}\n";
                }
                $filiacao = "{$det_aluno['nm_pai']}{$det_aluno['nm_mae']}{$det_aluno['nm_responsavel']}";
                $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                $lst_matricula_turma = $obj_matricula_turma->lista($matricula['cod_matricula'], null, null, null, null, null, null, null, 1, $matricula['ref_ref_cod_serie'], $matricula['ref_cod_curso'], $matricula['ref_ref_cod_escola'], null, $matricula['ref_cod_aluno'], null, null, null);
                if (is_array($lst_matricula_turma)) {
                    $lst_matricula_turma = array_shift($lst_matricula_turma);
                    $hora_inicial = $lst_turmas[$lst_matricula_turma['ref_cod_turma']]['hora_inicial'];
                    $hora_final = $lst_turmas[$lst_matricula_turma['ref_cod_turma']]['hora_final'];
                    if ($hora_inicial >= '07:00' and $hora_inicial <= '12:00') {
                        $turno = 'Matutino';
                    } else {
                        if ($hora_inicial > '12:00' and $hora_inicial <= '18:00') {
                            $turno = 'Vespertino';
                        } else {
                            $turno = 'Noturno';
                        }
                    }
                } else {
                    $turno = 'N/A';
                }
                $obj_endereco = new clsPessoaEndereco($det_aluno["ref_idpes"]);
                if ($obj_endereco_det = $obj_endereco->detalhe()) {
                    $id_cep = $obj_endereco_det['cep']->cep;
                    $id_bairro = $obj_endereco_det['idbai']->detalhe();
                    $id_logradouro = $obj_endereco_det['idlog']->detalhe();
                    $id_mun = $id_bairro['idmun']->detalhe();
                    $id_logradouro = $id_logradouro['idlog']->detalhe();
                    $idtlog = $id_logradouro[1];
                    $numero = $obj_endereco_det['numero'];
                    $letra = $obj_endereco_det['letra'];
                    $complemento = $obj_endereco_det['complemento'];
                    $andar = $obj_endereco_det['andar'];
                    $apto = $obj_endereco_det['apartamento'];
                    $bloco = $obj_endereco_det['bloco'];
                    $cidade = $id_mun['nome'];
                    $bairro = $id_bairro['nome'];
                    $logradouro = $id_logradouro['nome'];
                    //$endereco_uf =  $obj_endereco_det['sigla_uf'];
                    $endereco_uf = $id_bairro['idmun']->sigla_uf;
                    $cep = int2CEP($id_cep);
                } else {
                    $obj_endereco = new clsEnderecoExterno($det_aluno["ref_idpes"]);
                    if ($obj_endereco_det = $obj_endereco->detalhe()) {
                        $id_cep = $obj_endereco_det['cep'];
                        $cidade = $obj_endereco_det['cidade'];
                        $bairro = $obj_endereco_det['bairro'];
                        $logradouro = $obj_endereco_det['logradouro'];
                        $numero = $obj_endereco_det['numero'];
                        $letra = $obj_endereco_det['letra'];
                        $complemento = $obj_endereco_det['complemento'];
                        $andar = $obj_endereco_det['andar'];
                        $apto = $obj_endereco_det['apartamento'];
                        $bloco = $obj_endereco_det['bloco'];
                        $idtlog = $obj_endereco_det['idtlog']->idtlog;
                        $endereco_uf = $obj_endereco_det['sigla_uf']->sigla_uf;
                        $cep = int2CEP($id_cep);
                    }
                }
                $idtlog = ucfirst(strtolower($idtlog));
                $logradouro = minimiza_capitaliza($logradouro);
                $cidade = minimiza_capitaliza($cidade);
                $endereco = "{$idtlog} {$logradouro},{$numero} {$letra} {$complemento} {$apto} {$bloco} {$andar}\n{$cep} {$bairro}, {$cidade} {$endereco_uf}";
                $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_caixa);
                $this->pdf->quadrado_relativo(30, $this->page_y, 40, $altura_caixa);
                $this->pdf->quadrado_relativo(70, $this->page_y, 50, $altura_caixa);
                $this->pdf->quadrado_relativo(115, $this->page_y, 175, $altura_caixa);
                $this->pdf->quadrado_relativo(285, $this->page_y, 55, $altura_caixa);
                $this->pdf->quadrado_relativo(335, $this->page_y, 190, $altura_caixa);
                $this->pdf->quadrado_relativo(520, $this->page_y, 160, $altura_caixa);
                $this->pdf->quadrado_relativo(680, $this->page_y, 80, $altura_caixa);
                $this->pdf->escreve_relativo("{$matricula['ref_cod_aluno']}", 30, $y_escrita + 5, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                $this->pdf->escreve_relativo("{$matricula['cod_matricula']}", 70, $y_escrita + 5, 50, $altura_caixa, $fonte, 8, $corTexto, 'center');
                $this->pdf->escreve_relativo("{$matricula['nome']}\n{$endereco}", 115, $y_escrita - 3, 175, $altura_caixa, $fonte, 8, $corTexto, 'center');
                $this->pdf->escreve_relativo("{$data_nasc}\n{$idade} anos", 285, $y_escrita + 5, 50, $altura_caixa, $fonte, 8, $corTexto, 'center');
                $this->pdf->escreve_relativo("{$filiacao}", 335, $y_escrita + 5, 175, $altura_caixa, $fonte, 8, $corTexto, 'center');
                if ($this->campo_assinatura) {
                    $this->pdf->escreve_relativo(" ", 520, $y_escrita + 2, 160, $altura_caixa, $fonte, 8, $corTexto, 'center');
                } else {
                    $this->pdf->escreve_relativo("{$nacionalidade}\n{$det_municipio['nome']}", 520, $y_escrita + 2, 160, $altura_caixa, $fonte, 8, $corTexto, 'center');
                }
                $obj_matricula_turma2 = new clsPmieducarMatriculaTurma();
                $det_matricula_turma2 = $obj_matricula_turma2->lista($matricula["cod_matricula"], null, null, null, null, null, null, null, 1);
                if (is_array($det_matricula_turma2)) {
                    $det_matricula_turma2 = array_shift($det_matricula_turma2);
                    $obj_turma = new clsPmieducarTurma($det_matricula_turma2["ref_cod_turma"]);
                    $det_turma = $obj_turma->detalhe();
                }
                $this->pdf->escreve_relativo("{$lst_series[$matricula['ref_ref_cod_serie']]['nm_serie']}\n{$det_turma["nm_turma"]}", 680, $y_escrita + 5, 80, $altura_caixa, $fonte, 8, $corTexto, 'center');
                $this->pdf->escreve_relativo("{$turno}", 760, $y_escrita + 5, 50, $altura_caixa, $fonte, 8, $corTexto, 'center');
                $this->page_y += $altura_caixa;
                $ultimo_cod = $matricula['ref_cod_curso'];
            }
            $this->pdf->ClosePage();
        } else {
            echo '<script>
	     					alert("A turma não possui matrículas");
	     					window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
			     		  </script>';
            return true;
            return;
        }
        $this->pdf->CloseFile();
        $this->get_link = $this->pdf->GetLink();
        echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
        echo "<html><center>Se o download não iniciar automaticamente <br /><a target='_blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
    }
 function Gerar()
 {
     @session_start();
     $this->__pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->__titulo = "Curso - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addCabecalhos(array("Curso", "Nivel Ensino", "Tipo Ensino", "Instituic&atilde;o"));
     $this->campoTexto("nm_curso", "Curso", $this->nm_curso, 30, 255, false);
     $opcoes = array("" => "Selecione");
     if (class_exists("clsPmieducarNivelEnsino")) {
         $objTemp = new clsPmieducarNivelEnsino();
         $lista = $objTemp->lista();
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes["{$registro['cod_nivel_ensino']}"] = "{$registro['nm_nivel']}";
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarNivelEnsino nao encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_cod_nivel_ensino", "Nivel Ensino", $opcoes, $this->ref_cod_nivel_ensino);
     $opcoes = array("" => "Selecione");
     if (class_exists("clsPmieducarTipoEnsino")) {
         $objTemp = new clsPmieducarTipoEnsino();
         $lista = $objTemp->lista();
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes["{$registro['cod_tipo_ensino']}"] = "{$registro['nm_ensino']}";
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarTipoAvaliacao nao encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_cod_tipo_ensino", "Tipo Ensino", $opcoes, $this->ref_cod_tipo_ensino);
     // Paginador
     $this->__limite = 20;
     $this->__offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->__limite - $this->__limite : 0;
     $obj_curso = new clsPmieducarCurso();
     $obj_curso->setOrderby("nm_curso ASC");
     $obj_curso->setLimite($this->__limite, $this->__offset);
     $lista = $obj_curso->lista(null, null, $this->ref_cod_nivel_ensino, $this->ref_cod_tipo_ensino, null, $this->nm_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null);
     $total = $obj_curso->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // muda os campos data
             $registro["data_cadastro_time"] = strtotime(substr($registro["data_cadastro"], 0, 16));
             $registro["data_cadastro_br"] = date("d/m/Y H:i", $registro["data_cadastro_time"]);
             $registro["data_exclusao_time"] = strtotime(substr($registro["data_exclusao"], 0, 16));
             $registro["data_exclusao_br"] = date("d/m/Y H:i", $registro["data_exclusao_time"]);
             if (class_exists("clsPmieducarNivelEnsino")) {
                 $obj_ref_cod_nivel_ensino = new clsPmieducarNivelEnsino($registro["ref_cod_nivel_ensino"]);
                 $det_ref_cod_nivel_ensino = $obj_ref_cod_nivel_ensino->detalhe();
                 $registro["ref_cod_nivel_ensino"] = $det_ref_cod_nivel_ensino["nm_nivel"];
             } else {
                 $registro["ref_cod_nivel_ensino"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarNivelEnsino\n-->";
             }
             if (class_exists("clsPmieducarTipoEnsino")) {
                 $obj_ref_cod_tipo_ensino = new clsPmieducarTipoEnsino($registro["ref_cod_tipo_ensino"]);
                 $det_ref_cod_tipo_ensino = $obj_ref_cod_tipo_ensino->detalhe();
                 $registro["ref_cod_tipo_ensino"] = $det_ref_cod_tipo_ensino["nm_tipo"];
             } else {
                 $registro["ref_cod_tipo_ensino"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoEnsino\n-->";
             }
             if (class_exists("clsPmieducarInstituicao")) {
                 $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
             } else {
                 $registro["ref_cod_instituicao"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarInstuicao\n-->";
             }
             $this->addLinhas(array("<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["nm_curso"]}</a>", "<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["ref_cod_nivel_ensino"]}</a>", "<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["ref_cod_tipo_ensino"]}</a>", "<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["ref_cod_instituicao"]}</a>"));
         }
     }
     $this->addPaginador2("educar_curso_lst.php", $total, $_GET, $this->nome, $this->__limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(0, $this->pessoa_logada, 0)) {
         $this->acao = "go(\"educar_curso_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
 }
Example #13
0
 function Excluir()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj = new clsPmieducarCurso($this->cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, $this->pessoa_logada);
     $excluiu = $obj->excluir();
     if ($excluiu) {
         $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";
         header("Location: educar_curso_lst.php");
         die;
     }
     $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";
     echo "<!--\nErro ao excluir clsPmieducarCurso\nvalores obrigat&oacute;rios\nif( is_numeric( {$this->cod_curso} ) && is_numeric( {$this->pessoa_logada} ) )\n-->";
     return FALSE;
 }
 /**
  * Retorna um array com resultados de uma pesquisa parametrizada
  *
  * O array retornado contém em cada um de seus items um array associativo onde
  * as chaves correspondem aos campos da tabela indicados por
  * $this->_campos_lista.
  *
  * A pesquisa SELECT realizada é afetada por diversos parâmetros disponíveis.
  * Alguns dos parâmetros induzem a subqueries para a avaliação de diferentes
  * funcionalidades do sistema.
  *
  * @see intranet/educar_pesquisa_servidor_lst.php  Listagem de busca de
  *  servidores
  * @see intranet/educar_quadro_horario_horarios_cad.php  Cadastro de horário
  *  de aula para uma turma
  * @see intranet/educar_turma_cad.php  Cadastro de turma
  *
  * @param  int         $int_cod_servidor             Código do servidor
  * @param  int         $int_ref_cod_deficiencia      Código da deficiência do servidor
  * @param  int         $int_ref_idesco               Código da escolaridade do servidor
  * @param  int         $int_carga_horaria            Carga horária do servidor
  * @param  string      $date_data_cadastro_ini       Data de cadastro inicial (busca por intervalo >= ao valor)
  * @param  string      $date_data_cadastro_fim       Data de cadastro final (busca por intervalo <= ao valor)
  * @param  string      $date_data_exclusao_ini       Data da exclusão inicial (busca por intervalo >= ao valor)
  * @param  string      $date_data_exclusao_fim       Data da exclusão final (busca por intervalo <= ao valor)
  * @param  int         $int_ativo                    '1' para buscar apenas por servidores ativos
  * @param  int         $int_ref_cod_instituicao      Código da instituição do servidor
  * @param  string      $str_tipo                     'livre' para buscar apenas por servidores não alocados (subquery)
  * @param  array       $array_horario                Busca por horário de alocação do servidor (subquery)
  * @param  int         $str_not_in_servidor          Código de servidor a excluir
  * @param  string      $str_nome_servidor            Busca do tipo LIKE pelo padrão de nome do servidor (subquery)
  * @param  int|string  $boo_professor                Qualquer valor que avalie para TRUE para buscar por servidores professores (subquery)
  * @param  string      $str_horario                  'S' para buscar se o servidor está alocado em um dos horários (indicados $matutino, $vespertino ou $noturno) (subquery)
  * @param  bool        $bool_ordena_por_nome         TRUE para ordenar os resultados pelo campo nome por ordem alfabética crescente
  * @param  string      $lst_matriculas               Verifica se o servidor não está na lista de matriculas (string com inteiros separados por vírgula: 54, 55, 60).
  *                                                   Apenas verifica quando a buscar por horário de alocação é realizada
  * @param  bool        $matutino                     Busca por professores com horário livre no período matutino
  * @param  bool        $vespertino                   Busca por professores com horário livre no período vespertino
  * @param  bool        $noturno                      Busca por professores com horário livre no período noturno
  * @param  int         $int_ref_cod_escola           Código da escola para verificar se o servidor está alocado nela (usado em várias das subqueries)
  * @param  string      $str_hr_mat                   Duração da aula (formato HH:MM) para o período matutino
  * @param  string      $str_hr_ves                   Duração da aula (formato HH:MM) para o período vespertino
  * @param  string      $str_hr_not                   Duração da aula (formato HH:MM) para o período noturno
  * @param  int         $int_dia_semana               Inteiro para o dia da semana (1 = domingo, 7 = sábado)
  * @param  int         $alocacao_escola_instituicao  Código da instituição ao qual o servidor deve estar cadastrado (subquery)
  * @param  int         $int_identificador            Campo identificado para busca na tabela pmieducar.quadro_horario_horarios_aux (subquery)
  * @param  int         $int_ref_cod_curso            Código do curso que o professor deve estar cadastrado (subquery)
  * @param  int         $int_ref_cod_disciplina       Código da disciplina que o professor deve ser habilitado (subquery).
  *                                                   Somente verifica quando o curso passado por $int_ref_cod_curso não
  *                                                   possui sistema de falta globalizada
  * @param  int         $int_ref_cod_subnivel         Código de subnível que o servidor deve possuir
  * @return array|bool  Array com os resultados da query SELECT ou FALSE caso
  *                     nenhum registro tenha sido encontrado
  */
 function lista($int_cod_servidor = NULL, $int_ref_cod_deficiencia = NULL, $int_ref_idesco = NULL, $int_carga_horaria = NULL, $date_data_cadastro_ini = NULL, $date_data_cadastro_fim = NULL, $date_data_exclusao_ini = NULL, $date_data_exclusao_fim = NULL, $int_ativo = NULL, $int_ref_cod_instituicao = NULL, $str_tipo = NULL, $array_horario = NULL, $str_not_in_servidor = NULL, $str_nome_servidor = NULL, $boo_professor = FALSE, $str_horario = NULL, $bool_ordena_por_nome = FALSE, $lst_matriculas = NULL, $matutino = FALSE, $vespertino = FALSE, $noturno = FALSE, $int_ref_cod_escola = NULL, $str_hr_mat = NULL, $str_hr_ves = NULL, $str_hr_not = NULL, $int_dia_semana = NULL, $alocacao_escola_instituicao = NULL, $int_identificador = NULL, $int_ref_cod_curso = NULL, $int_ref_cod_disciplina = NULL, $int_ref_cod_subnivel = NULL)
 {
     // Extrai as informações de hora inicial e hora final, para definir melhor
     // o lookup de carga horária de servidores alocados, para operações como
     // a alocação de docente em quadro de horário. Isso é necessário para que
     // não seja necessário alocar o docente em dois períodos diferentes apenas
     // porque o horário final de uma aula extrapola o limite de horário do
     // período.
     if (is_array($array_horario) && 3 >= count($array_horario)) {
         $horarioInicial = explode(':', $array_horario[1]);
         $horarioFinal = explode(':', $array_horario[2]);
         $horarioInicial = $horarioInicial[0] * 60 + $horarioInicial[1];
         $horarioFinal = $horarioFinal[0] * 60 + $horarioFinal[1];
         // Caso o horário definido inicie no período "matutino" e se encerre no
         // período "vespertino", irá considerar como "matutino" apenas.
         $matutinoLimite = 12 * 60;
         if ($horarioInicial < $matutinoLimite && $horarioFinal > $matutinoLimite) {
             $vespertino = false;
         }
         // Caso o horário definido inicie no período "vespertino" e se encerre
         // no período "noturno", irá considerar como "vespertino" apenas.
         $vespertinoLimite = 18 * 60;
         if ($horarioInicial < $vespertinoLimite && $horarioFinal > $vespertinoLimite) {
             $noturno = false;
         }
     }
     $whereAnd = ' WHERE ';
     $filtros = '';
     $tabela_compl = '';
     if (is_bool($bool_ordena_por_nome)) {
         $tabela_compl .= ', cadastro.pessoa p';
         $this->_campos_lista2 .= ', p.nome';
         $filtros .= $whereAnd . ' s.cod_servidor = p.idpes ';
         $whereAnd = ' AND ';
         $this->setOrderby('nome');
     } else {
         $this->_campos_lista2 = $this->_todos_campos2;
         $this->setOrderby(' 1 ');
     }
     $sql = "SELECT {$this->_campos_lista2} FROM {$this->_schema}servidor s{$tabela_compl}";
     if (is_numeric($int_cod_servidor)) {
         $filtros .= "{$whereAnd} s.cod_servidor = '{$int_cod_servidor}'";
         $whereAnd = " AND ";
     }
     if (is_numeric($int_ref_cod_deficiencia)) {
         $filtros .= "{$whereAnd} s.ref_cod_deficiencia = '{$int_ref_cod_deficiencia}'";
         $whereAnd = " AND ";
     }
     if (is_numeric($int_ref_idesco)) {
         $filtros .= "{$whereAnd} s.ref_idesco = '{$int_ref_idesco}'";
         $whereAnd = " AND ";
     }
     if (is_numeric($int_carga_horaria)) {
         $filtros .= "{$whereAnd} s.carga_horaria = '{$int_carga_horaria}'";
         $whereAnd = " AND ";
     }
     if (is_string($date_data_cadastro_ini)) {
         $filtros .= "{$whereAnd} s.data_cadastro >= '{$date_data_cadastro_ini}'";
         $whereAnd = " AND ";
     }
     if (is_string($date_data_cadastro_fim)) {
         $filtros .= "{$whereAnd} s.data_cadastro <= '{$date_data_cadastro_fim}'";
         $whereAnd = " AND ";
     }
     if (is_string($date_data_exclusao_ini)) {
         $filtros .= "{$whereAnd} s.data_exclusao >= '{$date_data_exclusao_ini}'";
         $whereAnd = " AND ";
     }
     if (is_string($date_data_exclusao_fim)) {
         $filtros .= "{$whereAnd} s.data_exclusao <= '{$date_data_exclusao_fim}'";
         $whereAnd = " AND ";
     }
     if (is_null($int_ativo) || $int_ativo) {
         $filtros .= "{$whereAnd} s.ativo = '1'";
         $whereAnd = " AND ";
     } else {
         $filtros .= "{$whereAnd} s.ativo = '0'";
         $whereAnd = " AND ";
     }
     if (is_numeric($int_ref_cod_instituicao)) {
         $filtros .= "{$whereAnd} s.ref_cod_instituicao = '{$int_ref_cod_instituicao}'";
         $whereAnd = " AND ";
     }
     // Busca tipo LIKE pelo nome do servidor
     if (is_string($str_nome_servidor)) {
         $filtros .= "{$whereAnd} EXISTS (SELECT 1\n  FROM cadastro.pessoa p\n  WHERE cod_servidor = p.idpes\n  AND to_ascii(p.nome) LIKE to_ascii('%{$str_nome_servidor}%')) ";
         $whereAnd = " AND ";
     }
     // Seleciona apenas servidores que tenham a carga atual maior ou igual ao
     // do servidor atual
     if (is_string($str_tipo) && $str_tipo == 'livre') {
         if (is_numeric($int_ref_cod_instituicao)) {
             $where = " AND s.ref_cod_instituicao      = '{$int_ref_cod_instituicao}' ";
             $where2 = " AND sa.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}' ";
         }
         $filtros .= "\n  {$whereAnd} NOT EXISTS\n    (SELECT 1\n    FROM pmieducar.servidor_alocacao sa\n    WHERE sa.ref_cod_servidor = s.cod_servidor {$where2})";
         $filtros .= "\n  {$whereAnd} (s.carga_horaria::text || ':00:00') >= COALESCE(\n    (SELECT SUM(carga_horaria::time)::text\n    FROM pmieducar.servidor_alocacao saa\n    WHERE saa.ref_cod_servidor = {$str_not_in_servidor}),'00:00') {$where}";
         $whereAnd = " AND ";
     } else {
         if (is_numeric($alocacao_escola_instituicao) && (is_numeric($int_ref_cod_instituicao) || is_numeric($int_ref_cod_escola))) {
             $filtros .= "\n    {$whereAnd} s.cod_servidor IN\n      (SELECT a.ref_cod_servidor\n        FROM pmieducar.servidor_alocacao a\n        WHERE ";
             if (is_numeric($int_ref_cod_instituicao)) {
                 $filtros .= " a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}'";
             }
             if (is_numeric($int_ref_cod_escola)) {
                 if (is_numeric($int_ref_cod_instituicao)) {
                     $filtros .= " " . $whereAnd;
                 }
                 $filtros .= " ref_cod_escola = '{$int_ref_cod_escola}' ";
             }
             $filtros .= ') ';
         }
         if (is_array($array_horario)) {
             $cond = "AND";
             if (is_numeric($int_ref_cod_instituicao)) {
                 $where .= " {$cond} a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}' ";
                 $cond = "AND";
             }
             if (is_numeric($int_ref_cod_escola)) {
                 $where .= " {$cond} a.ref_cod_escola = '{$int_ref_cod_escola}' ";
                 $cond = "AND";
             }
             $where .= " {$cond} a.ativo = '1'";
             $cond = "AND";
             $hora_ini = explode(":", $array_horario[1]);
             $hora_fim = explode(":", $array_horario[2]);
             $horas = sprintf("%02d", (int) abs($hora_fim[0]) - abs($hora_ini[0]));
             $minutos = sprintf("%02d", (int) abs($hora_fim[1]) - abs($hora_ini[1]));
             // Remove qualquer AND que esteja no início da cláusula SQL
             $wherePieces = explode(' ', trim($where));
             if ('AND' == $wherePieces[0]) {
                 array_shift($wherePieces);
                 $where = implode(' ', $wherePieces);
             }
             if ($matutino) {
                 if (is_string($str_horario) && $str_horario == "S") {
                     // A somatória retorna nulo
                     $filtros .= "\n    {$whereAnd} s.cod_servidor IN (SELECT a.ref_cod_servidor\n      FROM pmieducar.servidor_alocacao a\n      WHERE {$where}\n      AND a.periodo = 1\n      AND a.carga_horaria >= COALESCE(\n      (SELECT SUM(qhh.hora_final - qhh.hora_inicial)\n        FROM pmieducar.quadro_horario_horarios qhh\n        WHERE qhh.ref_cod_instituicao_servidor = '{$int_ref_cod_instituicao}'\n        AND qhh.ref_cod_escola = '{$int_ref_cod_escola}'\n        AND hora_inicial >= '06:00'\n        AND hora_inicial <= '12:00'\n        AND qhh.ativo = '1'\n        AND qhh.dia_semana <> '{$int_dia_semana}'\n        AND qhh.ref_servidor = a.ref_cod_servidor\n        GROUP BY qhh.ref_servidor) ,'00:00')  + '{$str_hr_mat}' + COALESCE(\n        (SELECT SUM( qhha.hora_final - qhha.hora_inicial )\n          FROM pmieducar.quadro_horario_horarios_aux qhha\n          WHERE qhha.ref_cod_instituicao_servidor = '{$int_ref_cod_instituicao}'\n          AND qhha.ref_cod_escola = {$int_ref_cod_escola}\n          AND hora_inicial >= '06:00'\n          AND hora_inicial <= '12:00'\n          AND qhha.ref_servidor = a.ref_cod_servidor\n          AND identificador = '{$int_identificador}'\n          GROUP BY qhha.ref_servidor),'00:00'))";
                 } else {
                     $filtros .= "\n      {$whereAnd} s.cod_servidor NOT IN (SELECT a.ref_cod_servidor\n        FROM pmieducar.servidor_alocacao a\n        WHERE {$where}\n        AND a.periodo = 1)";
                 }
             }
             if ($vespertino) {
                 if (is_string($str_horario) && $str_horario == "S") {
                     $filtros .= "\n      {$whereAnd} s.cod_servidor IN\n        (SELECT a.ref_cod_servidor\n          FROM pmieducar.servidor_alocacao a\n          WHERE {$where}\n          AND a.periodo = 2\n          AND a.carga_horaria >= COALESCE(\n            (SELECT SUM( qhh.hora_final - qhh.hora_inicial )\n            FROM pmieducar.quadro_horario_horarios qhh\n            WHERE qhh.ref_cod_instituicao_servidor = '{$int_ref_cod_instituicao}'\n            AND qhh.ref_cod_escola = '{$int_ref_cod_escola}'\n            AND qhh.ativo = '1'\n            AND hora_inicial >= '12:00'\n            AND hora_inicial <= '18:00'\n            AND qhh.dia_semana <> '{$int_dia_semana}'\n            AND qhh.ref_servidor = a.ref_cod_servidor\n            GROUP BY qhh.ref_servidor ),'00:00') + '{$str_hr_ves}' +  COALESCE(\n            (SELECT SUM( qhha.hora_final - qhha.hora_inicial )\n              FROM pmieducar.quadro_horario_horarios_aux qhha\n              WHERE qhha.ref_cod_instituicao_servidor = '{$int_ref_cod_instituicao}'\n              AND qhha.ref_cod_escola = '{$int_ref_cod_escola}'\n              AND qhha.ref_servidor = a.ref_cod_servidor\n              AND hora_inicial >= '12:00'\n              AND hora_inicial <= '18:00'\n              AND identificador = '{$int_identificador}'\n              GROUP BY qhha.ref_servidor),'00:00') )";
                 } else {
                     $filtros .= "\n      {$whereAnd} s.cod_servidor NOT IN ( SELECT a.ref_cod_servidor\n        FROM pmieducar.servidor_alocacao a\n        WHERE {$where}\n        AND a.periodo = 2 )";
                 }
             }
             if ($noturno) {
                 if (is_string($str_horario) && $str_horario == "S") {
                     $filtros .= "\n      {$whereAnd} s.cod_servidor IN ( SELECT a.ref_cod_servidor\n        FROM pmieducar.servidor_alocacao a\n        WHERE {$where}\n        AND a.periodo = 3\n        AND a.carga_horaria >= COALESCE(\n        (SELECT SUM(qhh.hora_final - qhh.hora_inicial)\n          FROM pmieducar.quadro_horario_horarios qhh\n          WHERE qhh.ref_cod_instituicao_servidor = '{$int_ref_cod_instituicao}'\n          AND qhh.ref_cod_escola = '{$int_ref_cod_escola}'\n          AND qhh.ativo = '1'\n          AND hora_inicial >= '18:00'\n          AND hora_inicial <= '23:59'\n          AND qhh.dia_semana <> '{$int_dia_semana}'\n          AND qhh.ref_servidor = a.ref_cod_servidor\n          GROUP BY qhh.ref_servidor ),'00:00')  + '{$str_hr_not}' +  COALESCE(\n            (SELECT SUM( qhha.hora_final - qhha.hora_inicial )\n            FROM pmieducar.quadro_horario_horarios_aux qhha\n            WHERE qhha.ref_cod_instituicao_servidor = '{$int_ref_cod_instituicao}'\n            AND qhha.ref_cod_escola = '{$int_ref_cod_escola}'\n            AND qhha.ref_servidor = a.ref_cod_servidor\n            AND hora_inicial >= '18:00'\n            AND hora_inicial <= '23:59'\n            AND identificador = '{$int_identificador}'\n            GROUP BY qhha.ref_servidor),'00:00') )";
                 } else {
                     $filtros .= "\n      {$whereAnd} s.cod_servidor NOT IN (\n      SELECT a.ref_cod_servidor\n        FROM pmieducar.servidor_alocacao a\n        WHERE {$where}\n        AND a.periodo = 3 )";
                 }
             }
             if (is_string($str_horario) && $str_horario == "S") {
             } else {
                 $filtros .= "\n      {$whereAnd} s.carga_horaria >= COALESCE(\n        (SELECT sum(hora_final - hora_inicial) + '" . abs($horas) . ":" . abs($minutos) . "'\n          FROM pmieducar.servidor_alocacao sa\n          WHERE sa.ref_cod_servidor = s.cod_servidor\n          AND sa.ref_ref_cod_instituicao ='{$int_ref_cod_instituicao}'),'00:00') ";
             }
         }
     }
     if (is_array($array_horario) && $str_not_in_servidor || is_string($str_tipo) && $str_not_in_servidor) {
         $filtros .= "{$whereAnd} s.cod_servidor NOT IN ( {$str_not_in_servidor} )";
         $whereAnd = " AND ";
     }
     $obj_curso = new clsPmieducarCurso($int_ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     // Seleciona apenas servidor cuja uma de suas funções seja a de professor
     // @todo Extract method
     if ($boo_professor) {
         /*
          * Caso os códigos de disciplina e de curso não sejam informado, mas o de
          * servidor para não buscar sim, seleciona as disciplinas deste servidor
          * com o qual o professor candidato terá que lecionar para ser retornado
          * na query.
          */
         if (!$int_ref_cod_disciplina && !$int_ref_cod_curso) {
             $servidorDisciplina = new clsPmieducarServidorDisciplina();
             $disciplinas = $servidorDisciplina->lista(NULL, NULL, $str_not_in_servidor);
             $servidorDisciplinas = array();
             if (is_array($disciplinas)) {
                 foreach ($disciplinas as $disciplina) {
                     $servidorDisciplinas[] = sprintf('(sd.ref_cod_disciplina = %d AND sd.ref_cod_curso = %d)', $disciplina['ref_cod_disciplina'], $disciplina['ref_cod_curso']);
                 }
                 $servidorDisciplinas = sprintf('AND (%s)', implode(' AND ', $servidorDisciplinas));
             } else {
                 $servidorDisciplinas = '';
             }
         } else {
             $servidorDisciplinas = sprintf('AND sd.ref_cod_disciplina = %d AND sd.ref_cod_curso = %d', $int_ref_cod_disciplina, $int_ref_cod_curso);
         }
         $filtros .= "\n    {$whereAnd} EXISTS\n      (SELECT\n         1\n       FROM\n         pmieducar.servidor_funcao sf, pmieducar.funcao f, pmieducar.servidor_disciplina sd\n       WHERE\n        f.cod_funcao = sf.ref_cod_funcao AND\n        f.professor = 1 AND\n        sf.ref_ref_cod_instituicao = s.ref_cod_instituicao AND\n        s.cod_servidor = sf.ref_cod_servidor AND\n        s.cod_servidor = sd.ref_cod_servidor AND\n        s.ref_cod_instituicao = sd.ref_ref_cod_instituicao\n        {$servidorDisciplinas})";
         $whereAnd = " AND ";
     }
     if (is_string($str_horario) && $str_horario == "S") {
         $filtros .= "\n    {$whereAnd} s.cod_servidor NOT IN\n      (SELECT DISTINCT qhh.ref_servidor\n        FROM pmieducar.quadro_horario_horarios qhh\n        WHERE qhh.ref_servidor = s.cod_servidor\n        AND qhh.ref_cod_instituicao_servidor = s.ref_cod_instituicao\n        AND qhh.dia_semana = '{$array_horario[0]}'\n        AND qhh.hora_inicial >= '{$array_horario[1]}'\n        AND qhh.hora_final <= '{$array_horario[2]}'\n        AND qhh.ativo = '1'";
         if (is_string($lst_matriculas)) {
             $filtros .= "AND qhh.ref_servidor NOT IN ({$lst_matriculas})";
         }
         $filtros .= " )";
         $whereAnd = " AND ";
     }
     if (is_numeric($int_ref_cod_subnivel)) {
         $filtros .= "{$whereAnd} s.ref_cod_subnivel = '{$int_ref_cod_subnivel}'";
         $whereAnd = " AND ";
     }
     $countCampos = count(explode(',', $this->_campos_lista));
     $resultado = array();
     $db = new clsBanco();
     $sql = "SELECT {$this->_campos_lista2} FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}" . $this->getOrderby() . $this->getLimite();
     $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}");
     // Executa a query
     $db->Consulta($sql);
     if ($countCampos > 1) {
         while ($db->ProximoRegistro()) {
             $tupla = $db->Tupla();
             $tupla['_total'] = $this->_total;
             $resultado[] = $tupla;
         }
     } else {
         while ($db->ProximoRegistro()) {
             $tupla = $db->Tupla();
             $resultado[] = $tupla[$this->_campos_lista];
         }
     }
     if (count($resultado)) {
         return $resultado;
     }
     return FALSE;
 }
Example #15
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Curso - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_curso = $_GET["cod_curso"];
     $tmp_obj = new clsPmieducarCurso($this->cod_curso);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header("location: educar_curso_lst.php");
         die;
     }
     if (class_exists("clsPmieducarInstituicao")) {
         $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
         $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
         $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
     } else {
         $registro["ref_cod_instituicao"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarInstituicao\n-->";
     }
     if (class_exists("clsPmieducarTipoRegime")) {
         $obj_ref_cod_tipo_regime = new clsPmieducarTipoRegime($registro["ref_cod_tipo_regime"]);
         $det_ref_cod_tipo_regime = $obj_ref_cod_tipo_regime->detalhe();
         $registro["ref_cod_tipo_regime"] = $det_ref_cod_tipo_regime["nm_tipo"];
     } else {
         $registro["ref_cod_tipo_regime"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoRegime\n-->";
     }
     if (class_exists("clsPmieducarTipoEnsino")) {
         $obj_ref_cod_tipo_ensino = new clsPmieducarTipoEnsino($registro["ref_cod_tipo_ensino"]);
         $det_ref_cod_tipo_ensino = $obj_ref_cod_tipo_ensino->detalhe();
         $registro["ref_cod_tipo_ensino"] = $det_ref_cod_tipo_ensino["nm_tipo"];
     } else {
         $registro["ref_cod_tipo_ensino"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoEnsino\n-->";
     }
     if (class_exists("clsPmieducarTipoAvaliacao")) {
         $obj_ref_cod_tipo_avaliacao = new clsPmieducarTipoAvaliacao($registro["ref_cod_tipo_avaliacao"]);
         $det_ref_cod_tipo_avaliacao = $obj_ref_cod_tipo_avaliacao->detalhe();
         $registro["ref_cod_tipo_avaliacao"] = $det_ref_cod_tipo_avaliacao["nm_tipo"];
     } else {
         $registro["ref_cod_tipo_avaliacao"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoAvaliacao\n-->";
     }
     if (class_exists("clsPmieducarNivelEnsino")) {
         $obj_ref_cod_nivel_ensino = new clsPmieducarNivelEnsino($registro["ref_cod_nivel_ensino"]);
         $det_ref_cod_nivel_ensino = $obj_ref_cod_nivel_ensino->detalhe();
         $registro["ref_cod_nivel_ensino"] = $det_ref_cod_nivel_ensino["nm_nivel"];
     } else {
         $registro["ref_cod_nivel_ensino"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarNivelEnsino\n-->";
     }
     if (class_exists("clsPmieducarUsuario")) {
         $obj_ref_usuario_cad = new clsPmieducarUsuario($registro["ref_usuario_cad"]);
         $det_ref_usuario_cad = $obj_ref_usuario_cad->detalhe();
         $registro["ref_usuario_cad"] = $det_ref_usuario_cad["data_cadastro"];
     } else {
         $registro["ref_usuario_cad"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarUsuario\n-->";
     }
     if (class_exists("clsPmieducarUsuario")) {
         $obj_ref_usuario_exc = new clsPmieducarUsuario($registro["ref_usuario_exc"]);
         $det_ref_usuario_exc = $obj_ref_usuario_exc->detalhe();
         $registro["ref_usuario_exc"] = $det_ref_usuario_exc["data_cadastro"];
     } else {
         $registro["ref_usuario_exc"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarUsuario\n-->";
     }
     if ($registro["ref_cod_nivel_ensino"]) {
         $this->addDetalhe(array("Nivel Ensino", "{$registro["ref_cod_nivel_ensino"]}"));
     }
     if ($registro["ref_cod_tipo_ensino"]) {
         $this->addDetalhe(array("Tipo Ensino", "{$registro["ref_cod_tipo_ensino"]}"));
     }
     if ($registro["ref_cod_tipo_avaliacao"]) {
         $this->addDetalhe(array("Tipo Avaliac&atilde;o", "{$registro["ref_cod_tipo_avaliacao"]}"));
     }
     if ($registro["nm_curso"]) {
         $this->addDetalhe(array("Nome Curso", "{$registro["nm_curso"]}"));
     }
     if ($registro["sgl_curso"]) {
         $this->addDetalhe(array("Sgl Curso", "{$registro["sgl_curso"]}"));
     }
     if ($registro["qtd_etapas"]) {
         $this->addDetalhe(array("Qtd Etapas", "{$registro["qtd_etapas"]}"));
     }
     if ($registro["frequencia_minima"]) {
         $this->addDetalhe(array("Frequencia Minima", number_format($registro["frequencia_minima"], 2, ",", ".")));
     }
     if ($registro["media"]) {
         $this->addDetalhe(array("Media", number_format($registro["media"], 2, ",", ".")));
     }
     if ($registro["falta_ch_globalizada"]) {
         $this->addDetalhe(array("Falta Ch Globalizada", $registro["falta_ch_globalizada"] == 1 ? "sim" : "n&atilde;o"));
     }
     if ($registro["carga_horaria"]) {
         $this->addDetalhe(array("Carga Horaria", number_format($registro["carga_horaria"], 2, ",", ".")));
     }
     if ($registro["ato_poder_publico"]) {
         $this->addDetalhe(array("Ato Poder Publico", "{$registro["ato_poder_publico"]}"));
     }
     if ($registro["edicao_final"]) {
         $this->addDetalhe(array("Edic&atilde;o Final", $registro["edicao_final"] == 1 ? "sim" : "n&atilde;o"));
     }
     if ($registro["objetivo_curso"]) {
         $this->addDetalhe(array("Objetivo Curso", "{$registro["objetivo_curso"]}"));
     }
     if ($registro["publico_alvo"]) {
         $this->addDetalhe(array("Publico Alvo", "{$registro["publico_alvo"]}"));
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(0, $this->pessoa_logada, 0)) {
         $this->url_novo = "educar_curso_cad.php";
         $this->url_editar = "educar_curso_cad.php?cod_curso={$registro["cod_curso"]}";
     }
     $this->url_cancelar = "educar_curso_lst.php";
     $this->largura = "100%";
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
     }
     $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     $fonte = 'arial';
     $corTexto = '#000000';
     $obj_curso = new clsPmieducarCurso();
     $obj_curso->setOrderby('nm_curso');
     $lst_curso = $obj_curso->lista($this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, $this->ref_cod_instituicao);
     if ($lst_curso) {
         foreach ($lst_curso as $curso) {
             $obj_serie = new clsPmieducarSerie();
             $obj_serie->setOrderby('nm_serie');
             $lst_serie = $obj_serie->lista($this->ref_cod_serie, NULL, NULL, $curso['cod_curso'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao, NULL, NULL, NULL, $this->ref_cod_escola);
             $quadro_horario = 0;
             if ($lst_serie) {
                 foreach ($lst_serie as $serie) {
                     $obj_turma = new clsPmieducarTurma();
                     $obj_turma->setOrderby('nm_turma');
                     $lst_turma = $obj_turma->lista($this->ref_cod_turma, NULL, NULL, $serie['cod_serie'], $this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, $curso['cod_curso'], $this->ref_cod_instituicao);
                     if ($lst_turma) {
                         foreach ($lst_turma as $turma) {
                             $obj_quadro = new clsPmieducarQuadroHorario(NULL, NULL, NULL, $turma['cod_turma'], NULL, NULL, 1);
                             $det_quadro = $obj_quadro->detalhe();
                             if ($det_quadro) {
                                 if (!$this->pdf) {
                                     $this->pdf = new clsPDF('Quadro Horarios', 'Quadro Horarios', 'A4', '', FALSE, FALSE);
                                 }
                                 if ($quadro_horario % 3 == 0) {
                                     $this->page_y = 15;
                                     $this->pdf->OpenPage();
                                     $this->addCabecalho();
                                     $quadro_horario = 0;
                                 }
                                 $this->pdf->escreve_relativo($turma['nm_turma'] . ' -  ' . $serie['nm_serie'], 20, $this->page_y - 7, 550, 20, $fonte, 11, $corTexto, 'center');
                                 $this->page_y += 10;
                                 $this->pdf->quadrado_relativo(35, $this->page_y, 525, 20, 0.3, '#777777', '#777777');
                                 $inicio_x = 35;
                                 for ($dia_semana = 1; $dia_semana <= 7; $dia_semana++) {
                                     $this->pdf->linha_relativa($inicio_x, $this->page_y, 0, 20);
                                     $this->pdf->escreve_relativo($this->array_dias_semana[$dia_semana], $inicio_x, $this->page_y + 3, 75, 20, $fonte, 11, $corTexto, 'center');
                                     $inicio_x += 75;
                                 }
                                 $this->page_y += 20;
                                 $inicio_y = $this->page_y;
                                 $inicio_x = 35;
                                 $this->pdf->quadrado_relativo($inicio_x, $this->page_y, 525, 200, 0.3);
                                 for ($dia_semana = 1; $dia_semana <= 7; $dia_semana++) {
                                     $obj_horarios = new clsPmieducarQuadroHorarioHorarios();
                                     $resultado = $obj_horarios->retornaHorario($this->ref_cod_instituicao, $this->ref_cod_escola, $serie['cod_serie'], $turma['cod_turma'], $dia_semana);
                                     if (is_array($resultado)) {
                                         foreach ($resultado as $registro) {
                                             $this->pdf->quadrado_relativo($inicio_x, $this->page_y, 75, 50, 0.3);
                                             $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper();
                                             $componente = $componenteMapper->find($registro['ref_cod_disciplina']);
                                             $obj_servidor = new clsPmieducarServidor();
                                             $det_servidor = array_shift($obj_servidor->lista($registro['ref_servidor'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, TRUE));
                                             $det_servidor['nome'] = array_shift(explode(' ', $det_servidor['nome']));
                                             $texto = sprintf("%s - %s\n%s\n%s", substr($registro['hora_inicial'], 0, 5), substr($registro["hora_final"], 0, 5), $componente->abreviatura, $det_servidor['nome']);
                                             $this->pdf->escreve_relativo($texto, $inicio_x, $this->page_y + 12, 75, 50, $fonte, 10, $corTexto, 'center');
                                             $this->page_y += 50;
                                         }
                                     }
                                     $inicio_x += 75;
                                     $this->page_y = $inicio_y;
                                 }
                                 $this->page_y += 220;
                             }
                             $quadro_horario++;
                         }
                     }
                 }
             }
         }
     }
     if ($this->pdf) {
         $this->pdf->CloseFile();
         $this->get_link = $this->pdf->GetLink();
     } else {
         echo '
     <script>
       alert("A(s) turma(s) não possui(em) quadro de horário(s).");
       window.parent.fechaExpansivel("div_dinamico_" + (window.parent.DOM_divs.length-1));
     </script>';
         return;
     }
     echo sprintf('
   <script>
     window.onload=function()
     {
       parent.EscondeDiv("LoadImprimir");
       window.location="download.php?filename=%s"
     }
   </script>', $this->get_link);
     echo sprintf('
   <html>
     <center>Se o download não iniciar automaticamente <br />
     <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br /><br />
     <span style="font-size: 10px;">Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br />
       Clique na Imagem para Baixar o instalador<br /><br />
       <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
     </span>
   </center>', $this->get_link);
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Sequ&ecirc;ncia Enturma&ccedil;&atilde;o - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $lista_busca = array("Curso Origem", "S&eacute;rie Origem", "Curso Destino", "S&eacute;rie Destino");
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = "Institui&ccedil;&atilde;o";
     }
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     if ($nivel_usuario == 1) {
         $objInstituicao = new clsPmieducarInstituicao();
         $opcoes = array("" => "Selecione");
         $objInstituicao->setOrderby("nm_instituicao ASC");
         $lista = $objInstituicao->lista();
         if (is_array($lista)) {
             foreach ($lista as $linha) {
                 $opcoes[$linha["cod_instituicao"]] = $linha["nm_instituicao"];
             }
         }
         $this->campoLista("ref_cod_instituicao", "Institui&ccedil;&atilde;o", $opcoes, $this->ref_cod_instituicao, "", null, null, null, null, false);
     } else {
         $obj_usuario = new clsPmieducarUsuario($this->pessoa_logada);
         $obj_usuario_det = $obj_usuario->detalhe();
         $this->ref_cod_instituicao = $obj_usuario_det["ref_cod_instituicao"];
     }
     $opcoes = array("" => "Selecione");
     $opcoes_ = array("" => "Selecione");
     if (class_exists("clsPmieducarCurso")) {
         /*$todos_cursos = "curso = new Array();\n";
         		$objTemp = new clsPmieducarCurso();
         		$objTemp->setOrderby("nm_curso");
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todos_cursos .= "curso[curso.length] = new Array({$registro["cod_curso"]},'{$registro["nm_curso"]}', {$registro["ref_cod_instituicao"]});\n";
         			}
         		}
         		echo "<script>{$todos_cursos}</script>";*/
         // EDITAR
         if ($this->ref_cod_instituicao) {
             $objTemp = new clsPmieducarCurso();
             $objTemp->setOrderby("nm_curso");
             $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes[$registro["cod_curso"]] = $registro["nm_curso"];
                     $opcoes_[$registro["cod_curso"]] = $registro["nm_curso"];
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarCurso n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na gera&ccedil;&atilde;o");
     }
     $this->campoLista("ref_curso_origem", "Curso Origem", $opcoes, $this->ref_curso_origem, "", true, "", "", false, false);
     $this->campoLista("ref_curso_destino", " Curso Destino", $opcoes_, $this->ref_curso_destino, "", false, "", "", false, false);
     // primary keys
     $opcoes = array("" => "Selecione");
     $opcoes_ = array("" => "Selecione");
     if (class_exists("clsPmieducarSerie")) {
         /*$todas_series = "serie = new Array();\n";
         		$objTemp = new clsPmieducarSerie();
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todas_series .= "serie[serie.length] = new Array({$registro["cod_serie"]},'{$registro["nm_serie"]}', {$registro["ref_cod_curso"]});\n";
         			}
         		}
         		echo "<script>{$todas_series}</script>";*/
         if ($this->ref_curso_origem) {
             $objTemp = new clsPmieducarSerie();
             $lista = $objTemp->lista(null, null, null, $this->ref_curso_origem, null, null, null, null, null, null, null, null, 1);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes[$registro["cod_serie"]] = $registro["nm_serie"];
                 }
             }
         }
         if ($this->ref_curso_destino) {
             $objTemp = new clsPmieducarSerie();
             $lista = $objTemp->lista(null, null, null, $this->ref_curso_destino, null, null, null, null, null, null, null, null, 1);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes_[$registro["cod_serie"]] = $registro["nm_serie"];
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarSerie n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
         $opcoes_ = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_serie_origem", "S&eacute;rie Origem", $opcoes, $this->ref_serie_origem, null, true, "", "", false, false);
     $this->campoLista("ref_serie_destino", " S&eacute;rie Destino", $opcoes_, $this->ref_serie_destino, "", false, "", "", false, false);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_sequencia_serie = new clsPmieducarSequenciaSerie();
     $obj_sequencia_serie->setOrderby("data_cadastro ASC");
     $obj_sequencia_serie->setLimite($this->limite, $this->offset);
     $lista = $obj_sequencia_serie->lista($this->ref_serie_origem, $this->ref_serie_destino, null, null, null, null, null, null, 1, $this->ref_curso_origem, $this->ref_curso_destino, $this->ref_cod_instituicao);
     $total = $obj_sequencia_serie->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // pega detalhes de foreign_keys
             if (class_exists("clsPmieducarSerie")) {
                 $obj_ref_serie_origem = new clsPmieducarSerie($registro["ref_serie_origem"]);
                 $det_ref_serie_origem = $obj_ref_serie_origem->detalhe();
                 $serie_origem = $det_ref_serie_origem["nm_serie"];
                 $registro["ref_curso_origem"] = $det_ref_serie_origem["ref_cod_curso"];
                 if (class_exists("clsPmieducarCurso")) {
                     $obj_ref_curso_origem = new clsPmieducarCurso($registro["ref_curso_origem"]);
                     $det_ref_curso_origem = $obj_ref_curso_origem->detalhe();
                     $registro["ref_curso_origem"] = $det_ref_curso_origem["nm_curso"];
                     $registro["ref_cod_instituicao"] = $det_ref_curso_origem["ref_cod_instituicao"];
                     if (class_exists("clsPmieducarInstituicao")) {
                         $obj_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                         $det_instituicao = $obj_instituicao->detalhe();
                         $registro["ref_cod_instituicao"] = $det_instituicao["nm_instituicao"];
                     } else {
                         $registro["ref_cod_instituicao"] = "Erro na gera&ccedil;&atilde;o";
                         echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
                     }
                 } else {
                     $registro["ref_cod_origem"] = "Erro na gera&ccedil;&atilde;o";
                     echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarCurso\n-->";
                 }
             } else {
                 $registro["ref_serie_origem"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarSerie\n-->";
             }
             if (class_exists("clsPmieducarSerie")) {
                 $obj_ref_serie_destino = new clsPmieducarSerie($registro["ref_serie_destino"]);
                 $det_ref_serie_destino = $obj_ref_serie_destino->detalhe();
                 $serie_destino = $det_ref_serie_destino["nm_serie"];
                 $registro["ref_curso_destino"] = $det_ref_serie_destino["ref_cod_curso"];
                 if (class_exists("clsPmieducarCurso")) {
                     $obj_ref_curso_destino = new clsPmieducarCurso($registro["ref_curso_destino"]);
                     $det_ref_curso_destino = $obj_ref_curso_destino->detalhe();
                     $registro["ref_curso_destino"] = $det_ref_curso_destino["nm_curso"];
                 } else {
                     $registro["ref_cod_destino"] = "Erro na gera&ccedil;&atilde;o";
                     echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarCurso\n-->";
                 }
             } else {
                 $registro["ref_serie_destino"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarSerie\n-->";
             }
             $lista_busca = array("<a href=\"educar_sequencia_serie_det.php?ref_serie_origem={$registro["ref_serie_origem"]}&ref_serie_destino={$registro["ref_serie_destino"]}\">{$registro["ref_curso_origem"]}</a>", "<a href=\"educar_sequencia_serie_det.php?ref_serie_origem={$registro["ref_serie_origem"]}&ref_serie_destino={$registro["ref_serie_destino"]}\">{$serie_origem}</a>", "<a href=\"educar_sequencia_serie_det.php?ref_serie_origem={$registro["ref_serie_origem"]}&ref_serie_destino={$registro["ref_serie_destino"]}\">{$registro["ref_curso_destino"]}</a>", "<a href=\"educar_sequencia_serie_det.php?ref_serie_origem={$registro["ref_serie_origem"]}&ref_serie_destino={$registro["ref_serie_destino"]}\">{$serie_destino}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_sequencia_serie_det.php?ref_serie_origem={$registro["ref_serie_origem"]}&ref_serie_destino={$registro["ref_serie_destino"]}\">{$registro["ref_cod_instituicao"]}</a>";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_sequencia_serie_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(587, $this->pessoa_logada, 3)) {
         $this->acao = "go(\"educar_sequencia_serie_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de sequ&ecirc;ncias de enturma&ccedil;&atilde;o"));
     $this->enviaLocalizacao($localizacao->montar());
 }
    function Gerar()
    {
        @session_start();
        $this->pessoa_logada = $_SESSION['id_pessoa'];
        session_write_close();
        $this->titulo = 'Matricula Turma - Detalhe';
        $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
        foreach ($_POST as $key => $value) {
            $this->{$key} = $value;
        }
        if (!$this->ref_cod_matricula) {
            header('Location: educar_matricula_lst.php');
            die;
        }
        $obj_mat_turma = new clsPmieducarMatriculaTurma();
        $det_mat_turma = $obj_mat_turma->lista($this->ref_cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
        if ($det_mat_turma) {
            $det_mat_turma = array_shift($det_mat_turma);
            $obj_turma = new clsPmieducarTurma($det_mat_turma['ref_cod_turma']);
            $det_turma = $obj_turma->detalhe();
            $this->nm_turma = $det_turma['nm_turma'];
            $this->ref_cod_turma_origem = $det_turma['cod_turma'];
            $this->sequencial = $det_mat_turma['sequencial'];
        }
        // #TODO adicionar ano da matricula atual
        #$tmp_obj = new clsPmieducarMatriculaTurma( );
        #$lista = $tmp_obj->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL,
        #  NULL, NULL, 1);
        #$total_alunos = 0;
        #if ($lista) {
        #  $total_alunos = count($lista);
        #}
        $tmp_obj = new clsPmieducarTurma();
        $lst_obj = $tmp_obj->lista($this->ref_cod_turma);
        $registro = array_shift($lst_obj);
        $db = new clsBanco();
        $ano = $db->CampoUnico("select ano from pmieducar.matricula where cod_matricula = {$this->ref_cod_matricula}");
        $sql = "select count(cod_matricula) as qtd_matriculas from pmieducar.matricula, pmieducar.matricula_turma, pmieducar.aluno where aluno.cod_aluno = matricula.ref_cod_aluno and ano = {$ano} and aluno.ativo = 1 and matricula.ativo = 1 and matricula_turma.ativo = matricula.ativo and cod_matricula = ref_cod_matricula and ref_cod_turma = {$this->ref_cod_turma}";
        $total_alunos = $db->CampoUnico($sql);
        $this->ref_cod_curso = $registro['ref_cod_curso'];
        if (!$registro || !$_POST) {
            header('Location: educar_matricula_lst.php');
            die;
        }
        // Tipo da turma
        $obj_ref_cod_turma_tipo = new clsPmieducarTurmaTipo($registro['ref_cod_turma_tipo']);
        $det_ref_cod_turma_tipo = $obj_ref_cod_turma_tipo->detalhe();
        $registro['ref_cod_turma_tipo'] = $det_ref_cod_turma_tipo['nm_tipo'];
        // Código da instituição
        $obj_cod_instituicao = new clsPmieducarInstituicao($registro['ref_cod_instituicao']);
        $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
        $registro['ref_cod_instituicao'] = $obj_cod_instituicao_det['nm_instituicao'];
        // Nome da escola
        $obj_ref_cod_escola = new clsPmieducarEscola($registro['ref_ref_cod_escola']);
        $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
        $registro['ref_ref_cod_escola'] = $det_ref_cod_escola['nome'];
        // Nome do curso
        $obj_ref_cod_curso = new clsPmieducarCurso($registro['ref_cod_curso']);
        $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
        $registro['ref_cod_curso'] = $det_ref_cod_curso['nm_curso'];
        $padrao_ano_escolar = $det_ref_cod_curso['padrao_ano_escolar'];
        // Nome da série
        $obj_ser = new clsPmieducarSerie($registro['ref_ref_cod_serie']);
        $det_ser = $obj_ser->detalhe();
        $registro['ref_ref_cod_serie'] = $det_ser['nm_serie'];
        // Matrícula
        $obj_ref_cod_matricula = new clsPmieducarMatricula();
        $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista($this->ref_cod_matricula));
        $obj_aluno = new clsPmieducarAluno();
        $det_aluno = array_shift($det_aluno = $obj_aluno->lista($detalhe_aluno['ref_cod_aluno'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1));
        $obj_escola = new clsPmieducarEscola($this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
        $det_escola = $obj_escola->detalhe();
        $this->addDetalhe(array('Nome do Aluno', $det_aluno['nome_aluno']));
        $objTemp = new clsPmieducarTurma($this->ref_cod_turma);
        $det_turma = $objTemp->detalhe();
        if ($registro['ref_ref_cod_escola']) {
            $this->addDetalhe(array('Escola', $registro['ref_ref_cod_escola']));
        }
        if ($registro['ref_cod_curso']) {
            $this->addDetalhe(array('Curso', $registro['ref_cod_curso']));
        }
        if ($registro['ref_ref_cod_serie']) {
            $this->addDetalhe(array('S&eacute;rie', $registro['ref_ref_cod_serie']));
        }
        //(enturmações) turma atual
        $enturmacoes = new clsPmieducarMatriculaTurma();
        $enturmacoes = $enturmacoes->lista($this->ref_cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
        $this->possuiEnturmacao = !empty($enturmacoes);
        $this->possuiEnturmacaoTurmaDestino = false;
        $this->turmaOrigemMesmaDestino = false;
        $this->addDetalhe(array('<b>Turma selecionada</b>', '<b>' . $registro['nm_turma'] . '</b>'));
        $this->addDetalhe(array('Total de vagas', $registro['max_aluno']));
        if (is_numeric($total_alunos)) {
            $this->addDetalhe(array('Alunos enturmados', $total_alunos));
            $this->addDetalhe(array('Vagas disponíveis', $registro['max_aluno'] - $total_alunos));
        }
        if ($this->possuiEnturmacao) {
            //se possui uma enturmacao mostra o nome, se mais de uma mostra select para selecionar
            if (count($enturmacoes) > 1) {
                $selectEnturmacoes = "<select id='ref_cod_turma_origem' class='obrigatorio'>";
                $selectEnturmacoes .= "<option value=''>Selecione</option>";
                foreach ($enturmacoes as $enturmacao) {
                    if ($enturmacao['ref_cod_turma'] != $this->ref_cod_turma) {
                        $selectEnturmacoes .= "<option value='{$enturmacao['ref_cod_turma']}'>{$enturmacao['nm_turma']}</option>";
                    } elseif (!$this->possuiEnturmacaoTurmaDestino) {
                        $this->possuiEnturmacaoTurmaDestino = true;
                    }
                }
                $selectEnturmacoes .= "</select>";
            } else {
                if ($enturmacoes[0]['ref_cod_turma'] == $this->ref_cod_turma) {
                    $this->possuiEnturmacaoTurmaDestino = true;
                    $this->turmaOrigemMesmaDestino = true;
                }
                $selectEnturmacoes = "<input id='ref_cod_turma_origem' type='hidden' value = '{$enturmacoes[0]['ref_cod_turma']}'/>{$enturmacoes[0]['nm_turma']}";
            }
            $this->addDetalhe(array('<b>Enturmação</b>', $selectEnturmacoes));
        }
        if (!$this->possuiEnturmacaoTurmaDestino) {
            $this->addDetalhe(array('Data da enturmação', '<input onkeypress="formataData(this,event);" value="' . date('d/m/Y') . '" class="geral" type="text" name="data_enturmacao" id="data_enturmacao" size="9" maxlength="10"/>'));
        }
        $this->addDetalhe(array('-', sprintf('
        <form name="formcadastro" method="post" action="educar_matricula_turma_cad.php">
          <input type="hidden" name="ref_cod_matricula" value="">
          <input type="hidden" name="ref_cod_serie" value="">
          <input type="hidden" name="ref_cod_escola" value="">
          <input type="hidden" name="ref_cod_turma_origem" value="%d">
          <input type="hidden" name="ref_cod_turma_destino" value="">
          <input type="hidden" name="data_enturmacao" value="">
          <input type="hidden" name="sequencial" value="%d">
        </form>
      ', $this->ref_cod_turma_origem, $this->sequencial)));
        if ($registro['max_aluno'] - $total_alunos <= 0) {
            $escolaSerie = $this->getEscolaSerie($det_ref_cod_escola['cod_escola'], $det_ser['cod_serie']);
            if ($escolaSerie['bloquear_enturmacao_sem_vagas'] != 1) {
                $msg = sprintf('Atenção! Turma sem vagas! Deseja continuar com a enturmação mesmo assim?');
                $jsEnturmacao = sprintf('if (!confirm("%s")) return false;', $msg);
            } else {
                $msg = sprintf('Enturmação não pode ser realizada,\\n\\no limite de vagas da turma já foi atingido e para esta série e escola foi definido bloqueio de enturmação após atingir tal limite.');
                $jsEnturmacao = sprintf('alert("%s"); return false;', $msg);
            }
        } else {
            $jsEnturmacao = 'if (!confirm("Confirma a enturmação?")) return false;';
        }
        $script = sprintf('
      <script type="text/javascript">

        function enturmar(ref_cod_matricula, ref_cod_turma_destino, tipo){
          document.formcadastro.ref_cod_turma_origem.value = "";

          if(tipo == "transferir") {
            var turmaOrigemId = document.getElementById("ref_cod_turma_origem");
            if (turmaOrigemId && turmaOrigemId.value)
              document.formcadastro.ref_cod_turma_origem.value = turmaOrigemId.value;
            else {
              alert("Por favor, selecione a enturmação a ser transferida.");
              return false;
            }
          }

          %s

          document.formcadastro.ref_cod_matricula.value = ref_cod_matricula;
          document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino;
          document.formcadastro.data_enturmacao.value = document.getElementById("data_enturmacao").value;
          document.formcadastro.submit();
        }

        function removerEnturmacao(ref_cod_matricula, ref_cod_turma_destino) {

          if (! confirm("Confirma remoção da enturmação?"))
            return false;

          document.formcadastro.ref_cod_turma_origem.value = "remover-enturmacao-destino";
          document.formcadastro.ref_cod_matricula.value = ref_cod_matricula;
          document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino;
          document.formcadastro.submit();
        }

      </script>', $jsEnturmacao);
        print $script;
        $canCreate = new clsPermissoes();
        $canCreate = $canCreate->permissao_cadastra(578, $this->pessoa_logada, 7);
        if ($this->possuiEnturmacaoTurmaDestino && $canCreate) {
            $this->array_botao = array('Remover (enturmação) da turma selecionada');
            $this->array_botao_url_script = array("removerEnturmacao({$this->ref_cod_matricula}, {$this->ref_cod_turma})");
        }
        if (!$this->turmaOrigemMesmaDestino && $canCreate) {
            //mover enturmação
            if ($this->possuiEnturmacao) {
                $this->array_botao[] = 'Transferir para turma selecionada';
                $this->array_botao_url_script[] = "enturmar({$this->ref_cod_matricula}, {$this->ref_cod_turma}, \"transferir\")";
            }
            //nova enturmação
            if (!$this->possuiEnturmacaoTurmaDestino && $canCreate) {
                $this->array_botao[] = 'Enturmar na turma selecionada';
                $this->array_botao_url_script[] = "enturmar({$this->ref_cod_matricula}, {$this->ref_cod_turma}, \"nova\")";
            }
        }
        $this->array_botao[] = 'Voltar';
        $this->array_botao_url_script[] = "go(\"educar_matricula_turma_lst.php?ref_cod_matricula={$this->ref_cod_matricula}\");";
        $this->largura = '100%';
    }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'Curso - Listagem';
     // passa todos os valores obtidos no GET para atributos do objeto
     foreach ($_GET as $var => $val) {
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $lista_busca = array('Curso', 'N&iacute;vel Ensino', 'Tipo Ensino');
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = 'Institui&ccedil;&atilde;o';
     }
     $this->addCabecalhos($lista_busca);
     include 'include/pmieducar/educar_campo_lista.php';
     // outros Filtros
     $this->campoTexto('nm_curso', 'Curso', $this->nm_curso, 30, 255, FALSE);
     // outros de Foreign Keys
     $opcoes = array('' => 'Selecione');
     $todos_niveis_ensino = "nivel_ensino = new Array();\n";
     $objTemp = new clsPmieducarNivelEnsino();
     $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             $todos_niveis_ensino .= "nivel_ensino[nivel_ensino.length] = new Array({$registro["cod_nivel_ensino"]},'{$registro["nm_nivel"]}', {$registro["ref_cod_instituicao"]});\n";
         }
     }
     echo "<script>{$todos_niveis_ensino}</script>";
     if ($this->ref_cod_instituicao) {
         $objTemp = new clsPmieducarNivelEnsino();
         $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes[$registro['cod_nivel_ensino']] = $registro['nm_nivel'];
             }
         }
     }
     $this->campoLista('ref_cod_nivel_ensino', 'N&iacute;vel Ensino', $opcoes, $this->ref_cod_nivel_ensino, NULL, NULL, NULL, NULL, NULL, FALSE);
     $opcoes = array('' => 'Selecione');
     $todos_tipos_ensino = "tipo_ensino = new Array();\n";
     $objTemp = new clsPmieducarTipoEnsino();
     $objTemp->setOrderby('nm_tipo');
     $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, 1);
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             $todos_tipos_ensino .= "tipo_ensino[tipo_ensino.length] = new Array({$registro["cod_tipo_ensino"]},'{$registro["nm_tipo"]}', {$registro["ref_cod_instituicao"]});\n";
         }
     }
     echo "<script>{$todos_tipos_ensino}</script>";
     if ($this->ref_cod_instituicao) {
         $objTemp = new clsPmieducarTipoEnsino();
         $objTemp->setOrderby("nm_tipo");
         $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes["{$registro['cod_tipo_ensino']}"] = $registro['nm_tipo'];
             }
         }
     }
     $this->campoLista('ref_cod_tipo_ensino', 'Tipo Ensino', $opcoes, $this->ref_cod_tipo_ensino, '', FALSE, '', '', '', FALSE);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_curso = new clsPmieducarCurso();
     $obj_curso->setOrderby('nm_curso ASC');
     $obj_curso->setLimite($this->limite, $this->offset);
     $lista = $obj_curso->lista(NULL, NULL, NULL, $this->ref_cod_nivel_ensino, $this->ref_cod_tipo_ensino, NULL, $this->nm_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, $this->ref_cod_instituicao);
     $total = $obj_curso->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             $obj_ref_cod_nivel_ensino = new clsPmieducarNivelEnsino($registro['ref_cod_nivel_ensino']);
             $det_ref_cod_nivel_ensino = $obj_ref_cod_nivel_ensino->detalhe();
             $registro['ref_cod_nivel_ensino'] = $det_ref_cod_nivel_ensino['nm_nivel'];
             $obj_ref_cod_tipo_ensino = new clsPmieducarTipoEnsino($registro['ref_cod_tipo_ensino']);
             $det_ref_cod_tipo_ensino = $obj_ref_cod_tipo_ensino->detalhe();
             $registro['ref_cod_tipo_ensino'] = $det_ref_cod_tipo_ensino['nm_tipo'];
             $obj_cod_instituicao = new clsPmieducarInstituicao($registro['ref_cod_instituicao']);
             $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
             $registro['ref_cod_instituicao'] = $obj_cod_instituicao_det['nm_instituicao'];
             $lista_busca = array("<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["nm_curso"]}</a>", "<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["ref_cod_nivel_ensino"]}</a>", "<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["ref_cod_tipo_ensino"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_curso_det.php?cod_curso={$registro["cod_curso"]}\">{$registro["ref_cod_instituicao"]}</a>";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_curso_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(566, $this->pessoa_logada, 3)) {
         $this->acao = "go(\"educar_curso_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de cursos"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 /**
  * Construtor.
  */
 function clsPmieducarSerie($cod_serie = NULL, $ref_usuario_exc = NULL, $ref_usuario_cad = NULL, $ref_cod_curso = NULL, $nm_serie = NULL, $etapa_curso = NULL, $concluinte = NULL, $carga_horaria = NULL, $data_cadastro = NULL, $data_exclusao = NULL, $ativo = NULL, $intervalo = NULL, $idade_inicial = NULL, $idade_final = NULL, $regra_avaliacao_id = NULL, $observacao_historico = null, $dias_letivos = null)
 {
     $db = new clsBanco();
     $this->_schema = "pmieducar.";
     $this->_tabela = "{$this->_schema}serie";
     $this->_campos_lista = $this->_todos_campos = "s.cod_serie, s.ref_usuario_exc, s.ref_usuario_cad, s.ref_cod_curso, s.nm_serie, s.etapa_curso, s.concluinte, s.carga_horaria, s.data_cadastro, s.data_exclusao, s.ativo, s.intervalo, s.idade_inicial, s.idade_final, s.regra_avaliacao_id, s.observacao_historico, s.dias_letivos";
     if (is_numeric($ref_cod_curso)) {
         if (class_exists("clsPmieducarCurso")) {
             $tmp_obj = new clsPmieducarCurso($ref_cod_curso);
             $curso = $tmp_obj->detalhe();
             if (FALSE != $curso) {
                 $this->ref_cod_curso = $ref_cod_curso;
             }
         } else {
             if ($db->CampoUnico("SELECT 1 FROM pmieducar.curso WHERE cod_curso = '{$ref_cod_curso}'")) {
                 $this->ref_cod_curso = $ref_cod_curso;
             }
         }
     }
     if (is_numeric($ref_usuario_exc)) {
         if (class_exists("clsPmieducarUsuario")) {
             $tmp_obj = new clsPmieducarUsuario($ref_usuario_exc);
             if (method_exists($tmp_obj, "existe")) {
                 if ($tmp_obj->existe()) {
                     $this->ref_usuario_exc = $ref_usuario_exc;
                 }
             } else {
                 if (method_exists($tmp_obj, "detalhe")) {
                     if ($tmp_obj->detalhe()) {
                         $this->ref_usuario_exc = $ref_usuario_exc;
                     }
                 }
             }
         } else {
             if ($db->CampoUnico("SELECT 1 FROM pmieducar.usuario WHERE cod_usuario = '{$ref_usuario_exc}'")) {
                 $this->ref_usuario_exc = $ref_usuario_exc;
             }
         }
     }
     if (is_numeric($ref_usuario_cad)) {
         if (class_exists("clsPmieducarUsuario")) {
             $tmp_obj = new clsPmieducarUsuario($ref_usuario_cad);
             if (method_exists($tmp_obj, "existe")) {
                 if ($tmp_obj->existe()) {
                     $this->ref_usuario_cad = $ref_usuario_cad;
                 }
             } else {
                 if (method_exists($tmp_obj, "detalhe")) {
                     if ($tmp_obj->detalhe()) {
                         $this->ref_usuario_cad = $ref_usuario_cad;
                     }
                 }
             }
         } else {
             if ($db->CampoUnico("SELECT 1 FROM pmieducar.usuario WHERE cod_usuario = '{$ref_usuario_cad}'")) {
                 $this->ref_usuario_cad = $ref_usuario_cad;
             }
         }
     }
     // Atribuibui a identificação de regra de avaliação
     if (!is_null($regra_avaliacao_id) && is_numeric($regra_avaliacao_id)) {
         $mapper = new RegraAvaliacao_Model_RegraDataMapper();
         if (isset($curso)) {
             $regras = $mapper->findAll(array(), array('id' => $regra_avaliacao_id, 'instituicao' => $curso['ref_cod_instituicao']));
             if (1 == count($regras)) {
                 $regra = $regras[0];
             }
         } else {
             $regra = $mapper->find($regra_avaliacao_id);
         }
         // Verificação fraca pois deixa ser uma regra de outra instituição
         if (isset($regra)) {
             $this->regra_avaliacao_id = $regra->id;
         }
     }
     if (is_numeric($cod_serie)) {
         $this->cod_serie = $cod_serie;
     }
     if (is_string($nm_serie)) {
         $this->nm_serie = $nm_serie;
     }
     if (is_numeric($etapa_curso)) {
         $this->etapa_curso = $etapa_curso;
     }
     if (is_numeric($concluinte)) {
         $this->concluinte = $concluinte;
     }
     if (is_numeric($carga_horaria)) {
         $this->carga_horaria = $carga_horaria;
     }
     if (is_string($data_cadastro)) {
         $this->data_cadastro = $data_cadastro;
     }
     if (is_string($data_exclusao)) {
         $this->data_exclusao = $data_exclusao;
     }
     if (is_numeric($ativo)) {
         $this->ativo = $ativo;
     }
     if (is_numeric($intervalo)) {
         $this->intervalo = $intervalo;
     }
     if (is_numeric($idade_inicial)) {
         $this->idade_inicial = $idade_inicial;
     }
     if (is_numeric($idade_final)) {
         $this->idade_final = $idade_final;
     }
     $this->observacao_historico = $observacao_historico;
     $this->dias_letivos = $dias_letivos;
 }
 function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     $this->campoOculto('ref_cod_turma', $this->ref_cod_turma);
     $this->campoOculto('ref_ref_cod_escola', $this->ref_ref_cod_escola);
     $this->campoOculto('ref_ref_cod_serie', $this->ref_ref_cod_serie);
     $this->campoOculto('ref_cod_curso', $this->ref_cod_curso);
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $obj_cod_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
         $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
         $nm_instituicao = $obj_cod_instituicao_det['nm_instituicao'];
         $this->campoRotulo('nm_instituicao', 'Institui&ccedil;&atilde;o', $nm_instituicao);
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         if ($this->ref_ref_cod_escola) {
             $obj_ref_cod_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
             $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
             $nm_escola = $det_ref_cod_escola['nome'];
             $this->campoRotulo('nm_escola', 'Escola', $nm_escola);
         }
     }
     if ($this->ref_cod_curso) {
         $obj_ref_cod_curso = new clsPmieducarCurso($this->ref_cod_curso);
         $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
         $nm_curso = $det_ref_cod_curso['nm_curso'];
         $this->campoRotulo('nm_curso', 'Curso', $nm_curso);
     }
     if ($this->ref_ref_cod_serie) {
         $obj_ref_cod_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
         $det_ref_cod_serie = $obj_ref_cod_serie->detalhe();
         $nm_serie = $det_ref_cod_serie["nm_serie"];
         $this->campoRotulo('nm_serie', 'S&eacute;rie', $nm_serie);
         // busca o ano em q a escola esta em andamento
         $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo();
         $lst_ano_letivo = $obj_ano_letivo->lista($this->ref_ref_cod_escola, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 1);
         if (is_array($lst_ano_letivo)) {
             $det_ano_letivo = array_shift($lst_ano_letivo);
             $ano_letivo = $det_ano_letivo['ano'];
         } else {
             $this->mensagem = 'Não foi possível encontrar o ano letivo em andamento da escola.';
             return FALSE;
         }
     }
     if ($this->ref_cod_turma) {
         $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
         $det_turma = $obj_turma->detalhe();
         $nm_turma = $det_turma['nm_turma'];
         $this->campoRotulo('nm_turma', 'Turma', $nm_turma);
     }
     // Inlui o aluno
     $this->campoQuebra();
     if ($_POST['matriculas_turma']) {
         $this->matriculas_turma = unserialize(urldecode($_POST['matriculas_turma']));
     }
     if (is_numeric($this->ref_cod_turma) && !$_POST) {
         $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
         $obj_matriculas_turma->setOrderby('nome_aluno');
         $lst_matriculas_turma = $obj_matriculas_turma->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, array(1, 2, 3), NULL, NULL, $ano_letivo, NULL, TRUE, NULL, 1, TRUE);
         if (is_array($lst_matriculas_turma)) {
             foreach ($lst_matriculas_turma as $key => $campo) {
                 $this->matriculas_turma[$campo['ref_cod_matricula']]['sequencial_'] = $campo['sequencial'];
             }
         }
     }
     if ($_POST['ref_cod_matricula']) {
         $obj_matriculas_turma = new clsPmieducarMatriculaTurma($_POST['ref_cod_matricula'], $this->ref_cod_turma);
         $sequencial = $obj_matriculas_turma->buscaSequencialMax();
         $this->matriculas_turma[$_POST['ref_cod_matricula']]['sequencial_'] = $sequencial;
         unset($this->ref_cod_matricula);
     }
     if ($this->matriculas_turma) {
         foreach ($this->matriculas_turma as $matricula => $campo) {
             $obj_matricula = new clsPmieducarMatricula($matricula);
             $det_matricula = $obj_matricula->detalhe();
             $obj_aluno = new clsPmieducarAluno();
             $lst_aluno = $obj_aluno->lista($det_matricula['ref_cod_aluno']);
             $det_aluno = array_shift($lst_aluno);
             $nm_aluno = $det_aluno['nome_aluno'];
             $this->campoTextoInv('ref_cod_matricula_' . $matricula, '', $nm_aluno, 30, 255, FALSE, FALSE, FALSE, '', '', '', '', 'ref_cod_matricula');
         }
     }
     $this->campoOculto('matriculas_turma', serialize($this->matriculas_turma));
     // Aluno
     $opcoes = array();
     $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
     $alunos = $obj_matriculas_turma->alunosNaoEnturmados($this->ref_ref_cod_escola, $this->ref_ref_cod_serie, $this->ref_cod_curso, $ano_letivo);
     if (is_array($alunos)) {
         for ($i = 0; $i < count($alunos); $i++) {
             $obj_matricula = new clsPmieducarMatricula($alunos[$i]);
             $det_matricula = $obj_matricula->detalhe();
             $obj_aluno = new clsPmieducarAluno();
             $lst_aluno = $obj_aluno->lista($det_matricula['ref_cod_aluno']);
             $det_aluno = array_shift($lst_aluno);
             $opcoes[$alunos[$i]] = $det_aluno['nome_aluno'];
         }
     }
     if (count($opcoes)) {
         asort($opcoes);
         foreach ($opcoes as $key => $aluno) {
             $this->campoCheck('ref_cod_matricula[' . $key . ']', 'Aluno', $key, $aluno, NULL, NULL, NULL);
         }
     } else {
         $this->campoRotulo('rotulo_1', '-', 'Todos os alunos matriculados na série já se encontram enturmados.');
     }
     $this->campoQuebra();
 }
Example #22
0
 function Gerar()
 {
     $obj_permissoes = new clsPermissoes();
     //		echo "<pre>";print_r($_POST);die;
     if (!$this->sem_cnpj && !$this->com_cnpj) {
         $parametros = new clsParametrosPesquisas();
         $parametros->setSubmit(1);
         $parametros->setPessoa('J');
         $parametros->setPessoaCampo('sem_cnpj');
         $parametros->setPessoaNovo("S");
         $parametros->setPessoaCPF("N");
         $parametros->setPessoaTela('window');
         $this->campoOculto("sem_cnpj", "");
         $parametros->setCodSistema(13);
         $parametros->adicionaCampoTexto("cnpj", "cnpj");
         $this->campoCnpjPesq("cnpj", "CNPJ", $this->cnpj, "pesquisa_pessoa_lst.php", $parametros->serializaCampos(), true);
         //			$this->acao_enviar = "obj = document.getElementById(\"cnpj\");if(obj.value != \"\" ) {document.getElementById(\"formcadastro\").submit(); } else { acao(); }";
         $this->acao_enviar = false;
         $this->url_cancelar = false;
         $this->array_botao = array("Continuar", "Cancelar");
         $this->array_botao_url_script = array("obj = document.getElementById('cnpj');if(obj.value != '' ) { acao(); } else { acao(); }", "go('educar_escola_lst.php');");
     } else {
         if ($_POST) {
             foreach ($_POST as $campo => $val) {
                 if ($campo != 'tipoacao' && $campo != 'sem_cnpj') {
                     $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
                 }
             }
         }
         if ($this->sem_cnpj) {
             $this->campoOculto("sem_cnpj", $this->sem_cnpj);
             // cadastro novo sem CNPJ
             $this->p_ddd_telefone_1 = $this->p_ddd_telefone_1 == null ? "" : $this->p_ddd_telefone_1;
             $this->p_ddd_telefone_fax = $this->p_ddd_telefone_fax == null ? "" : $this->p_ddd_telefone_fax;
             if ($this->ref_idpes) {
                 $objTemp = new clsPessoaJuridica($this->ref_idpes);
                 $detalhe = $objTemp->detalhe();
             }
             //				$this->campoOculto( "passo", 4 );
             //				$this->campoOculto( "sem_cnpj", 0 );
             $this->campoOculto("cod_escola", $this->cod_escola);
             // text
             $this->campoTexto("fantasia", "Escola", $this->fantasia, 30, 255, true);
             $this->campoTexto("sigla", "Sigla", $this->sigla, 30, 255, true);
             // foreign keys
             $nivel = $obj_permissoes->nivel_acesso($this->pessoa_logada);
             if ($nivel == 1) {
                 $cabecalhos[] = "Instituicao";
                 $objInstituicao = new clsPmieducarInstituicao();
                 $opcoes = array("" => "Selecione");
                 $objInstituicao->setOrderby("nm_instituicao ASC");
                 $lista = $objInstituicao->lista();
                 if (is_array($lista)) {
                     foreach ($lista as $linha) {
                         $opcoes[$linha["cod_instituicao"]] = $linha["nm_instituicao"];
                     }
                 }
                 $this->campoLista("ref_cod_instituicao", "Institui&ccedil;&atilde;o", $opcoes, $this->ref_cod_instituicao);
             } else {
                 $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);
                 if ($this->ref_cod_instituicao) {
                     $this->campoOculto("ref_cod_instituicao", $this->ref_cod_instituicao);
                 } else {
                     die("Usu�rio n�o � do nivel poli-institucional e n�o possui uma institui��o");
                 }
             }
             $opcoes = array("" => "Selecione");
             if (class_exists("clsPmieducarEscolaRedeEnsino")) {
                 /*$todas_redes_ensino = "rede_ensino = new Array();\n";
                 		$objTemp = new clsPmieducarEscolaRedeEnsino();
                 		$lista = $objTemp->lista();
                 		if ( is_array( $lista ) && count( $lista ) )
                 		{
                 			foreach ( $lista as $registro )
                 			{
                 				$todas_redes_ensino .= "rede_ensino[rede_ensino.length] = new Array( {$registro["cod_escola_rede_ensino"]}, '{$registro['nm_rede']}', {$registro["ref_cod_instituicao"]} );\n";
                 			}
                 		}
                 		echo "<script>{$todas_redes_ensino}</script>";*/
                 // EDITAR
                 $script = "javascript:showExpansivelIframe(520, 120, 'educar_escola_rede_ensino_cad_pop.php');";
                 if ($this->ref_cod_instituicao) {
                     $objTemp = new clsPmieducarEscolaRedeEnsino();
                     $lista = $objTemp->lista(null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                     if (is_array($lista) && count($lista)) {
                         foreach ($lista as $registro) {
                             $opcoes["{$registro['cod_escola_rede_ensino']}"] = "{$registro['nm_rede']}";
                         }
                     }
                     $script = "<img id='img_rede_ensino' style='display: \\'\\'' src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 } else {
                     $script = "<img id='img_rede_ensino' style='display: none;'  src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 }
             } else {
                 echo "<!--\nErro\nClasse clsPmieducarEscolaRedeEnsino nao encontrada\n-->";
                 $opcoes = array("" => "Erro na geracao");
             }
             $this->campoLista("ref_cod_escola_rede_ensino", "Rede Ensino", $opcoes, $this->ref_cod_escola_rede_ensino, "", false, "", $script);
             $opcoes = array("" => "Selecione");
             if (class_exists("clsPmieducarEscolaLocalizacao")) {
                 /*$todas_escolas_localizacao = "escola_localizacao = new Array();\n";
                 		$objTemp = new clsPmieducarEscolaLocalizacao();
                 		$lista = $objTemp->lista();
                 		if ( is_array( $lista ) && count( $lista ) )
                 		{
                 			foreach ( $lista as $registro )
                 			{
                 				$todas_escolas_localizacao .= "escola_localizacao[escola_localizacao.length] = new Array( {$registro["cod_escola_localizacao"]}, '{$registro['nm_localizacao']}', {$registro["ref_cod_instituicao"]} );\n";
                 			}
                 		}
                 		echo "<script>{$todas_escolas_localizacao}</script>";*/
                 // EDITAR
                 $script = "javascript:showExpansivelIframe(520, 120, 'educar_escola_localizacao_cad_pop.php');";
                 if ($this->ref_cod_instituicao) {
                     $objTemp = new clsPmieducarEscolaLocalizacao();
                     $lista = $objTemp->lista(null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                     if (is_array($lista) && count($lista)) {
                         foreach ($lista as $registro) {
                             $opcoes["{$registro['cod_escola_localizacao']}"] = "{$registro['nm_localizacao']}";
                         }
                     }
                     $script = "<img id='img_localizacao' style='display: \\'\\'' src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 } else {
                     $script = "<img id='img_localizacao' style='display: none;'  src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 }
             } else {
                 echo "<!--\nErro\nClasse clsPmieducarEscolaLocalizacao nao encontrada\n-->";
                 $opcoes = array("" => "Erro na geracao");
             }
             $this->campoLista("ref_cod_escola_localizacao", "Escola Localiza&ccedil;&atilde;o", $opcoes, $this->ref_cod_escola_localizacao, "", false, "", $script);
             if (is_numeric($this->cep)) {
                 $this->cep = int2CEP($this->cep);
             }
             //				$this->campoCep( "cep","CEP", $this->cep,true,"-",false,false );
             $this->campoCep("cep", "CEP", $this->cep, true, "-", false, false);
             $this->campoTexto("cidade", "Cidade", $this->cidade, "50", "255", true);
             $this->campoTexto("bairro", "Bairro", $this->bairro, "50", "20", true);
             $this->campoTexto("logradouro", "Logradouro", $this->logradouro, "50", "255", true);
             $this->campoTexto("complemento", "Complemento", $this->complemento, "22", "20", false);
             $this->campoNumero("numero", "Número", $this->numero, "6", "6", true);
             $this->campoTexto("p_ddd_telefone_1", "DDD Telefone 1", $this->p_ddd_telefone_1, "2", "2", false);
             $this->campoTexto("p_telefone_1", "Telefone 1", $this->p_telefone_1, "10", "15", false);
             $this->campoTexto("p_ddd_telefone_fax", "DDD Fax", $this->p_ddd_telefone_fax, "2", "2", false);
             $this->campoTexto("p_telefone_fax", "Fax", $this->p_telefone_fax, "10", "15", false);
             $this->campoTexto("p_email", "E-mail", $this->p_email, "50", "255", false);
         }
         if ($this->com_cnpj) {
             $this->campoOculto("com_cnpj", $this->com_cnpj);
             //				die("com CNPJ");
             //				echo "<br>cep: ".$this->cep;
             //				echo "<br>cep_: ".$this->cep_;
             if (!$this->cod_escola) {
                 $this->cnpj = urldecode($_POST['cnpj']);
                 $this->cnpj = idFederal2int($this->cnpj);
                 //					echo int2IdFederal($this->cnpj);
                 $this->cnpj = int2IdFederal($this->cnpj);
             }
             //				echo "sakdmk: ".$this->cnpj;die;
             // cadastro novo com CNPJ
             //echo "hehehe".idFederal2int($this->cnpj);echo "kiki".int2IdFederal($this->cnpj);die;
             $objJuridica = new clsPessoaJuridica(false, idFederal2int($this->cnpj));
             $det = $objJuridica->detalhe();
             $this->ref_idpes = $det["idpes"];
             //				if( $this->ref_idpes )
             //				{
             //					$this->p_ddd_telefone_1 = ( $this->p_ddd_telefone_1 == null ) ? "": is_numeric( $this->p_ddd_telefone_1 );
             //					$this->p_ddd_telefone_2 = ( $this->p_ddd_telefone_2 == null ) ? "": is_numeric( $this->p_ddd_telefone_2 );
             //					$this->p_ddd_telefone_3 = ( $this->p_ddd_telefone_3 == null ) ? "": is_numeric( $this->p_ddd_telefone_3 );
             //					$obj_pessoa = new clsPessoa_( $this->ref_idpes );
             //					$det_pessoa = $obj_pessoa->detalhe();
             //$this->fantasia = $det_pessoa["nome"];
             //					$this->nm_escola = $det["nome"];
             if (!$this->fantasia) {
                 $this->fantasia = $det["fantasia"];
             }
             if ($this->passou) {
                 $this->cnpj = is_numeric($this->cnpj) ? $this->cnpj : idFederal2int($this->cnpj);
                 $this->cnpj = int2IdFederal($this->cnpj);
             }
             //
             $this->campoRotulo("cnpj_", "CNPJ", $this->cnpj);
             $this->campoOculto("cnpj", idFederal2int($this->cnpj));
             $this->campoOculto("ref_idpes", $this->ref_idpes);
             //					$this->campoOculto( "passo", 3 );
             $this->campoOculto("cod_escola", $this->cod_escola);
             // text
             $this->campoTexto("fantasia", "Escola", $this->fantasia, 30, 255, true);
             $this->campoTexto("sigla", "Sigla", $this->sigla, 30, 255, true);
             // foreign keys
             $nivel = $obj_permissoes->nivel_acesso($this->pessoa_logada);
             if ($nivel == 1) {
                 $cabecalhos[] = "Instituicao";
                 $objInstituicao = new clsPmieducarInstituicao();
                 $opcoes = array("" => "Selecione");
                 $objInstituicao->setOrderby("nm_instituicao ASC");
                 $lista = $objInstituicao->lista();
                 if (is_array($lista)) {
                     foreach ($lista as $linha) {
                         $opcoes[$linha["cod_instituicao"]] = $linha["nm_instituicao"];
                     }
                 }
                 $this->campoLista("ref_cod_instituicao", "Instituicao", $opcoes, $this->ref_cod_instituicao);
             } else {
                 $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);
                 if ($this->ref_cod_instituicao) {
                     $this->campoOculto("ref_cod_instituicao", $this->ref_cod_instituicao);
                 } else {
                     die("Usu�rio n�o � do nivel poli-institucional e n�o possui uma institui��o");
                 }
             }
             $opcoes = array("" => "Selecione");
             if (class_exists("clsPmieducarEscolaRedeEnsino")) {
                 /*$todas_redes_ensino = "rede_ensino = new Array();\n";
                 		$objTemp = new clsPmieducarEscolaRedeEnsino();
                 		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,1 );
                 		if ( is_array( $lista ) && count( $lista ) )
                 		{
                 			foreach ( $lista as $registro )
                 			{
                 				$todas_redes_ensino .= "rede_ensino[rede_ensino.length] = new Array( {$registro["cod_escola_rede_ensino"]}, '{$registro['nm_rede']}', {$registro["ref_cod_instituicao"]} );\n";
                 			}
                 		}
                 		echo "<script>{$todas_redes_ensino}</script>";*/
                 // EDITAR
                 $script = "javascript:showExpansivelIframe(520, 120, 'educar_escola_rede_ensino_cad_pop.php');";
                 if ($this->ref_cod_instituicao) {
                     $objTemp = new clsPmieducarEscolaRedeEnsino();
                     $lista = $objTemp->lista(null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                     if (is_array($lista) && count($lista)) {
                         foreach ($lista as $registro) {
                             $opcoes["{$registro['cod_escola_rede_ensino']}"] = "{$registro['nm_rede']}";
                         }
                     }
                     $script = "<img id='img_rede_ensino' style='display:\\'\\'' src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 } else {
                     $script = "<img id='img_rede_ensino' style='display: none;'  src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 }
             } else {
                 echo "<!--\nErro\nClasse clsPmieducarEscolaRedeEnsino nao encontrada\n-->";
                 $opcoes = array("" => "Erro na geracao");
             }
             $this->campoLista("ref_cod_escola_rede_ensino", "Rede Ensino", $opcoes, $this->ref_cod_escola_rede_ensino, "", false, "", $script);
             $opcoes = array("" => "Selecione");
             if (class_exists("clsPmieducarEscolaLocalizacao")) {
                 /*$todas_escolas_localizacao = "escola_localizacao = new Array();\n";
                 		$objTemp = new clsPmieducarEscolaLocalizacao();
                 		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,1 );
                 		if ( is_array( $lista ) && count( $lista ) )
                 		{
                 			foreach ( $lista as $registro )
                 			{
                 				$todas_escolas_localizacao .= "escola_localizacao[escola_localizacao.length] = new Array( {$registro["cod_escola_localizacao"]}, '{$registro['nm_localizacao']}', {$registro["ref_cod_instituicao"]} );\n";
                 			}
                 		}
                 		echo "<script>{$todas_escolas_localizacao}</script>";*/
                 // EDITAR
                 $script = "javascript:showExpansivelIframe(520, 120, 'educar_escola_localizacao_cad_pop.php');";
                 if ($this->ref_cod_instituicao) {
                     $objTemp = new clsPmieducarEscolaLocalizacao();
                     $lista = $objTemp->lista(null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                     if (is_array($lista) && count($lista)) {
                         foreach ($lista as $registro) {
                             $opcoes["{$registro['cod_escola_localizacao']}"] = "{$registro['nm_localizacao']}";
                         }
                     }
                     $script = "<img id='img_localizacao' style='display:\\'\\'' src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 } else {
                     $script = "<img id='img_localizacao' style='display: none;' src='imagens/banco_imagens/escreve.gif' style='cursor:hand; cursor:pointer;' border='0' onclick=\"{$script}\">";
                 }
             } else {
                 echo "<!--\nErro\nClasse clsPmieducarEscolaLocalizacao nao encontrada\n-->";
                 $opcoes = array("" => "Erro na geracao");
             }
             $this->campoLista("ref_cod_escola_localizacao", "Escola Localiza&ccedil;&atilde;o", $opcoes, $this->ref_cod_escola_localizacao, "", false, "", $script);
             // Detalhes do Endereco
             $objUf = new clsUf();
             $listauf = $objUf->lista();
             $listaEstado = array("" => "Selecione");
             if ($listauf) {
                 foreach ($listauf as $uf) {
                     $listaEstado[$uf['sigla_uf']] = $uf['sigla_uf'];
                 }
             }
             $objTipoLog = new clsTipoLogradouro();
             $listaTipoLog = $objTipoLog->lista();
             $listaTLog = array("" => "Selecione");
             if ($listaTipoLog) {
                 foreach ($listaTipoLog as $tipoLog) {
                     $listaTLog[urldecode($tipoLog['idtlog'])] = $tipoLog['descricao'];
                 }
             }
             $this->campoOculto("isEnderecoExterno", $this->isEnderecoExterno);
             //	echo "$this->cep ,$this->sigla_uf ";
             $this->campoOculto("cep_", $this->cep_);
             $this->campoOculto("sigla_uf_", $this->sigla_uf_);
             $this->campoOculto("cidade_", $this->cidade_);
             $this->campoOculto("bairro_", $this->bairro_);
             $this->campoOculto("idbai", $this->idbai);
             $this->campoOculto("logradouro_", $this->logradouro_);
             $this->campoOculto("idlog", $this->idlog);
             $this->campoOculto("idtlog_", $this->idtlog_);
             $disabled = $this->isEnderecoExterno ? false : true;
             if ($this->idlog && $this->idbai && $this->cep && $this->ref_idpes) {
                 $this->campoOculto("cep_", $this->cep);
                 $this->cep_ = int2CEP($this->cep);
                 //$this->campoLista( "ref_cod_escola_localizacao", "Escola Localizac&atilde;o", $opcoes, $this->ref_cod_escola_localizacao );
                 //						$this->campoCep("cep_","CEP", int2CEP($this->cep),true,"-","&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_f('pesquisa_cep3.php', 'enderecos')\" style=\"cursor: hand;\">",true);
                 //						$this->campoCep( "cep_", "CEP", int2CEP( $this->cep ), true, "-", "&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_f( 'pesquisa_cep_lst.php', 'enderecos' )\" style=\"cursor: hand;\">", false );
                 //$this->campoCep( "cep", "CEP", int2CEP( $this->cep ), true, "-", "&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_popless('pesquisa_cep_lst.php', 'enderecos')\" style=\"cursor: hand;\">", true );
                 $this->campoCep("cep", "CEP", $this->cep_, true, "-", "<img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<iframe name=\\'miolo\\' id=\\'miolo\\' frameborder=\\'0\\' height=\\'100%\\' width=\\'500\\' marginheight=\\'0\\' marginwidth=\\'0\\' src=\\'educar_pesquisa_cep_log_bairro.php?campo1=bairro&campo2=idbai&campo3=cep_&campo4=logradouro&campo5=idlog&campo6=sigla_uf_&campo7=cidade&campo8=idtlog_&campo9=isEnderecoExterno&campo10=cep&campo11=sigla_uf&campo12=idtlog&campo13=cidade_\\'></iframe>');\">", $disabled);
                 $this->campoLista("sigla_uf", "Estado", $listaEstado, $this->sigla_uf, false, false, false, false, true, true);
                 $this->campoTexto("cidade", "Cidade", $this->cidade, "50", "255", true, false, false, "", "", "", "onKeyUp", true);
                 $this->campoTexto("bairro", "Bairro", $this->bairro, "50", "255", true, false, false, "", "", "", "onKeyUp", true);
                 $this->campoLista("idtlog", "Tipo Logradouro", $listaTLog, $this->idtlog, false, false, false, false, true, true);
                 $this->campoTexto("logradouro", "Logradouro", $this->logradouro, "50", "255", true, false, false, "", "", "", "onKeyUp", true);
                 $this->campoTexto("complemento", "Complemento", $this->complemento, "22", "20", false, false);
                 $this->campoNumero("numero", "Número", $this->numero, "6", "6", false);
                 $this->campoNumero("andar", "Andar", $this->andar, "2", "2", false);
             } elseif ($this->ref_idpes && $this->cep) {
                 $this->cep = is_numeric($this->cep) ? int2CEP($this->cep) : $this->cep;
                 //						$this->campoCep("cep_","CEP", int2CEP($this->cep),true,"-","&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_f('pesquisa_cep3.php', 'enderecos')\" style=\"cursor: hand;\">",false);
                 //						$this->campoCep( "cep_", "CEP", int2CEP( $this->cep ), true, "-", "&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_f( 'pesquisa_cep_lst.php', 'enderecos' )\" style=\"cursor: hand;\">", false );
                 //$this->campoCep( "cep", "CEP", int2CEP( $this->cep ), true, "-", "&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_popless('pesquisa_cep_lst.php', 'enderecos')\" style=\"cursor: hand;\">", false );
                 $this->campoCep("cep", "CEP", $this->cep, true, "-", "<img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<iframe name=\\'miolo\\' id=\\'miolo\\' frameborder=\\'0\\' height=\\'100%\\' width=\\'500\\' marginheight=\\'0\\' marginwidth=\\'0\\' src=\\'educar_pesquisa_cep_log_bairro.php?campo1=bairro&campo2=idbai&campo3=cep_&campo4=logradouro&campo5=idlog&campo6=sigla_uf_&campo7=cidade&campo8=idtlog_&campo9=isEnderecoExterno&campo10=cep&campo11=sigla_uf&campo12=idtlog&campo13=cidade_\\'></iframe>');\">");
                 $this->campoLista("sigla_uf", "Estado", $listaEstado, $this->sigla_uf, "", false, "", "", false, true);
                 $this->campoTexto("cidade", "Cidade", $this->cidade, "50", "255", true, false, false, "", "", "", "onKeyUp", false);
                 $this->campoTexto("bairro", "Bairro", $this->bairro, "50", "255", true, false, false, "", "", "", "onKeyUp", false);
                 $this->campoLista("idtlog", "Tipo Logradouro", $listaTLog, $this->idtlog, "", false, "", "", false, true);
                 $this->campoTexto("logradouro", "Logradouro", $this->logradouro, "50", "255", true, false, false, "", "", "", "onKeyUp", false);
                 $this->campoTexto("complemento", "Complemento", $this->complemento, "22", "20", false, false, false, "", "", "", "onKeyUp", false);
                 $this->campoNumero("numero", "Número", $this->numero, 6, 6, false, "", "");
                 $this->campoNumero("andar", "Andar", $this->andar, "2", "2", false);
             } else {
                 if (!$this->isEnderecoExterno) {
                     $obj_bairro = new clsBairro($this->idbai);
                     $this->cep_ = int2CEP($this->cep_);
                     $obj_bairro_det = $obj_bairro->detalhe();
                     if ($obj_bairro_det) {
                         $this->bairro = $obj_bairro_det["nome"];
                     }
                     $obj_log = new clsLogradouro($this->idlog);
                     $obj_log_det = $obj_log->detalhe();
                     if ($obj_log_det) {
                         $this->logradouro = $obj_log_det["nome"];
                         $this->idtlog = $obj_log_det["idtlog"]->idtlog;
                         $obj_mun = new clsMunicipio($obj_log_det["idmun"]);
                         $det_mun = $obj_mun->detalhe();
                         if ($det_mun) {
                             $this->cidade = strtoupper(ucfirst(strtolower($det_mun["nome"])));
                         }
                         $this->sigla_uf = $this->sigla_uf_ = $det_mun['sigla_uf']->sigla_uf;
                     }
                 } else {
                     $this->cep_ = $this->cep;
                 }
                 /*$obj_bairro = new clsBairro($obj_endereco_det["ref_idbai"]);
                 					$obj_bairro_det = $obj_bairro->detalhe();
                 
                 					if($obj_bairro_det){
                 
                 						$this->bairro = $obj_bairro_det["nome"];
                 					}*/
                 //						$this->campoCep("cep_","CEP", int2CEP($this->cep),true,"-","&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_f('pesquisa_cep3.php', 'enderecos')\" style=\"cursor: hand;\">",true);
                 //						$this->campoCep( "cep_", "CEP", int2CEP( $this->cep ), true, "-", "&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_f( 'pesquisa_cep_lst.php', 'enderecos' )\" style=\"cursor: hand;\">", false );
                 //						$this->campoCep( "cep_", "CEP", int2CEP( $this->cep ), true, "-", "&nbsp;<img src=\"imagens/lupa.png\" border=\"0\" onclick=\"pesquisa_valores_popless('pesquisa_cep_lst.php', 'enderecos')\" style=\"cursor: hand;\">", false );
                 $this->campoCep("cep", "CEP", $this->cep_, true, "-", "<img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<iframe name=\\'miolo\\' id=\\'miolo\\' frameborder=\\'0\\' height=\\'100%\\' width=\\'500\\' marginheight=\\'0\\' marginwidth=\\'0\\' src=\\'educar_pesquisa_cep_log_bairro.php?campo1=bairro&campo2=idbai&campo3=cep_&campo4=logradouro&campo5=idlog&campo6=sigla_uf_&campo7=cidade&campo8=idtlog_&campo9=isEnderecoExterno&campo10=cep&campo11=sigla_uf&campo12=idtlog&campo13=cidade_\\'></iframe>');\">", $disabled);
                 //	$this->campoCep("cep_", "CEP", $this->cep_, true, "-", "<img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<iframe name=\'miolo\' id=\'miolo\' frameborder=\'0\' height=\'100%\' width=\'500\' marginheight=\'0\' marginwidth=\'0\' src=\'educar_pesquisa_cep_log_bairro.php?campo1=nm_bairro&campo2=id_bairro&campo3=id_cep&campo4=nm_logradouro&campo5=id_logradouro&campo6=ref_sigla_uf&campo7=cidade&campo8=ref_idtlog_&campo9=isEnderecoExterno&campo10=cep_&campo11=ref_sigla_uf_&campo12=ref_idtlog&campo13=id_cidade\'></iframe>');\">", $disabled);
                 $this->campoLista("sigla_uf", "Estado", $listaEstado, $this->sigla_uf, false, false, false, false, $disabled, true);
                 $this->campoTexto("cidade", "Cidade", $this->cidade, "50", "255", true, false, false, "", "", "", "", $disabled, true);
                 $this->campoTexto("bairro", "Bairro", $this->bairro, "50", "20", true, false, false, "", "", "", "", $disabled, true);
                 $this->campoLista("idtlog", "Tipo Logradouro", $listaTLog, $this->idtlog, false, false, false, false, $disabled, true);
                 $this->campoTexto("logradouro", "Logradouro", $this->logradouro, "50", "255", true, false, false, "", "", "", "", $disabled, true);
                 $this->campoTexto("complemento", "Complemento", $this->complemento, "22", "20", false, false, false);
                 $this->campoNumero("numero", "N&uacute;mero", $this->numero, "6", "6", false);
                 $this->campoNumero("andar", "Andar", $this->andar, "2", "2", false);
             }
             $this->campoNumero("p_ddd_telefone_1", "DDD Telefone 1", $this->p_ddd_telefone_1, 2, 2, false);
             $this->campoNumero("p_telefone_1", "Telefone 1", $this->p_telefone_1, 10, 15, false);
             $this->campoNumero("p_ddd_telefone_2", "DDD Telefone 2", $this->p_ddd_telefone_2, 2, 2, false);
             $this->campoNumero("p_telefone_2", "Telefone", $this->p_telefone_2, 10, 15, false);
             $this->campoNumero("p_ddd_telefone_fax", "DDD Fax", $this->p_ddd_telefone_fax, 2, 2, false);
             $this->campoNumero("p_telefone_fax", "Fax", $this->p_telefone_fax, 10, 15, false);
             $this->campoTexto("p_http", "Site", $this->p_http, "50", "255", false);
             $this->campoTexto("p_email", "E-mail", $this->p_email, "50", "255", false);
             //				}
             //				else
             //				{
             //					$this->mensagem = "nop";
             //				}
             $this->passou = true;
             $this->campoOculto("passou", $this->passou);
         }
         //			else if ( $this->passo == 3 )
         //			{
         //
         //
         //
         //			}
         if ($_POST["escola_curso"]) {
             $this->escola_curso = unserialize(urldecode($_POST["escola_curso"]));
         }
         if (is_numeric($this->cod_escola) && !$_POST) {
             $obj = new clsPmieducarEscolaCurso($this->cod_escola);
             $registros = $obj->lista($this->cod_escola);
             if ($registros) {
                 foreach ($registros as $campo) {
                     $this->escola_curso[$campo["ref_cod_curso"]] = $campo["ref_cod_curso"];
                 }
             }
         }
         if ($_POST["ref_cod_curso"]) {
             $this->escola_curso[$_POST["ref_cod_curso"]] = $_POST["ref_cod_curso"];
             unset($this->ref_cod_curso);
         }
         $this->campoQuebra();
         $this->campoOculto("excluir_curso", "");
         unset($aux);
         if ($this->escola_curso) {
             //				echo "<pre>";print_r($this->escola_curso);
             foreach ($this->escola_curso as $curso) {
                 if ($this->excluir_curso == $curso) {
                     unset($this->escola_curso[$curso]);
                     // = null;
                     $this->excluir_curso = null;
                 } else {
                     $obj_curso = new clsPmieducarCurso($curso);
                     $obj_curso_det = $obj_curso->detalhe();
                     $nm_curso = $obj_curso_det["nm_curso"];
                     $this->campoTextoInv("ref_cod_curso_{$curso}", "", $nm_curso, 30, 255, false, false, false, "", "<a href='#' onclick=\"getElementById('excluir_curso').value = '{$curso}'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>");
                     $aux[$curso] = $curso;
                 }
             }
             unset($this->escola_curso);
             $this->escola_curso = $aux;
         }
         $this->campoOculto("escola_curso", serialize($this->escola_curso));
         $opcoes = array("" => "Selecione");
         if (class_exists("clsPmieducarCurso")) {
             /*$todos_cursos = "curso = new Array();\n";
             		$objTemp = new clsPmieducarCurso();
             		$objTemp->setOrderby("nm_curso");
             		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1 );
             		if ( is_array( $lista ) && count( $lista ) )
             		{
             			foreach ( $lista as $registro )
             			{
             				$todos_cursos .= "curso[curso.length] = new Array({$registro["cod_curso"]},'{$registro["nm_curso"]}', {$registro["ref_cod_instituicao"]});\n";
             			}
             		}
             		echo "<script>{$todos_cursos}</script>";*/
             // EDITAR
             if ($this->cod_escola || $this->ref_cod_instituicao) {
                 $objTemp = new clsPmieducarCurso();
                 $objTemp->setOrderby("nm_curso");
                 $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
                 if (is_array($lista) && count($lista)) {
                     foreach ($lista as $registro) {
                         $opcoes["{$registro['cod_curso']}"] = "{$registro['nm_curso']}";
                     }
                 }
             }
         } else {
             echo "<!--\nErro\nClasse clsPmieducarCurso n&atilde;o encontrada\n-->";
             $opcoes = array("" => "Erro na gera&ccedil;&atilde;o");
         }
         if ($aux) {
             $this->campoLista("ref_cod_curso", "Curso", $opcoes, $this->ref_cod_curso, "", false, "", "<a href='#' onclick=\"getElementById('incluir_curso').value = 'S'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bot_adiciona.gif' title='Incluir' border=0></a>", false, false);
         } else {
             $this->campoLista("ref_cod_curso", "Curso", $opcoes, $this->ref_cod_curso, "", false, "", "<a href='#' onclick=\"getElementById('incluir_curso').value = 'S'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bot_adiciona.gif' title='Incluir' border=0></a>");
         }
         $this->campoOculto("incluir_curso", "");
         $this->campoQuebra();
     }
 }
 /**
  * Retorna os alunos do exame
  *
  * @return bool
  */
 function moduloExameAlunos($cod_disciplina_exame = null)
 {
     if (is_numeric($this->cod_turma)) {
         $cod_curso = $this->getCurso();
         $objCurso = new clsPmieducarCurso($cod_curso);
         $detCurso = $objCurso->detalhe();
         $modulos = $this->maxModulos();
         $objNotaAluno = new clsPmieducarNotaAluno();
         return $objNotaAluno->getAlunosExame($this->cod_turma, $modulos, $detCurso["media"], $cod_disciplina_exame);
     }
     return false;
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Reserva Vaga - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $lista_busca = array("S&eacute;rie", "Curso");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = 'Escola';
         $lista_busca[] = 'Institui&ccedil;&atilde;o';
     } elseif ($nivel_usuario == 2) {
         $lista_busca[] = "Escola";
     }
     $this->addCabecalhos($lista_busca);
     $get_escola = TRUE;
     $get_curso = TRUE;
     $get_escola_curso_serie = TRUE;
     include 'include/pmieducar/educar_campo_lista.php';
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET['pagina_' . $this->nome] ? $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0;
     $obj_escola_serie = new clsPmieducarEscolaSerie();
     $obj_escola_serie->setLimite($this->limite, $this->offset);
     $lista = $obj_escola_serie->lista($this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao, $this->ref_cod_curso);
     $total = $obj_escola_serie->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists('clsPmieducarSerie')) {
                 $obj_ref_cod_serie = new clsPmieducarSerie($registro['ref_cod_serie']);
                 $det_ref_cod_serie = $obj_ref_cod_serie->detalhe();
                 $nm_serie = $det_ref_cod_serie['nm_serie'];
             } else {
                 $registro['ref_cod_serie'] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarSerie\n-->";
             }
             if (class_exists('clsPmieducarCurso')) {
                 $obj_curso = new clsPmieducarCurso($registro["ref_cod_curso"]);
                 $det_curso = $obj_curso->detalhe();
                 $registro["ref_cod_curso"] = $det_curso["nm_curso"];
             } else {
                 $registro["ref_cod_serie"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarSerie\n-->";
             }
             if (class_exists('clsPmieducarEscola')) {
                 $obj_ref_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
                 $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
                 $nm_escola = $det_ref_cod_escola["nome"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             if (class_exists('clsPmieducarInstituicao')) {
                 $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             $lista_busca = array("<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$nm_serie}</a>", "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$registro["ref_cod_curso"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$nm_escola}</a>";
                 $lista_busca[] = "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     $lista_busca[] = "<a href=\"educar_reserva_vaga_det.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}\">{$nm_escola}</a>";
                 }
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2('educar_reserva_vaga_lst.php', $total, $_GET, $this->nome, $this->limite);
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de reservas de vaga"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 protected function getCurso($id)
 {
     $curso = new clsPmieducarCurso($id);
     return $curso->detalhe();
 }
 function Editar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(642, $this->pessoa_logada, 7, "educar_falta_nota_aluno_lst.php");
     //************************************* EDITA - MATRICULADO NUMA SERIE *************************************//
     if ($this->ref_ref_cod_serie) {
         //			if (is_numeric($this->modulo))
         //			{
         //				$this->mat_modulo = $this->modulo;
         //			}
         if (!$this->reprova_falta) {
             $this->editaSNotasFaltas();
         }
         /**
          * verifica se existem disciplinas sem notas
          *
          */
         $obj_nota_aluno = new clsPmieducarNotaAluno();
         $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
         /* verifica se o aluno está em exame
          * e se todas as matérias do exame estão com notas
          */
         $aluno_esta_em_exame = $_POST["aluno_esta_em_exame"];
         $qtd_disciplinas_aluno_exame = $_POST["qtd_disciplinas_aluno_exame"];
         if ($aluno_esta_em_exame == 1) {
             $sql = "SELECT COUNT(0)\n\t\t\t\t\t\t\t\tFROM pmieducar.nota_aluno na\n\t\t\t\t\t\t\t\t, pmieducar.disciplina d\n\t\t\t\t\t\t\t\t, pmieducar.v_matricula_matricula_turma mmt\n\t\t\t\t\t\t\t\tWHERE na.ref_cod_matricula = '{$this->ref_cod_matricula}'\n\t\t\t\t\t\t\t\tAND na.ref_cod_matricula = mmt.cod_matricula\n\t\t\t\t\t\t\t\tAND mmt.ref_cod_turma = '{$this->ref_cod_turma}'\n\t\t\t\t\t\t\t\tAND na.ativo = 1\n\t\t\t\t\t\t\t\tAND mmt.ativo = 1\n\t\t\t\t\t\t\t\tAND na.ref_cod_disciplina = d.cod_disciplina\n\t\t\t\t\t\t\t\tAND na.ref_cod_serie = '{$this->ref_ref_cod_serie}'\n\t\t\t\t\t\t\t\tAND na.modulo = '{$this->modulo}'";
             $db = new clsBanco();
             $notas_exame_ja_recebidas = $db->CampoUnico($sql);
             if ($qtd_disciplinas_aluno_exame == $notas_exame_ja_recebidas) {
                 $total = 0;
             }
         }
         /**
          * existem disciplinas sem notas
          * somente cadastra e o modulo do aluno
          * continua igual sem calcular nada
          */
         if ($total > 0) {
             /**
              * caso NENHUMA materia tenha nota
              * (por motivo de exclusao) verificar se o modulo da matricula
              * é maior que o ultimo modulo com nota
              * entao decrementar o modulo da matricula
              */
             $ultimo_modulo_matricula = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
             if ($ultimo_modulo_matricula < $this->mat_modulo) {
                 if ($this->nota_foi_removida && $this->pessoa_logada == 184580) {
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                     $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, $this->ref_cod_matricula);
                     if (is_array($lst_hst_escolar)) {
                         $det_hst_escolar = array_shift($lst_hst_escolar);
                         $obj_hd = new clsPmieducarHistoricoDisciplinas();
                         $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                         if (!$excluiu_hd) {
                             $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                             return false;
                         }
                         $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                         $excluiu_he = $obj_hst_escolar->excluir();
                         if (!$excluiu_he) {
                             $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                             return false;
                         }
                     }
                 }
                 $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 3, null, null, null, null, null, $ultimo_modulo_matricula);
                 $editou = $obj->edita();
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         } else {
             //$ultimo_modulo_matricula = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
             //die("$ultimo_modulo_matricula < $this->mat_modulo || $this->modulo");
             if ($this->mat_modulo == $this->modulo) {
                 $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 3, null, null, null, null, null, $ultimo_modulo_matricula);
                 $editou = $obj->avancaModulo();
             }
         }
         $aprovado = 3;
         if ($this->qtd_modulos <= $this->mat_modulo) {
             $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
             $det_curso = $obj_curso->detalhe();
             $frequencia_minima = $det_curso["frequencia_minima"];
             $hora_falta = $det_curso["hora_falta"];
             $carga_horaria_curso = $det_curso["carga_horaria"];
             $obj_esd = new clsPmieducarEscolaSerieDisciplina();
             $lst_esd = $obj_esd->lista($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, null, 1);
             if (is_array($lst_esd)) {
                 $obj_nota_aluno = new clsPmieducarNotaAluno();
                 $max_nota = $obj_nota_aluno->getMaxNotas($this->ref_cod_matricula);
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $media_especial = $det_serie['media_especial'];
                 foreach ($lst_esd as $campo) {
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $obj_nota_aluno->setOrderby("modulo ASC");
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $campo["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, null, 1);
                     // so busca as notas da disciplina se nao for media especial
                     if (is_array($lst_nota_aluno) && !dbBool($media_especial)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno['nota']) {
                                 $soma_notas[$campo["ref_cod_disciplina"]][$key] = $nota_aluno['nota'] * 2;
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $soma_notas[$campo["ref_cod_disciplina"]][$key] = $det_avaliacao_valores["valor"];
                             }
                         }
                     }
                     if (!$this->falta_ch_globalizada) {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $campo["ref_cod_disciplina"], $this->ref_cod_matricula, null, null, null, null, null, 1);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $soma_faltas[$campo["ref_cod_disciplina"]][$key] = $falta_aluno["faltas"];
                             }
                         }
                     }
                 }
                 if (is_array($soma_faltas)) {
                     foreach ($soma_faltas as $disciplina => $faltas) {
                         foreach ($faltas as $falta) {
                             $faltas_media_aluno[$disciplina] += $falta;
                         }
                     }
                 }
             }
             if (is_array($faltas_media_aluno)) {
                 foreach ($faltas_media_aluno as $disciplina => $faltas) {
                     $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $carga_horaria_disciplina = $det_disciplina["carga_horaria"];
                     // calcula o maximo de horas q o aluno pode faltar na disciplina
                     $max_falta = $carga_horaria_disciplina * $frequencia_minima / 100;
                     $max_falta = $carga_horaria_disciplina - $max_falta;
                     // calcula a quantidade de faltas por hora do aluno na disciplina
                     $faltas *= $hora_falta;
                     if ($faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             } else {
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $carga_horaria_serie = $det_serie["carga_horaria"];
                 // calcula o maximo de horas q o aluno pode faltar na serie
                 $max_falta = $carga_horaria_serie * $frequencia_minima / 100;
                 $max_falta = $carga_horaria_serie - $max_falta;
                 // calcula a quantidade de faltas por hora do aluno na serie
                 $obj_faltas = new clsPmieducarFaltas();
                 $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula);
                 if (is_array($lst_faltas)) {
                     $total_faltas = 0;
                     foreach ($lst_faltas as $key => $faltas) {
                         $total_faltas += $faltas['falta'];
                     }
                     $total_faltas *= $hora_falta;
                     if ($total_faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$total_faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             }
             /**
              * calculo de media especial
              */
             if (dbBool($media_especial)) {
                 $objNotaAluno = new clsPmieducarNotaAluno();
                 $media = $objNotaAluno->getMediaEspecialAluno($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->qtd_modulos, $this->media);
                 if ($media < $this->media) {
                     //  reprovado direto sem exame
                     $aprovado = 2;
                 }
             }
         }
         $db2 = new clsBanco();
         //retorna quantas matérias o aluno cursa não contabilizando as matérias com dispensa
         $sql = "SELECT COUNT(0) FROM pmieducar.escola_serie_disciplina WHERE ref_ref_cod_serie = {$this->ref_ref_cod_serie} \n\t\t\t\t\tAND ref_ref_cod_escola = {$this->ref_ref_cod_escola} AND escola_serie_disciplina.ativo = 1\n\t\t\t\t\tAND ref_cod_disciplina NOT IN (\n\t\t\t\t\t\tSELECT ref_cod_disciplina\n\t\t\t\t\t\tFROM pmieducar.dispensa_disciplina WHERE \n\t\t\t\t\t\tref_cod_matricula = {$this->ref_cod_matricula} AND ref_cod_serie = {$this->ref_ref_cod_serie}\n\t\t\t\t\t\tAND ref_cod_escola = {$this->ref_ref_cod_escola} AND ativo = 1\n\t\t\t\t\t)";
         $qtd_materias = $db2->CampoUnico($sql);
         //retorna quantas notas notas o aluno possui não contabilizandoa das matérias dispensadas
         $sql = "SELECT COUNT(0) FROM pmieducar.nota_aluno \n\t\t\t\t\tWHERE ref_cod_matricula = {$this->ref_cod_matricula} AND ativo = 1\n\t\t\t\t\tAND ref_cod_disciplina NOT IN (\n\t\t\t\t\t\t\tSELECT ref_cod_disciplina FROM pmieducar.dispensa_disciplina WHERE \n\t\t\t\t\t\t\tref_cod_matricula = {$this->ref_cod_matricula} AND ref_cod_serie = {$this->ref_ref_cod_serie} \n\t\t\t\t\t\t\tAND ref_cod_escola = {$this->ref_ref_cod_escola} AND ativo = 1\n\t\t\t\t\t)";
         //variável em uma edição para verificar se o aluno possui todas as notas
         //para mudar o estado de aprovado dele
         $qtd_notas_possui = $db2->CampoUnico($sql);
         $possui_todas_as_notas = $this->qtd_modulos * $qtd_materias >= $qtd_notas_possui || $aluno_esta_em_exame == 1 ? true : false;
         if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos == $max_nota && !dbBool($media_especial)) {
             if (is_array($soma_notas) && !dbBool($media_especial)) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     foreach ($notas as $nota) {
                         if (dbBool($det_serie["ultima_nota_define"])) {
                             $nota_media_aluno[$disciplina] = $nota;
                         } else {
                             $nota_media_aluno[$disciplina] += $nota;
                         }
                     }
                     if (!dbBool($det_serie["ultima_nota_define"])) {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                     }
                     /**
                      * verifica se existem disciplinas sem notas
                      * somente aprova caso seja zero
                      */
                     //$obj_nota_aluno = new clsPmieducarNotaAluno();
                     //	$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
                     if ($nota < $this->media && $this->media_exame && !$this->conceitual && $possui_todas_as_notas) {
                         $em_exame = true;
                         // aluno em exame
                     } else {
                         if ($valor < $this->media && !$this->media_exame && !$this->conceitual && $possui_todas_as_notas) {
                             $aprovado = 2;
                             // aluno reprovado direto (n existe exame)
                         }
                     }
                 }
             }
         } else {
             if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos < $max_nota && !dbBool($media_especial)) {
                 //				echo "<pre>"; print_r($soma_notas);
                 foreach ($soma_notas as $disciplina => $notas) {
                     $qtd_notas = 0;
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                         $qtd_notas++;
                     }
                     if ($qtd_notas == $this->modulo) {
                         $nota_media_aluno[$disciplina] /= $this->modulo + 1;
                     } else {
                         $nota_media_aluno[$disciplina] /= $this->modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         if ($valor < $this->media_exame) {
                             $aprovado = 2;
                             // aluno reprovado no exame
                         }
                         /*else if ( ($valor < $this->media) && ($this->qtd_modulos >= $this->modulo) )
                         		$aprovado = 7; // aluno em exame*/
                     }
                 }
             }
         }
         /**
          * verifica se existem disciplinas sem notas
          * somente aprova caso seja zero
          */
         //$obj_nota_aluno = new clsPmieducarNotaAluno();
         //$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
         if ($this->conceitual) {
             $aprovado = $this->aprovado;
             // situacao definida pelo professor
         } else {
             if (!$em_exame && $this->qtd_modulos <= $this->mat_modulo && $aprovado == 3 && !$this->conceitual && $possui_todas_as_notas) {
                 $aprovado = 1;
                 // aluno aprovado
             }
         }
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado);
         $editou = $obj->edita();
         //die($aprovado);
         if ($editou) {
             /**
              * aluno reprovado mantem historico
              * 01/03/2006
              */
             if ($aprovado == 2 || $aprovado == 3 || $aprovado == 1) {
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, null, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hd = new clsPmieducarHistoricoDisciplinas();
                     $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                     if (!$excluiu_hd) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                         return false;
                     }
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                     $excluiu_he = $obj_hst_escolar->excluir();
                     if (!$excluiu_he) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                         return false;
                     }
                 }
             }
             /*else */
             if ($aprovado == 1 || $aprovado == 2) {
                 $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
                 $det_serie = $obj_serie->detalhe();
                 $carga_horaria_serie = $det_serie["carga_horaria"];
                 $obj_escola = new clsPmieducarEscola($this->ref_ref_cod_escola);
                 $det_escola = $obj_escola->detalhe();
                 $ref_idpes = $det_escola["ref_idpes"];
                 // busca informacoes da escola
                 if ($ref_idpes) {
                     $obj_escola = new clsPessoaJuridica($ref_idpes);
                     $det_escola = $obj_escola->detalhe();
                     $nm_escola = $det_escola["fantasia"];
                     if ($det_escola) {
                         $cidade = $det_escola["cidade"];
                         $uf = $det_escola["sigla_uf"];
                     }
                 } else {
                     if (class_exists("clsPmieducarEscolaComplemento")) {
                         $obj_escola = new clsPmieducarEscolaComplemento($this->ref_ref_cod_escola);
                         $det_escola = $obj_escola->detalhe();
                         $nm_escola = $det_escola["nm_escola"];
                         $cidade = $det_escola["municipio"];
                     }
                 }
                 if ($this->padrao_ano_escolar) {
                     $extra_curricular = 0;
                 } else {
                     $extra_curricular = 1;
                 }
                 $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$this->ref_cod_matricula}";
                 $db5 = new clsBanco();
                 $total_faltas = $db5->CampoUnico($sql);
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, null, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, null, null, $extra_curricular);
                     $editou_he = $obj->edita();
                 } else {
                     $obj = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $this->pessoa_logada, $det_serie["nm_serie"], $this->ano_letivo, $carga_horaria_serie, null, $nm_escola, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, $extra_curricular, $this->ref_cod_matricula);
                     $cadastrou_he = $obj->cadastra();
                 }
                 if (($editou_he || $cadastrou_he) && !$this->conceitual) {
                     if ($cadastrou_he) {
                         $obj_historico = new clsPmieducarHistoricoEscolar();
                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                     } else {
                         $sequencial = $det_hst_escolar["sequencial"];
                     }
                     $historico_disciplina = array();
                     foreach ($nota_media_aluno as $key => $nota) {
                         $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]);
                     }
                     foreach ($historico_disciplina as $disciplina => $campo) {
                         $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                         $det_disciplina = $obj_disciplina->detalhe();
                         $nm_disciplina = $det_disciplina["nm_disciplina"];
                         $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                         $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $campo[0], $campo[0]);
                         if (is_array($lst_avaliacao_valores)) {
                             $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                             $nm_nota = $det_avaliacao_valores["nome"];
                             $obj_hd = new clsPmieducarHistoricoDisciplinas();
                             $lst_hd = $obj_hd->lista(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina);
                             if (is_array($lst_hd)) {
                                 $det_hd = array_shift($lst_hd);
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas($det_hd["sequencial"], $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->edita();
                             } else {
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->cadastra();
                             }
                             if (!$hst_disciplina) {
                                 $this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Disciplinas n&atilde;o realizado.<br>";
                                 return false;
                             }
                         } else {
                             $this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar os Valores do Tipo de Avalia&ccedil;&atilde;o.<br>";
                             return false;
                         }
                     }
                 }
                 /*
                 else if( (!$editou_he || !$cadastrou_he) && (!$this->conceitual) )
                 {
                 	$this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                 	return false;
                 }
                 */
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada (Matr&iacute;cula).<br>";
         echo "<!--\nErro ao editar clsPmieducarMatricula\nvalores obrigatorios\nis_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->modulo} )\n-->";
         return false;
     } else {
         if (!$this->reprova_falta) {
             $this->editaCNotasFaltas();
         }
         /**
          * verifica se existem disciplinas sem notas
          *
          */
         $obj_nota_aluno = new clsPmieducarNotaAluno();
         $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
         /**
          * existem disciplinas sem notas
          * somente cadastra e o modulo do aluno
          * continua igual sem calcular nada
          */
         if ($total) {
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $aprovado = 3;
         if ($this->qtd_modulos <= $this->mat_modulo) {
             $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
             $det_curso = $obj_curso->detalhe();
             $frequencia_minima = $det_curso["frequencia_minima"];
             $hora_falta = $det_curso["hora_falta"];
             $carga_horaria_curso = $det_curso["carga_horaria"];
             $obj_disciplina = new clsPmieducarDisciplina();
             $lst_disciplina = $obj_disciplina->lista(null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_curso);
             if (is_array($lst_disciplina)) {
                 foreach ($lst_disciplina as $campo) {
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $lst_nota_aluno = $obj_nota_aluno->lista(null, null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, null, 1, null, $campo["cod_disciplina"]);
                     if (is_array($lst_nota_aluno)) {
                         foreach ($lst_nota_aluno as $key => $nota_aluno) {
                             if ($nota_aluno["nota"]) {
                                 $soma_notas[$campo["cod_disciplina"]][$key] = $nota_aluno["nota"] * 2;
                             } else {
                                 $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores($nota_aluno["ref_ref_cod_tipo_avaliacao"], $nota_aluno["ref_sequencial"]);
                                 $det_avaliacao_valores = $obj_avaliacao_valores->detalhe();
                                 $soma_notas[$campo["cod_disciplina"]][$key] = $det_avaliacao_valores["valor"];
                             }
                         }
                     }
                     if (!$this->falta_ch_globalizada) {
                         $obj_falta_aluno = new clsPmieducarFaltaAluno();
                         $lst_falta_aluno = $obj_falta_aluno->lista(null, null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, 1, null, $campo["cod_disciplina"]);
                         if (is_array($lst_falta_aluno)) {
                             foreach ($lst_falta_aluno as $key => $falta_aluno) {
                                 $soma_faltas[$campo["cod_disciplina"]][$key] = $falta_aluno["faltas"];
                             }
                         }
                     }
                 }
                 if (is_array($soma_faltas)) {
                     foreach ($soma_faltas as $disciplina => $faltas) {
                         foreach ($faltas as $falta) {
                             $faltas_media_aluno[$disciplina] += $falta;
                         }
                     }
                 }
             }
             if (is_array($faltas_media_aluno)) {
                 foreach ($faltas_media_aluno as $disciplina => $faltas) {
                     $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                     $det_disciplina = $obj_disciplina->detalhe();
                     $carga_horaria_disciplina = $det_disciplina["carga_horaria"];
                     // calcula o maximo de horas q o aluno pode faltar na disciplina
                     $max_falta = $carga_horaria_disciplina * $frequencia_minima / 100;
                     $max_falta = $carga_horaria_disciplina - $max_falta;
                     // calcula a quantidade de faltas por hora do aluno na disciplina
                     $faltas *= $hora_falta;
                     if ($faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             } else {
                 // calcula o maximo de horas q o aluno pode faltar no curso
                 $max_falta = $carga_horaria_curso * $frequencia_minima / 100;
                 $max_falta = $carga_horaria_curso - $max_falta;
                 // calcula a qtd de faltas por hora do aluno no curso
                 $obj_faltas = new clsPmieducarFaltas();
                 $lst_faltas = $obj_faltas->lista($this->ref_cod_matricula);
                 if (is_array($lst_faltas)) {
                     $total_faltas = 0;
                     foreach ($lst_faltas as $key => $faltas) {
                         $total_faltas += $faltas['falta'];
                     }
                     $total_faltas *= $hora_falta;
                     if ($total_faltas > $max_falta && !$this->reprova_falta) {
                         echo "<script>\n\t\t\t\t\t\t\t\t\tif( confirm('O aluno excedeu o valor máximo de faltas permitidas, \\n deseja reprová-lo? \\n Quantidade de faltas do aluno: {$total_faltas} \\n Valor máximo de faltas permitido: {$max_falta} \\n \\n Clique em OK para reprová-lo ou em CANCELAR para ignorar.') )\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=s';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.location = 'educar_falta_nota_aluno_cad.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&ref_sequencial_matricula_turma={$this->ref_sequencial_matricula_turma}&modulo={$this->modulo}&falta=n';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</script>";
                         return true;
                     }
                     if ($this->reprova_falta == 's') {
                         $aprovado = 2;
                         // aluno reprovado por falta
                     }
                 }
             }
         }
         if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos == $max_nota) {
             if (is_array($soma_notas)) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                     }
                     $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         /*
                         if ( ($valor < $this->media) && $this->media_exame && !$this->conceitual )
                         {
                         	$em_exame = true;
                         }
                         else if ( ($valor < $this->media) && !$this->media_exame && !$this->conceitual )
                         {
                         	$aprovado = 2; // aluno reprovado direto (n existe exame)
                         }
                         */
                     }
                     /**
                      * verifica se existem disciplinas sem notas
                      * somente aprova caso seja zero
                      */
                     $obj_nota_aluno = new clsPmieducarNotaAluno();
                     $total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula, $this->ref_ref_cod_serie, $this->ref_cod_turma, $this->modulo, $this->ref_ref_cod_escola);
                     if ($nota < $this->media && $this->media_exame && !$this->conceitual) {
                         $em_exame = true;
                         // aluno em exame
                     } else {
                         if ($valor < $this->media && !$this->media_exame && !$this->conceitual) {
                             $aprovado = 2;
                             // aluno reprovado direto (n existe exame)
                         }
                     }
                 }
             }
         } else {
             if ($this->qtd_modulos < $this->mat_modulo && $this->qtd_modulos < $max_nota) {
                 foreach ($soma_notas as $disciplina => $notas) {
                     $qtd_notas = 0;
                     foreach ($notas as $nota) {
                         $nota_media_aluno[$disciplina] += $nota;
                         $qtd_notas++;
                     }
                     if ($qtd_notas == $this->mat_modulo) {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo;
                     } else {
                         $nota_media_aluno[$disciplina] /= $this->mat_modulo - 1;
                     }
                 }
                 foreach ($nota_media_aluno as $disciplina => $nota) {
                     $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                     $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $nota, $nota);
                     if (is_array($lst_avaliacao_valores)) {
                         $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                         $valor = $det_avaliacao_valores["valor"];
                         if ($valor < $this->media_exame) {
                             $aprovado = 2;
                             // aluno reprovado no exame
                         }
                     }
                 }
             }
         }
         /**
          * verifica se existem disciplinas sem notas
          * somente aprova caso seja zero
          */
         //$obj_nota_aluno = new clsPmieducarNotaAluno();
         //$total = $obj_nota_aluno->getQtdRestanteNotasAlunoNaoApuraFaltas($this->ref_cod_matricula,$this->ref_ref_cod_serie,$this->ref_cod_turma,$this->modulo,$this->ref_ref_cod_escola);
         if ($this->conceitual) {
             $aprovado = $this->aprovado;
             // situacao definida pelo professor
         } else {
             if (!$em_exame && $this->qtd_modulos <= $this->mat_modulo && $aprovado == 3 && !$this->conceitual) {
                 $aprovado = 1;
                 // aluno aprovado
             }
         }
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, $aprovado);
         $editou = $obj->edita();
         if ($editou) {
             /**
              * aluno reprovado edita nao remove do historico
              */
             if ($aprovado == 2 || $aprovado == 3) {
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hd = new clsPmieducarHistoricoDisciplinas();
                     $excluiu_hd = $obj_hd->excluirTodos($this->ref_cod_aluno, $det_hst_escolar["sequencial"]);
                     if (!$excluiu_hd) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Disciplina n&atilde;o realizado.<br>";
                         return false;
                     }
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, 0);
                     $excluiu_he = $obj_hst_escolar->excluir();
                     if (!$excluiu_he) {
                         $this->mensagem = "Exclus&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                         return false;
                     }
                 }
             }
             /*else*/
             if ($aprovado == 1 || $aprovado == 2) {
                 // busca informacoes da instituicao
                 $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
                 $det_instituicao = $obj_instituicao->detalhe();
                 $nm_instituicao = $det_instituicao["nm_instituicao"];
                 $cidade = $det_instituicao["cidade"];
                 $uf = $det_instituicao["ref_sigla_uf"];
                 $obj_hst_escolar = new clsPmieducarHistoricoEscolar();
                 $lst_hst_escolar = $obj_hst_escolar->lista($this->ref_cod_aluno, null, null, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                 $sql = "SELECT SUM(falta) FROM pmieducar.faltas WHERE ref_cod_matricula = {$this->ref_cod_matricula}";
                 $db5 = new clsBanco();
                 $total_faltas = $db5->CampoUnico($sql);
                 if (is_array($lst_hst_escolar)) {
                     $det_hst_escolar = array_shift($lst_hst_escolar);
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, $det_hst_escolar["sequencial"], $this->pessoa_logada, null, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, $nm_instituicao, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                     $editou_he = $obj_hst_escolar->edita();
                 } else {
                     $obj_hst_escolar = new clsPmieducarHistoricoEscolar($this->ref_cod_aluno, null, null, $this->pessoa_logada, $det_curso['nm_curso'], $this->ano_letivo, $carga_horaria_curso, null, $nm_instituicao, $cidade, $uf, null, $aprovado, null, null, 1, $total_faltas, $this->ref_cod_instituicao, 0, 1, $this->ref_cod_matricula);
                     $cadastrou_he = $obj_hst_escolar->cadastra();
                 }
                 if (($editou_he || $cadastrou_he) && !$this->conceitual) {
                     if ($cadastrou_he) {
                         $obj_historico = new clsPmieducarHistoricoEscolar();
                         $sequencial = $obj_historico->getMaxSequencial($this->ref_cod_aluno);
                     } else {
                         $sequencial = $det_hst_escolar["sequencial"];
                     }
                     $historico_disciplina = array();
                     foreach ($nota_media_aluno as $key => $nota) {
                         $historico_disciplina[$key] = array($nota, $faltas_media_aluno[$key]);
                     }
                     foreach ($historico_disciplina as $disciplina => $campo) {
                         $obj_disciplina = new clsPmieducarDisciplina($disciplina);
                         $det_disciplina = $obj_disciplina->detalhe();
                         $nm_disciplina = $det_disciplina["nm_disciplina"];
                         $obj_avaliacao_valores = new clsPmieducarTipoAvaliacaoValores();
                         $lst_avaliacao_valores = $obj_avaliacao_valores->lista($this->ref_cod_tipo_avaliacao, null, null, null, $campo[0], $campo[0]);
                         if (is_array($lst_avaliacao_valores)) {
                             $det_avaliacao_valores = array_shift($lst_avaliacao_valores);
                             $nm_nota = $det_avaliacao_valores["nome"];
                             $obj_hd = new clsPmieducarHistoricoDisciplinas();
                             $lst_hd = $obj_hd->lista(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina);
                             if (is_array($lst_hd)) {
                                 $det_hd = array_shift($lst_hd);
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas($det_hd["sequencial"], $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->edita();
                             } else {
                                 $obj_hd = new clsPmieducarHistoricoDisciplinas(null, $this->ref_cod_aluno, $sequencial, $nm_disciplina, $nm_nota, $campo[1]);
                                 $hst_disciplina = $obj_hd->cadastra();
                             }
                             if (!$hst_disciplina) {
                                 $this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Disciplinas n&atilde;o realizado.<br>";
                                 return false;
                             }
                         } else {
                             $this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar os Valores do Tipo de Avalia&ccedil;&atilde;o.<br>";
                             return false;
                         }
                     }
                 }
                 /*
                 else if( !$editou_he || !$cadastrou_he )
                 {
                 	$this->mensagem = "Cadastro/Edi&ccedil;&atilde;o do Hist&oacute;rico Escolar n&atilde;o realizado.<br>";
                 	return false;
                 }
                 */
             }
             $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
             header("Location: educar_falta_nota_aluno_det.php?ref_cod_matricula={$this->ref_cod_matricula}&ref_cod_turma={$this->ref_cod_turma}&sequencial={$this->ref_sequencial_matricula_turma}");
             die;
             return true;
         }
         $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada (Matr&iacute;cula).<br>";
         echo "<!--\nErro ao editar clsPmieducarMatricula\nvalores obrigatorios\nis_numeric( {$this->ref_cod_matricula} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->modulo} )\n-->";
         return false;
     }
 }
 function Gerar()
 {
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     $this->campoOculto("serie_origem_old", $this->ref_serie_origem);
     $this->campoOculto("serie_destino_old", $this->ref_serie_destino);
     // foreign keys
     if ($nivel_usuario == 1) {
         //		echo "<pre>"; print_r($GLOBALS); die();
         $GLOBALS["nivel_usuario_fora"] = 1;
         $objInstituicao = new clsPmieducarInstituicao();
         $opcoes = array("" => "Selecione");
         $objInstituicao->setOrderby("nm_instituicao ASC");
         $lista = $objInstituicao->lista();
         if (is_array($lista)) {
             foreach ($lista as $linha) {
                 $opcoes[$linha["cod_instituicao"]] = $linha["nm_instituicao"];
             }
         }
         $this->campoLista("ref_cod_instituicao", "Institui&ccedil;&atilde;o", $opcoes, $this->ref_cod_instituicao);
     } else {
         $obj_usuario = new clsPmieducarUsuario($this->pessoa_logada);
         $obj_usuario_det = $obj_usuario->detalhe();
         $this->ref_cod_instituicao = $obj_usuario_det["ref_cod_instituicao"];
     }
     $opcoes = array("" => "Selecione");
     $opcoes_ = array("" => "Selecione");
     if (class_exists("clsPmieducarCurso")) {
         /*$todos_cursos = "curso = new Array();\n";
         		$objTemp = new clsPmieducarCurso();
         		$objTemp->setOrderby("nm_curso");
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todos_cursos .= "curso[curso.length] = new Array({$registro["cod_curso"]},'{$registro["nm_curso"]}', {$registro["ref_cod_instituicao"]});\n";
         			}
         		}
         		echo "<script>{$todos_cursos}</script>";*/
         // EDITAR
         if ($this->ref_cod_instituicao) {
             $objTemp = new clsPmieducarCurso();
             $objTemp->setOrderby("nm_curso");
             $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes[$registro["cod_curso"]] = $registro["nm_curso"];
                     $opcoes_[$registro["cod_curso"]] = $registro["nm_curso"];
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarCurso n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na gera&ccedil;&atilde;o");
     }
     $this->campoLista("ref_curso_origem", "Curso Origem", $opcoes, $this->ref_curso_origem, "", true);
     $this->campoLista("ref_curso_destino", " Curso Destino", $opcoes_, $this->ref_curso_destino);
     // primary keys
     $opcoes = array("" => "Selecione");
     $opcoes_ = array("" => "Selecione");
     if (class_exists("clsPmieducarSerie")) {
         /*$todas_series = "serie = new Array();\n";
         		$objTemp = new clsPmieducarSerie();
         		$objTemp->setOrderby( "nm_serie ASC" );
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todas_series .= "serie[serie.length] = new Array({$registro["cod_serie"]},'{$registro["nm_serie"]}', {$registro["ref_cod_curso"]});\n";
         			}
         		}
         		echo "<script>{$todas_series}</script>";*/
         if ($this->ref_curso_origem) {
             $objTemp = new clsPmieducarSerie();
             $objTemp->setOrderby("nm_serie ASC");
             $lista = $objTemp->lista(null, null, null, $this->ref_curso_origem, null, null, null, null, null, null, null, null, 1);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes[$registro["cod_serie"]] = $registro["nm_serie"];
                 }
             }
         }
         if ($this->ref_curso_destino) {
             $objTemp = new clsPmieducarSerie();
             $objTemp->setOrderby("nm_serie ASC");
             $lista = $objTemp->lista(null, null, null, $this->ref_curso_destino, null, null, null, null, null, null, null, null, 1);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes_[$registro["cod_serie"]] = $registro["nm_serie"];
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarSerie n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
         $opcoes_ = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_serie_origem", "S&eacute;rie Origem", $opcoes, $this->ref_serie_origem, null, true);
     $this->campoLista("ref_serie_destino", " S&eacute;rie Destino", $opcoes_, $this->ref_serie_destino);
     $this->campoOculto("nivel_usuario", $nivel_usuario);
 }
 /**
  * Construtor.
  */
 function clsPmieducarServidorDisciplina($ref_cod_disciplina = NULL, $ref_ref_cod_instituicao = NULL, $ref_cod_servidor = NULL, $ref_cod_curso = NULL)
 {
     $db = new clsBanco();
     $this->_schema = 'pmieducar.';
     $this->_tabela = $this->_schema . 'servidor_disciplina';
     $this->_campos_lista = $this->_todos_campos = 'ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor, ref_cod_curso';
     if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) {
         $servidor = new clsPmieducarServidor($ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $ref_ref_cod_instituicao);
         if ($servidor->existe()) {
             $this->ref_cod_servidor = $ref_cod_servidor;
             $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao;
         }
     }
     if (is_numeric($ref_cod_disciplina)) {
         $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper();
         try {
             $componenteMapper->find($ref_cod_disciplina);
             $this->ref_cod_disciplina = $ref_cod_disciplina;
         } catch (Exception $e) {
         }
     }
     if (is_numeric($ref_cod_curso)) {
         $curso = new clsPmieducarCurso($ref_cod_curso);
         if ($curso->existe()) {
             $this->ref_cod_curso = $ref_cod_curso;
         }
     }
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if ($this->ref_ref_cod_serie) {
            $this->ref_cod_serie = $this->ref_ref_cod_serie;
        }
        $fonte = 'arial';
        $corTexto = '#000000';
        /*if(empty($this->ref_cod_turma))
        		{
        	     	echo '<script>
        	     			alert("Erro ao gerar relatório!\nNenhuma turma selecionada!");
        	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
        	     		</script>';
        	     	return true;
        		}*/
        if ($this->ref_cod_escola) {
            $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
            $det_escola = $obj_escola->detalhe();
            $this->nm_escola = $det_escola['nome'];
            $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
        }
        $obj_calendario = new clsPmieducarEscolaAnoLetivo();
        $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($this->ref_cod_turma) {
            $where = "\tAND ref_cod_turma = {$this->ref_cod_turma}";
        }
        if ($this->ref_cod_serie) {
            $where .= "\tAND ref_ref_cod_serie   = {$this->ref_cod_serie}";
        }
        //DISTINCT extract( year from ( age( now(), data_nasc ) ) ) as idade
        $sql = "SELECT EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) ) as idade\n\t\t\t\t  FROM pmieducar.matricula_turma mt\n\t\t\t\t       ,pmieducar.matricula      m\n\t\t\t\t       ,pmieducar.aluno          a\n\t\t\t\t       ,cadastro.fisica          f\n\t\t\t\t WHERE cod_matricula = ref_cod_matricula\n\t\t\t\t   AND mt.ativo = 1\n\t\t\t\t   AND m.ativo  = 1\n\t\t\t\t   AND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\t   AND f.idpes = a.ref_idpes\n\t\t\t\t   {$where}\n\t\t\t\t   AND ref_ref_cod_escola  = {$this->ref_cod_escola}\n\t\t\t\t   ANd ref_cod_curso       = {$this->ref_cod_curso}\n\t\t\t\t   AND data_nasc IS NOT NULL\n\t\t\t\t   AND m.ano = {$this->ano}\n\t\t\t\t ORDER BY idade";
        $db = new clsBanco();
        $db->Consulta($sql);
        $array_idades = array();
        if ($db->Num_Linhas()) {
            while ($db->ProximoRegistro()) {
                $registro = $db->Tupla();
                $array_idades_[$registro['idade']] = "-";
                $array_idades[$registro['idade']] = $registro['idade'];
            }
        } else {
            echo '<script>
	     			alert("Nenhum aluno está matriculado");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($array_idades) {
            $relatorio = new relatorios("Relatório de alunos por idades       Ano - {$this->ano}", 210, false, "Relatório de alunos por idade", "A4", "{$this->nm_instituicao}\n{$this->nm_escola}\n\n" . date("d/m/Y"));
            $relatorio->setMargem(20, 20, 50, 50);
            $relatorio->exibe_produzido_por = false;
            $array_cab = array_merge(array("Série", "Turma"), $array_idades);
            $array_cab[] = "Total";
            $divisoes = array(100, 80);
            $divisoes_texto = array(100, 80);
            $tamanho_divisao = 23 + (15 - count($array_idades) - 1) * 2;
            for ($ct = 0; $ct < 20; $ct++) {
                $divisoes[] = $tamanho_divisao;
                $divisoes_texto[] = $tamanho_divisao;
            }
            $relatorio->novalinha($array_cab, 0, 16, true, "arial", $divisoes, "#515151", "#d3d3d3", "#ffffff", false, true);
            $db = new clsBanco();
            $obj_curso = new clsPmieducarCurso();
            $lst_curso = $obj_curso->lista($this->ref_cod_curso, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
            if ($lst_curso) {
                foreach ($lst_curso as $curso) {
                    $relatorio->novalinha(array($curso['nm_curso']), 0, 16, true, "arial", false, "#515151", "#d3d3d3", "#ffffff", false, true);
                    $obj = new clsPmieducarSerie();
                    $obj->setOrderby('cod_serie,etapa_curso');
                    $lista_serie_curso = $obj->lista($this->ref_cod_serie, null, null, $curso['cod_curso'], null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                    if ($lista_serie_curso) {
                        foreach ($lista_serie_curso as $serie) {
                            $obj_turma = new clsPmieducarTurma();
                            $lst_turma = $obj_turma->lista($this->ref_cod_turma, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, $curso['cod_curso'], $this->ref_cod_instituicao);
                            if ($lst_turma) {
                                foreach ($lst_turma as $turma) {
                                    $array_idades = $array_idades_;
                                    $total = 0;
                                    $sql = "SELECT count(1) as total\n\t\t       \t\t\t\t\t\t\t\t\t   ,EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) ) as idade\n\t\t\t\t\t\t\t\t\t\t\t  FROM pmieducar.matricula_turma mt\n\t\t\t\t\t\t\t\t\t\t\t       ,pmieducar.matricula      m\n\t\t\t\t\t\t\t\t\t\t\t       ,pmieducar.aluno          a\n\t\t\t\t\t\t\t\t\t\t\t       ,cadastro.fisica          f\n\t\t\t\t\t\t\t\t\t\t\t WHERE cod_matricula = ref_cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t   AND mt.ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ativo  = 1\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\t\t\t\t\t\t\t\t   AND f.idpes = a.ref_idpes\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_ref_cod_serie   = {$serie['cod_serie']}\n\t\t\t\t\t\t\t\t\t\t\t   AND ref_ref_cod_escola  = {$this->ref_cod_escola}\n\t\t\t\t\t\t\t\t\t\t\t   ANd ref_cod_curso       = {$curso['cod_curso']}\n\t\t\t\t\t\t\t\t\t\t\t   AND m.ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t\t   AND aprovado IN (1,2,3)\n\t\t\t\t\t\t\t\t\t\t\t   \n\t\t\t\t\t\t\t\t\t\t\t   AND data_nasc IS NOT NULL\n\t\t\t\t\t\t\t\t\t\t\t GROUP BY EXTRACT(YEAR FROM age( to_date ( EXTRACT( year from now() )   || '-12-31' ,'yyyy-mm-dd') , data_nasc) )\n\t\t\t\t\t\t\t\t\t\t\t ORDER BY idade";
                                    $db->Consulta($sql);
                                    if ($db->Num_Linhas()) {
                                        while ($db->ProximoRegistro()) {
                                            $registro = $db->Tupla();
                                            $array_idades[$registro['idade']] = $registro['total'];
                                            $total += $registro['total'];
                                        }
                                        $valores = array_merge(array($serie['nm_serie'], $turma['nm_turma']), $array_idades, array($total));
                                        $relatorio->novalinha($valores, 0, 16, false, "arial", $divisoes, "#515151", "#d3d3d3", "#ffffff", false, true);
                                    }
                                }
                            }
                        }
                    }
                }
                //$relatorio->quebraPagina();
            }
            $this->get_link = $relatorio->fechaPdf();
        }
        echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
        echo "<html><center>Se o download não iniciar automaticamente <br /><a target='blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
    }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "S&eacute;rie - Listagem";
     // passa todos os valores obtidos no GET para atributos do objeto
     foreach ($_GET as $var => $val) {
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $lista_busca = array('S&eacute;rie', 'Curso');
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = 'Institui&ccedil;&atilde;o';
     }
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     $get_curso = true;
     include 'include/pmieducar/educar_campo_lista.php';
     // outros Filtros
     $this->campoTexto('nm_serie', 'S&eacute;rie', $this->nm_serie, 30, 255, FALSE);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_serie = new clsPmieducarSerie();
     $obj_serie->setOrderby("nm_serie ASC");
     $obj_serie->setLimite($this->limite, $this->offset);
     $lista = $obj_serie->lista(NULL, NULL, NULL, $this->ref_cod_curso, $this->nm_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $total = $obj_serie->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // Pega detalhes de foreign_keys
             $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]);
             $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
             $registro["ref_cod_curso"] = $det_ref_cod_curso["nm_curso"];
             $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
             $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
             $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             $lista_busca = array("<a href=\"educar_serie_det.php?cod_serie={$registro["cod_serie"]}\">{$registro["nm_serie"]}</a>", "<a href=\"educar_serie_det.php?cod_serie={$registro["cod_serie"]}\">{$registro["ref_cod_curso"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_serie_det.php?cod_serie={$registro["cod_serie"]}\">{$registro["ref_cod_instituicao"]}</a>";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_serie_lst.php", $total, $_GET, $this->nome, $this->limite);
     if ($obj_permissoes->permissao_cadastra(583, $this->pessoa_logada, 3)) {
         $this->acao = "go(\"educar_serie_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de s&eacute;ries"));
     $this->enviaLocalizacao($localizacao->montar());
 }