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 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 = 'Matricula Turma - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     foreach ($_POST as $key => $value) {
         $this->{$key} = $value;
     }
     $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'];
     }
     $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);
     $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']));
     }
     $this->addDetalhe(array('Turma atual', $this->nm_turma));
     if ($registro['nm_turma']) {
         $this->addDetalhe(array('Turma destino', $registro['nm_turma']));
     }
     if ($registro['max_aluno']) {
         $this->addDetalhe(array('Total de vagas', $registro['max_aluno']));
     }
     if (is_numeric($total_alunos)) {
         $this->addDetalhe(array('Alunos nesta turma', $total_alunos));
         $this->addDetalhe(array('Vagas restantes', $registro['max_aluno'] - $total_alunos));
     }
     $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="sequencial" value="%d">
     </form>
   ', $this->ref_cod_turma_origem, $this->sequencial)));
     if ($registro['max_aluno'] - $total_alunos <= 0) {
         $msg = sprintf('Atenção! Turma sem vagas! Deseja continuar com a enturmação mesmo assim?');
         $valida = sprintf('if (!confirm("%s")) return false;', $msg);
     } else {
         $valida = 'if (!confirm("Confirmar a enturmação?")) return false;';
     }
     $script = sprintf('
   <script type="text/javascript">
     function enturmar(ref_cod_matricula, ref_cod_turma_destino){
       %s
       document.formcadastro.ref_cod_matricula.value = ref_cod_matricula;
       document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino;
       document.formcadastro.submit();
     }
   </script>', $valida);
     print $script;
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) {
         $script = "enturmar({$this->ref_cod_matricula},{$this->ref_cod_turma})";
         $this->array_botao = array('Transferir Aluno');
         $this->array_botao_url_script = array($script);
     }
     $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 = 'Listagem - Selecione a turma para realizar a transferência';
     $this->ref_cod_matricula = $_GET['ref_cod_matricula'];
     if (!$this->ref_cod_matricula) {
         header('Location: educar_matricula_lst.php');
         die;
     }
     $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula);
     $det_matricula = $obj_matricula->detalhe();
     $this->ref_cod_curso = $det_matricula['ref_cod_curso'];
     $this->ref_cod_serie = $det_matricula['ref_ref_cod_serie'];
     $this->ref_cod_escola = $det_matricula['ref_ref_cod_escola'];
     $this->ref_cod_turma = $_GET['ref_cod_turma'];
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->addCabecalhos(array('Turma'));
     // Busca dados da matricula
     $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($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();
     if ($det_escola['nome']) {
         $this->campoRotulo('nm_escola', 'Escola', $det_escola['nome']);
     }
     $this->campoRotulo('nm_pessoa', 'Nome do Aluno', $det_aluno['nome_aluno']);
     // Filtros de foreign keys
     $opcoes = array('' => 'Selecione');
     // Opções de turma
     $objTemp = new clsPmieducarTurma();
     $lista = $objTemp->lista(NULL, NULL, NULL, $this->ref_cod_serie, $this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_curso);
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             $opcoes[$registro['cod_turma']] = $registro['nm_turma'];
         }
     }
     $this->campoLista('ref_cod_turma_', 'Turma', $opcoes, $this->ref_cod_turma);
     // outros filtros
     $this->campoOculto('ref_cod_matricula', $this->ref_cod_matricula);
     $this->campoOculto('ref_cod_serie', '');
     $this->campoOculto('ref_cod_turma', '');
     $this->campoOculto('ref_cod_escola', '');
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET['pagina_' . $this->nome] ? $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0;
     $obj_matricula_turma = new clsPmieducarTurma();
     $obj_matricula_turma->setOrderby('data_cadastro ASC');
     $obj_matricula_turma->setLimite($this->limite, $this->offset);
     $lista = $obj_matricula_turma->lista($this->ref_cod_turma, 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, NULL, NULL, NULL, NULL, NULL, NULL, TRUE);
     if (is_numeric($this->ref_cod_serie) && is_numeric($this->ref_cod_curso) && is_numeric($this->ref_cod_escola)) {
         $sql = "\nSELECT\n  t.cod_turma, t.ref_usuario_exc, t.ref_usuario_cad, t.ref_ref_cod_serie,\n  t.ref_ref_cod_escola, t.ref_cod_infra_predio_comodo, t.nm_turma, t.sgl_turma,\n  t.max_aluno, t.multiseriada, t.data_cadastro, t.data_exclusao, t.ativo,\n  t.ref_cod_turma_tipo, t.hora_inicial, t.hora_final, t.hora_inicio_intervalo,\n  t.hora_fim_intervalo, t.ref_cod_regente, t.ref_cod_instituicao_regente,\n  t.ref_cod_instituicao, t.ref_cod_curso, t.ref_ref_cod_serie_mult,\n  t.ref_ref_cod_escola_mult\nFROM\n  pmieducar.turma t\nWHERE\n  t.ref_ref_cod_serie_mult = {$this->ref_cod_serie}\n  AND t.ref_ref_cod_escola={$this->ref_cod_escola}\n  AND t.ativo = '1'\n  AND t.ref_ref_cod_escola = '{$this->ref_cod_escola}'";
         $db = new clsBanco();
         $db->Consulta($sql);
         $lista_aux = array();
         while ($db->ProximoRegistro()) {
             $lista_aux[] = $db->Tupla();
         }
         if (is_array($lista_aux) && count($lista_aux)) {
             if (is_array($lista) && count($lista)) {
                 $lista = array_merge($lista, $lista_aux);
             } else {
                 $lista = $lista_aux;
             }
         }
         $total = count($lista);
     } else {
         $total = $obj_matricula_turma->_total;
     }
     $tmp_obj = new clsPmieducarMatriculaTurma();
     $det_obj = $tmp_obj->lista($this->ref_cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
     if ($det_obj) {
         $det_obj = array_shift($det_obj);
     }
     // Monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if ($registro['cod_turma'] != $det_obj['ref_cod_turma']) {
                 $script = sprintf('onclick="enturmar(\'%s\',\'%s\',\'%s\',\'%s\');"', $this->ref_cod_escola, $registro['ref_ref_cod_serie'], $this->ref_cod_matricula, $registro['cod_turma']);
                 $this->addLinhas(array(sprintf('<a href="#" %s>%s</a>', $script, $registro['nm_turma'])));
             }
         }
     }
     $this->addPaginador2("educar_matricula_turma_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     $this->array_botao[] = 'Voltar';
     $this->array_botao_url[] = "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}";
     $this->largura = '100%';
 }
    function Novo()
    {
        $this->url_cancelar = 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno;
        $this->nome_url_cancelar = 'Cancelar';
        @session_start();
        $this->pessoa_logada = $_SESSION['id_pessoa'];
        @session_write_close();
        $obj_permissoes = new clsPermissoes();
        $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno);
        //novas regras matricula aluno
        $this->ano = $_POST['ano'];
        $anoLetivoEmAndamentoEscola = new clsPmieducarEscolaAnoLetivo();
        $anoLetivoEmAndamentoEscola = $anoLetivoEmAndamentoEscola->lista($this->ref_cod_escola, $this->ano, null, null, 2, null, null, null, null, 1);
        if (is_array($anoLetivoEmAndamentoEscola)) {
            require_once 'include/pmieducar/clsPmieducarSerie.inc.php';
            $db = new clsBanco();
            $db->Consulta("select ref_ref_cod_serie, ref_cod_curso from pmieducar.matricula where ativo = 1 and ref_ref_cod_escola = {$this->ref_cod_escola} and ref_cod_curso = {$this->ref_cod_curso} and ref_cod_aluno = {$this->ref_cod_aluno} and aprovado not in (1,2,4,5,6,7,8,9)");
            $db->ProximoRegistro();
            $m = $db->Tupla();
            if (is_array($m) && count($m)) {
                $curso = $this->getCurso($this->ref_cod_curso);
                if ($m['ref_ref_cod_serie'] == $this->ref_cod_serie) {
                    $this->mensagem .= "Este aluno já está matriculado nesta série e curso, não é possivel matricular um aluno mais de uma vez na mesma série.<br />";
                    return false;
                } elseif ($curso['multi_seriado'] != 1) {
                    $serie = new clsPmieducarSerie($m['ref_ref_cod_serie'], null, null, $m['ref_cod_curso']);
                    $serie = $serie->detalhe();
                    if (is_array($serie) && count($serie)) {
                        $nomeSerie = $serie['nm_serie'];
                    } else {
                        $nomeSerie = '';
                    }
                    $this->mensagem .= "Este aluno já está matriculado no(a) '{$nomeSerie}' deste curso e escola. Como este curso não é multi seriado, não é possivel manter mais de uma matricula em andamento para o mesmo curso.<br />";
                    return false;
                }
            } else {
                $db->Consulta("select ref_ref_cod_escola, ref_cod_curso, ref_ref_cod_serie from pmieducar.matricula where ativo = 1 and ref_ref_cod_escola != {$this->ref_cod_escola} and ref_cod_aluno = {$this->ref_cod_aluno} and aprovado not in (1,2,4,5,6,7,8,9) and not exists (select 1 from pmieducar.transferencia_solicitacao as ts where ts.ativo = 1 and ts.ref_cod_matricula_saida = matricula.cod_matricula)");
                $db->ProximoRegistro();
                $m = $db->Tupla();
                if (is_array($m) && count($m)) {
                    if ($m['ref_cod_curso'] == $this->ref_cod_curso || $GLOBALS['coreExt']['Config']->app->matricula->multiplas_matriculas == 0) {
                        require_once 'include/pmieducar/clsPmieducarEscola.inc.php';
                        require_once 'include/pessoa/clsJuridica.inc.php';
                        $serie = new clsPmieducarSerie($m['ref_ref_cod_serie'], null, null, $m['ref_cod_curso']);
                        $serie = $serie->detalhe();
                        if (is_array($serie) && count($serie)) {
                            $serie = $serie['nm_serie'];
                        } else {
                            $serie = '';
                        }
                        $escola = new clsPmieducarEscola($m['ref_ref_cod_escola']);
                        $escola = $escola->detalhe();
                        if (is_array($escola) && count($escola)) {
                            $escola = new clsJuridica($escola['ref_idpes']);
                            $escola = $escola->detalhe();
                            if (is_array($escola) && count($escola)) {
                                $escola = $escola['fantasia'];
                            } else {
                                $escola = '';
                            }
                        } else {
                            $escola = '';
                        }
                        $curso = new clsPmieducarCurso($m['ref_cod_curso']);
                        $curso = $curso->detalhe();
                        if (is_array($curso) && count($curso)) {
                            $curso = $curso['nm_curso'];
                        } else {
                            $curso = '';
                        }
                        $this->mensagem .= "Este aluno já está matriculado no(a) '{$serie}' do curso '{$curso}' na escola '{$escola}', para matricular este aluno na sua escola solicite transferência ao secretário(a) da escola citada.<br />";
                        return false;
                    }
                }
            }
            $obj_reserva_vaga = new clsPmieducarReservaVaga();
            $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, $this->ref_cod_serie, NULL, NULL, $this->ref_cod_aluno, NULL, NULL, NULL, NULL, 1);
            // Verifica se existe reserva de vaga para o aluno
            if (is_array($lst_reserva_vaga)) {
                $det_reserva_vaga = array_shift($lst_reserva_vaga);
                $this->ref_cod_reserva_vaga = $det_reserva_vaga['cod_reserva_vaga'];
                $obj_reserva_vaga = new clsPmieducarReservaVaga($this->ref_cod_reserva_vaga, NULL, NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, 0);
                $editou = $obj_reserva_vaga->edita();
                if (!$editou) {
                    $this->mensagem = 'Edição não realizada.<br />';
                    return FALSE;
                }
            }
            $vagas_restantes = 1;
            if (!$this->ref_cod_reserva_vaga) {
                $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, NULL, NULL, NULL, NULL, NULL, NULL, NULL, TRUE);
                if (is_array($lst_turmas)) {
                    $total_vagas = 0;
                    foreach ($lst_turmas as $turmas) {
                        $total_vagas += $turmas['max_aluno'];
                    }
                } else {
                    $this->mensagem = 'A série selecionada não possui turmas cadastradas.<br />';
                    return FALSE;
                }
                $obj_matricula = new clsPmieducarMatricula();
                $lst_matricula = $obj_matricula->lista(NULL, NULL, $this->ref_cod_escola, $this->ref_cod_serie, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, 1, $this->ano, $this->ref_cod_curso, $this->ref_cod_instituicao, 1);
                if (is_array($lst_matricula)) {
                    $matriculados = count($lst_matricula);
                }
                $obj_reserva_vaga = new clsPmieducarReservaVaga();
                $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, $this->ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao, $this->ref_cod_curso);
                if (is_array($lst_reserva_vaga)) {
                    $reservados = count($lst_reserva_vaga);
                }
                $vagas_restantes = $total_vagas - ($matriculados + $reservados);
            }
            if ($vagas_restantes <= 0) {
                echo sprintf('
          <script>
            var msg = \'\';
            msg += \'Excedido o número de total de vagas para Matricula!\\n\';
            msg += \'Número total de matriculados: %d\\n\';
            msg += \'Número total de vagas reservadas: %d\\n\';
            msg += \'Número total de vagas: %d\\n\';
            msg += \'Deseja mesmo assim realizar a Matrícula?\';

            if (! confirm(msg)) {
              window.location = \'educar_aluno_det.php?cod_aluno=%d\';
            }
          </script>', $matriculados, $reservados, $total_vagas, $this->ref_cod_aluno);
            }
            $obj_matricula_aluno = new clsPmieducarMatricula();
            $lst_matricula_aluno = $obj_matricula_aluno->lista(NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_aluno);
            if (!$lst_matricula_aluno) {
                // Primeira matrícula do sistema, consistência (?)
                $this->matricula_transferencia = $this->matricula_transferencia == 'on' ? TRUE : FALSE;
            } else {
                $this->matricula_transferencia = FALSE;
            }
            if ($this->is_padrao == 1) {
                $this->semestre = NULL;
            }
            if (!$this->removerFlagUltimaMatricula($this->ref_cod_aluno)) {
                return false;
            }
            $this->data_matricula = Portabilis_Date_Utils::brToPgSQL($this->data_matricula);
            $obj = new clsPmieducarMatricula(NULL, $this->ref_cod_reserva_vaga, $this->ref_cod_escola, $this->ref_cod_serie, NULL, $this->pessoa_logada, $this->ref_cod_aluno, 3, NULL, NULL, 1, $this->ano, 1, NULL, NULL, NULL, NULL, $this->ref_cod_curso, $this->matricula_transferencia, $this->semestre, $this->data_matricula);
            $cadastrou = $obj->cadastra();
            // turma
            $cod_matricula = $cadastrou;
            $this->enturmacaoMatricula($cod_matricula, $this->ref_cod_turma);
            if ($cadastrou) {
                $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
                #Se encontrar solicitações de transferencia externa (com data de transferencia sem codigo de matricula de entrada), inativa estas
                /*$lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL,
                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL,
                          $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, TRUE, FALSE);
                
                        if (is_array($lst_transferencia)) {
                          echo 'Encontrou solicitações de transferencia externa (saida) com data de transferencia';
                          $det_transferencia = array_shift($lst_transferencia);
                
                          $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(
                            $det_transferencia['cod_transferencia_solicitacao'], NULL,
                            $this->pessoa_logada, NULL, NULL, NULL, NULL, NULL, NULL, 0);
                
                          $editou2 = $obj_transferencia->edita();
                
                          if ($editou2) {
                            $obj = new clsPmieducarMatricula($det_transferencia['ref_cod_matricula_saida'],
                              NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, 4, NULL, NULL, 1, NULL, 0);
                
                            $editou3 = $obj->edita();
                
                            if (! $editou3) {
                              $this->mensagem = 'Edição não realizada.<br />';
                              return FALSE;
                            }
                          }
                          else {
                            $this->mensagem = 'Edição não realizada.<br />';
                            return FALSE;
                          }
                        }
                        #senão pega as solicitacoes de transferencia internas (sem data de transferencia e sem codigo de matricula de entrada) e
                        #seta a data de transferencia e codigo de matricula de entrada, atualiza a situacao da matricula para transferido e inativa a matricula turma
                        else {
                        */
                $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
                $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, FALSE, FALSE);
                #TODO interna ?
                // Verifica se existe solicitação de transferência (interna) do aluno
                if (is_array($lst_transferencia)) {
                    #echo 'Encontrou solicitações de transferencia interna  (saida) com data de transferencia';
                    // Verifica cada solicitação de transferência do aluno
                    foreach ($lst_transferencia as $transferencia) {
                        $obj_matricula = new clsPmieducarMatricula($transferencia['ref_cod_matricula_saida']);
                        $det_matricula = $obj_matricula->detalhe();
                        // Se a matrícula anterior estava em andamento, copia as notas/faltas/pareceres
                        if ($det_matricula['aprovado'] == 3) {
                            $db->Consulta(" SELECT modules.copia_notas_transf({$det_matricula['cod_matricula']},{$cod_matricula})");
                        }
                        // Caso a solicitação seja para uma mesma série
                        if ($det_matricula['ref_ref_cod_serie'] == $this->ref_cod_serie) {
                            $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                            break;
                        } else {
                            $obj_sequencia = new clsPmieducarSequenciaSerie($det_matricula['ref_ref_cod_serie'], $this->ref_cod_serie, NULL, NULL, NULL, NULL, 1);
                            if ($obj_sequencia->existe()) {
                                $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                                break;
                            }
                        }
                        $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                    }
                    if ($ref_cod_transferencia) {
                        $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($ref_cod_transferencia, NULL, $this->pessoa_logada, NULL, $cadastrou, NULL, NULL, NULL, NULL, 1, date('Y-m-d'));
                        $editou2 = $obj_transferencia->edita();
                        if ($editou2) {
                            $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($ref_cod_transferencia);
                            $det_transferencia = $obj_transferencia->detalhe();
                            $matricula_saida = $det_transferencia['ref_cod_matricula_saida'];
                            $obj_matricula = new clsPmieducarMatricula($matricula_saida);
                            $det_matricula = $obj_matricula->detalhe();
                            // Caso a situação da matrícula do aluno esteja em andamento
                            if ($det_matricula['aprovado'] == 3) {
                                $obj_matricula = new clsPmieducarMatricula($cadastrou, NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $det_matricula['modulo']);
                                if ($obj_matricula->edita() && !$this->desativaEnturmacoesMatricula($matricula_saida)) {
                                    return false;
                                }
                            }
                            $obj = new clsPmieducarMatricula($matricula_saida, NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, 4, NULL, NULL, 1, NULL, 0);
                            $editou3 = $obj->edita();
                            if (!$editou3) {
                                $this->mensagem = 'Edição não realizada.<br />';
                                return FALSE;
                            }
                        } else {
                            $this->mensagem = 'Edição não realizada.<br />';
                            return FALSE;
                        }
                    }
                }
                //}
                #TODO set in $_SESSION['flash'] 'Aluno matriculado com sucesso'
                $this->mensagem .= 'Cadastro efetuado com sucesso.<br />';
                header('Location: educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno);
                #die();
                #return true;
            }
            $this->mensagem = 'Cadastro não realizado.<br />';
            return FALSE;
        } else {
            $this->mensagem = 'O ano (letivo) selecionado não esta em andamento na escola selecionada.<br />';
            return FALSE;
        }
    }
 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>";
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'Turma - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->cod_turma = $_GET['cod_turma'];
     $tmp_obj = new clsPmieducarTurma();
     $lst_obj = $tmp_obj->lista($this->cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, array('true', 'false'));
     $registro = array_shift($lst_obj);
     foreach ($registro as $key => $value) {
         $this->{$key} = $value;
     }
     if (!$registro) {
         header('Location: educar_turma_lst.php');
         die;
     }
     if (class_exists('clsPmieducarTurmaTipo')) {
         $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'];
     } else {
         $registro['ref_cod_turma_tipo'] = 'Erro na geração';
     }
     if (class_exists('clsPmieducarInfraPredioComodo')) {
         $obj_ref_cod_infra_predio_comodo = new clsPmieducarInfraPredioComodo($registro['ref_cod_infra_predio_comodo']);
         $det_ref_cod_infra_predio_comodo = $obj_ref_cod_infra_predio_comodo->detalhe();
         $registro['ref_cod_infra_predio_comodo'] = $det_ref_cod_infra_predio_comodo['nm_comodo'];
     } else {
         $registro['ref_cod_infra_predio_comodo'] = 'Erro na geração';
     }
     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ção';
     }
     if (class_exists('clsPmieducarEscola')) {
         $this->ref_ref_cod_escola = $registro['ref_ref_cod_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'];
     } else {
         $registro['ref_cod_escola'] = 'Erro na geração';
     }
     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'];
         $padrao_ano_escolar = $det_ref_cod_curso['padrao_ano_escolar'];
     } else {
         $registro['ref_cod_curso'] = 'Erro na geração';
     }
     if (class_exists('clsPmieducarSerie')) {
         $this->ref_ref_cod_serie = $registro['ref_ref_cod_serie'];
         $obj_ser = new clsPmieducarSerie($registro['ref_ref_cod_serie']);
         $det_ser = $obj_ser->detalhe();
         $registro['ref_ref_cod_serie'] = $det_ser['nm_serie'];
     } else {
         $registro['ref_ref_cod_serie'] = 'Erro na geração';
     }
     $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ção', $registro['ref_cod_instituicao']));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         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érie', $registro['ref_ref_cod_serie']));
     }
     if ($registro['ref_cod_regente']) {
         $obj_pessoa = new clsPessoa_($registro['ref_cod_regente']);
         $det = $obj_pessoa->detalhe();
         $this->addDetalhe(array('Professor/Regente', $det['nome']));
     }
     if ($registro['ref_cod_infra_predio_comodo']) {
         $this->addDetalhe(array('Sala', $registro['ref_cod_infra_predio_comodo']));
     }
     if ($registro['ref_cod_turma_tipo']) {
         $this->addDetalhe(array('Tipo de Turma', $registro['ref_cod_turma_tipo']));
     }
     if ($registro['nm_turma']) {
         $this->addDetalhe(array('Turma', $registro['nm_turma']));
     }
     if ($registro['sgl_turma']) {
         $this->addDetalhe(array('Sigla', $registro['sgl_turma']));
     }
     if ($registro['max_aluno']) {
         $this->addDetalhe(array('Máximo de Alunos', $registro['max_aluno']));
     }
     $this->addDetalhe(array('Situação', dbBool($registro['visivel']) ? 'Ativo' : 'Desativo'));
     if ($registro['multiseriada'] == 1) {
         if ($registro['multiseriada'] == 1) {
             $registro['multiseriada'] = 'sim';
         } else {
             $registro['multiseriada'] = 'não';
         }
         $this->addDetalhe(array('Multi-Seriada', $registro['multiseriada']));
         $obj_serie_mult = new clsPmieducarSerie($registro['ref_ref_cod_serie_mult']);
         $det_serie_mult = $obj_serie_mult->detalhe();
         $this->addDetalhe(array('Série Multi-Seriada', $det_serie_mult['nm_serie']));
     }
     if ($padrao_ano_escolar == 1) {
         if ($registro['hora_inicial']) {
             $registro['hora_inicial'] = date('H:i', strtotime($registro['hora_inicial']));
             $this->addDetalhe(array('Hora Inicial', $registro['hora_inicial']));
         }
         if ($registro['hora_final']) {
             $registro['hora_final'] = date('H:i', strtotime($registro['hora_final']));
             $this->addDetalhe(array('Hora Final', $registro['hora_final']));
         }
         if ($registro['hora_inicio_intervalo']) {
             $registro['hora_inicio_intervalo'] = date('H:i', strtotime($registro['hora_inicio_intervalo']));
             $this->addDetalhe(array('Hora Início Intervalo', $registro['hora_inicio_intervalo']));
         }
         if ($registro['hora_fim_intervalo']) {
             $registro['hora_fim_intervalo'] = date('H:i', strtotime($registro['hora_fim_intervalo']));
             $this->addDetalhe(array('Hora Fim Intervalo', $registro['hora_fim_intervalo']));
         }
     } elseif ($padrao_ano_escolar == 0) {
         $obj = new clsPmieducarTurmaModulo();
         $obj->setOrderby('data_inicio ASC');
         $lst = $obj->lista($this->cod_turma);
         if ($lst) {
             $tabela = '
       <table>
         <tr align="center">
           <td bgcolor="#A1B3BD"><b>Nome</b></td>
           <td bgcolor="#A1B3BD"><b>Data Início</b></td>
           <td bgcolor="#A1B3BD"><b>Data Fim</b></td>
         </tr>';
             $cont = 0;
             foreach ($lst as $valor) {
                 if ($cont % 2 == 0) {
                     $color = ' bgcolor="#E4E9ED" ';
                 } else {
                     $color = ' bgcolor="#FFFFFF" ';
                 }
                 $obj_modulo = new clsPmieducarModulo($valor['ref_cod_modulo']);
                 $det_modulo = $obj_modulo->detalhe();
                 $nm_modulo = $det_modulo['nm_tipo'];
                 $valor['data_inicio'] = dataFromPgToBr($valor['data_inicio']);
                 $valor['data_fim'] = dataFromPgToBr($valor['data_fim']);
                 $tabela .= sprintf('
         <tr>
           <td %s align=left>%s</td>
           <td %s align=left>%s</td>
           <td %s align=left>%s</td>
         </tr>', $color, $nm_modulo, $color, $valor['data_inicio'], $color, $valor['data_fim']);
                 $cont++;
             }
             $tabela .= '</table>';
         }
         if ($tabela) {
             $this->addDetalhe(array('Módulo', $tabela));
         }
         $dias_da_semana = array('' => 'Selecione', 1 => 'Domingo', 2 => 'Segunda', 3 => 'Terça', 4 => 'Quarta', 5 => 'Quinta', 6 => 'Sexta', 7 => 'Sábado');
         $obj = new clsPmieducarTurmaDiaSemana();
         $lst = $obj->lista(NULL, $this->cod_turma);
         if ($lst) {
             $tabela1 = '
       <table>
         <tr align="center">
           <td bgcolor="#A1B3BD"><b>Nome</b></td>
           <td bgcolor="#A1B3BD"><b>Hora Inicial</b></td>
           <td bgcolor="#A1B3BD"><b>Hora Final</b></td>
         </tr>';
             $cont = 0;
             foreach ($lst as $valor) {
                 if ($cont % 2 == 0) {
                     $color = ' bgcolor="#E4E9ED" ';
                 } else {
                     $color = ' bgcolor="#FFFFFF" ';
                 }
                 $valor['hora_inicial'] = date('H:i', strtotime($valor['hora_inicial']));
                 $valor['hora_final'] = date('H:i', strtotime($valor['hora_final']));
                 $tabela1 .= sprintf("\n            <tr>\n              <td %s align=left>%s</td>\n              <td %s align=left>%s</td>\n              <td %s align=left>%s</td>\n            </tr>", $color, $dias_da_semana[$valor['dia_semana']], $color, $valor['hora_inicial'], $color, $valor['hora_final']);
                 $cont++;
             }
             $tabela1 .= '</table>';
         }
         if ($tabela1) {
             $this->addDetalhe(array('Dia da Semana', $tabela1));
         }
     }
     // Recupera os componentes curriculares da turma
     $componentes = array();
     try {
         $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->cod_turma);
     } catch (Exception $e) {
     }
     $tabela3 = '
   <table>
     <tr align="center">
       <td bgcolor="#A1B3BD"><b>Nome</b></td>
       <td bgcolor="#A1B3BD"><b>Carga horária</b></td>
     </tr>';
     $cont = 0;
     foreach ($componentes as $componente) {
         $color = $cont++ % 2 == 0 ? ' bgcolor="#E4E9ED" ' : ' bgcolor="#FFFFFF" ';
         $tabela3 .= sprintf('
     <tr>
       <td %s align="left">%s</td>
       <td %s align="center">%.0f h</td>
     </tr>', $color, $componente, $color, $componente->cargaHoraria);
     }
     $tabela3 .= '</table>';
     $this->addDetalhe(array('Componentes curriculares', $tabela3));
     if ($obj_permissoes->permissao_cadastra(586, $this->pessoa_logada, 7)) {
         $this->url_novo = 'educar_turma_cad.php';
         $this->url_editar = 'educar_turma_cad.php?cod_turma=' . $registro['cod_turma'];
     }
     $this->url_cancelar = 'educar_turma_lst.php';
     $this->largura = '100%';
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Detalhe da turma"));
     $this->enviaLocalizacao($localizacao->montar());
     $this->array_botao[] = 'Reclassificar alunos alfabeticamente';
     $this->array_botao_url_script[] = "if(confirm(\"Deseja realmente reclassificar os alunos alfabeticamente?\\nAo utilizar esta opção para esta turma, a ordenação dos alunos no diário e em relatórios que é controlada por ordem de chegada após a data de fechamento da turma (campo Data de fechamento), passará a ter o controle novamente alfabético, desconsiderando a data de fechamento.\"))reclassifica_matriculas({$registro['cod_turma']})";
     Portabilis_View_Helper_Application::loadJQueryLib($this);
     $scripts = array('/modules/Portabilis/Assets/Javascripts/Utils.js', '/modules/Portabilis/Assets/Javascripts/ClientApi.js', '/modules/Cadastro/Assets/Javascripts/TurmaDet.js');
     Portabilis_View_Helper_Application::loadJavascript($this, $scripts);
 }
 function Inicializar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->ref_cod_turma = $_GET['ref_cod_turma'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(659, $this->pessoa_logada, 7, 'educar_matriculas_turma_lst.php');
     if (is_numeric($this->ref_cod_turma)) {
         $obj_turma = new clsPmieducarTurma();
         $lst_turma = $obj_turma->lista($this->ref_cod_turma);
         if (is_array($lst_turma)) {
             $registro = array_shift($lst_turma);
         }
         if ($registro) {
             // passa todos os valores obtidos no registro para atributos do objeto
             foreach ($registro as $campo => $val) {
                 $this->{$campo} = $val;
             }
             $retorno = 'Editar';
         }
         $this->url_cancelar = $retorno == 'Editar' ? sprintf('educar_matriculas_turma_det.php?ref_cod_matricula=%d&ref_cod_turma=%d', $this->ref_cod_matricula, $this->ref_cod_turma) : 'educar_matriculas_turma_lst.php';
         $this->nome_url_cancelar = 'Cancelar';
         return $retorno;
     }
     header('Location: educar_matriculas_turma_lst.php');
     die;
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if (!$_POST) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNão existem dados!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if (empty($this->cursos)) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNenhum curso selecionado!");
	     			window.location = window.location;
	     		</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.location = window.location;
	     		</script>';
            return true;
        }
        //$calendario = array_shift($lista_calendario);
        $obj_cal_ano_letivo = new clsPmieducarCalendarioAnoLetivo();
        $lst_cal_ano_letivo = $obj_cal_ano_letivo->lista(null, $this->ref_cod_escola, null, null, $this->ano, null, null, null, null, 1, null, $this->ref_cod_instituicao);
        $calendario = array_shift($lst_cal_ano_letivo);
        $obj_calendario_dia = new clsPmieducarCalendarioDia();
        $lista_dias = $obj_calendario_dia->lista($calendario['cod_calendario_ano_letivo'], $this->mes, null, null, null, null, null, null, null, 1);
        $dias_mes = array();
        if ($lista_dias) {
            foreach ($lista_dias as $dia) {
                $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);
                $det_motivo = $obj_motivo->detalhe();
                $dias_mes[$dia['dia']] = strtolower($det_motivo['tipo']);
            }
        }
        //Dias previstos do mes
        // Qual o primeiro dia do mes
        $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano);
        // Quantos dias tem o mes
        $NumeroDiasMes = date('t', $primeiroDiaDoMes);
        //informacoes primeiro dia do mes
        $dateComponents = getdate($primeiroDiaDoMes);
        // What is the name of the month in question?
        $NomeMes = $mesesDoAno[$dateComponents['mon']];
        // What is the index value (0-6) of the first day of the
        // month in question.
        $DiaSemana = $dateComponents['wday'];
        //total de dias uteis + dias extra-letivos - dia nao letivo - fim de semana
        $this->totalDiasUteis = 0;
        $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
        $inicio_ano = $obj_ano_letivo_modulo->menorData($this->ano, $this->ref_cod_escola);
        $inicio_ano = explode("-", $inicio_ano);
        for ($dia = 1; $dia <= $NumeroDiasMes; $dia++) {
            if ($DiaSemana >= 7) {
                $DiaSemana = 0;
            }
            if ($this->mes == $inicio_ano[1]) {
                if ($dia >= $inicio_ano[2]) {
                    if ($DiaSemana != 0 && $DiaSemana != 6) {
                        if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) {
                            $this->totalDiasUteis++;
                        }
                    } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) {
                        $this->totalDiasUteis++;
                    }
                }
            } else {
                if ($DiaSemana != 0 && $DiaSemana != 6) {
                    if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) {
                        $this->totalDiasUteis++;
                    }
                } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) {
                    $this->totalDiasUteis++;
                }
            }
            $DiaSemana++;
        }
        $cursos_in = '';
        $conc = '';
        foreach ($this->cursos as $curso) {
            $cursos_in .= "{$conc}{$curso}";
            $conc = ",";
        }
        $this->pdf = new clsPDF("Movimentação Mensal de Alunos - {$this->ano}", "Movimentação Mensal de Alunos - {$this->ano}", "A4", "", false, false);
        $this->pdf->largura = 842.0;
        $this->pdf->altura = 595.0;
        $fonte = 'arial';
        $corTexto = '#000000';
        $altura_linha = 23;
        $inicio_escrita_y = 175;
        $this->pdf->OpenPage();
        $this->addCabecalho();
        $this->novoCabecalho();
        $quantidade_total = array();
        foreach ($this->cursos as $curso) {
            //busca todas as series de um curso
            $obj_serie_cursos = new clsPmieducarSerie();
            $lista_serie_cursos = $obj_serie_cursos->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
            $total_turmas_curso = 0;
            $total_curso = array();
            for ($a = 0; $a < 30; $a++) {
                $total_curso[$a] = 0;
            }
            if ($lista_serie_cursos) {
                for ($a = 0; $a < 30; $a++) {
                    $total_serie[$a] = 0;
                }
                foreach ($lista_serie_cursos as $serie) {
                    $total_serie = array();
                    //nome da serie
                    $nm_serie = $serie['nm_serie'];
                    //MATRICULA INICIAL
                    //busca todas turmas de cada serie
                    $obj_serie_turmas = new clsPmieducarTurma();
                    $obj_serie_turmas->setOrderby("nm_turma");
                    $lista_serie_turmas = $obj_serie_turmas->lista(null, 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);
                    //total de turmas de uma serie
                    $total_turmas_curso += $total_turmas_serie = $obj_serie_turmas->_total;
                    if ($lista_serie_turmas) {
                        $quantidades = array();
                        foreach ($lista_serie_turmas as $turma) {
                            //professor regente da turma
                            $obj_servidor = new clsPessoa_($turma['ref_cod_regente']);
                            $det_sevidor = $obj_servidor->detalhe();
                            $nm_servidor = $det_sevidor['nome'];
                            //nome da turma de uma serie
                            $nm_turma = $turma['nm_turma'];
                            if ($turma['hora_inicial'] <= '12:00') {
                                $turno = 'M';
                            } elseif ($turma['hora_inicial'] > '12:00' && $turma['hora_inicial'] <= '18:00') {
                                $turno = 'V';
                            } else {
                                $turno = 'N';
                            }
                            $depurar = false;
                            if (trim($turma["nm_turma"]) == "202") {
                                //								$depurar=true;
                            }
                            /**
                             * busca todos os alunos que foram matriculados nos meses anteriores ao atual
                             */
                            $obj_matriculas = new clsPmieducarMatriculaTurma();
                            //$lista_matriculas = $obj_matriculas->lista(null,$turma['cod_turma'],null,null,null,null,null,null,1,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao,null,null,array( 1, 2, 3 ),((int)$this->mes === 1 ) ? $this->mes + 1: $this->mes,null,$this->ano );
                            //$lista_matriculas = $obj_matriculas->lista(null,$turma['cod_turma'],null,null,null,null,null,null,null,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao,null,null,null,((int)$this->mes === 1 ) ? $this->mes + 1: $this->mes,null,$this->ano );
                            $lista_matriculas = $obj_matriculas->lista(null, $turma['cod_turma'], null, null, null, null, null, null, null, $serie['cod_serie'], $curso, $this->ref_cod_escola, $this->ref_cod_instituicao, null, null, null, null, null, $this->ano, null, null, null, null, true, null, $this->mes, null, null, null, null, $depurar);
                            $total_matriculas_turma = $obj_matriculas->_total;
                            $total_matriculas_turma_masculino = 0;
                            $total_matriculas_turma_feminino = 0;
                            if ($lista_matriculas) {
                                foreach ($lista_matriculas as $matricula) {
                                    $obj_matricula = new clsPmieducarMatricula($matricula['ref_cod_matricula']);
                                    $det_matricula = $obj_matricula->detalhe();
                                    $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']);
                                    $det_aluno = $obj_aluno->detalhe();
                                    $obj_pessoa = new clsFisica($det_aluno['ref_idpes']);
                                    $det_pessoa = $obj_pessoa->detalhe();
                                    if (strtoupper($det_pessoa['sexo']) == 'M') {
                                        $total_matriculas_turma_masculino++;
                                    } else {
                                        $total_matriculas_turma_feminino++;
                                    }
                                }
                            }
                            //quantidades matricula inicial
                            //							M
                            $quantidades[0] = $total_matriculas_turma_masculino;
                            //							F
                            $quantidades[1] = $total_matriculas_turma_feminino;
                            //							T
                            $quantidades[2] = $total_matriculas_turma;
                            $db3 = new clsBanco();
                            if (trim($turma["nm_turma"]) == "304") {
                                //								echo "<pre>"; print_r($quantidades);// die();
                            }
                            /*Array
                            (
                                [0] => 15
                                [1] => 14
                                [2] => 29
                            )
                            EL. ENTURMACAO 48743          2
                            EL. TRANSFERENCIA 48775                    1
                            AD ENTURMACAO 48816       4
                            EL. TRANSFERENCIA 54097                    1
                            AD ENTURMACAO 54962       4
                            AD ENTURMACAO 55101       4
                            AD TRANSFERENCIA 57059          3
                            AD TRANSFERENCIA 57070          3*/
                            //							echo $turma["cod_turma"]."<br>";
                            //sql para pegar o numero de alunos que
                            // abandonaram e diminuir da soma final
                            /*$sql = "SELECT COUNT(0) FROM
                            					pmieducar.matricula m,
                            					pmieducar.matricula_turma mt,
                            					pmieducar.aluno a,
                            					cadastro.fisica f
                            				WHERE
                            					mt.ref_cod_turma = {$turma["cod_turma"]}
                            					AND mt.ativo = 1
                            					AND mt.ref_cod_matricula = m.cod_matricula
                            					AND m.ref_cod_aluno = a.cod_aluno
                            					AND a.ref_idpes = f.idpes
                            					AND sexo = 'M'
                            					AND ano = {$this->ano}
                            					AND m.aprovado not in(1,2,3)
                            					AND ( to_char(mt.data_cadastro,'MM')::int = '{$this->mes}'
                            						  OR to_char(mt.data_exclusao,'MM')::int = '{$this->mes}')";
                            		$diminui_masc = (int)$db3->CampoUnico($sql);
                            		if ($depurar) {
                            			echo $sql."<br>";
                            		}
                            		$sql = "SELECT COUNT(0) FROM
                            					pmieducar.matricula m,
                            					pmieducar.matricula_turma mt,
                            					pmieducar.aluno a,
                            					cadastro.fisica f
                            				WHERE
                            					mt.ref_cod_turma = {$turma["cod_turma"]}
                            					AND mt.ativo = 1
                            					AND mt.ref_cod_matricula = m.cod_matricula
                            					AND m.ref_cod_aluno = a.cod_aluno
                            					AND a.ref_idpes = f.idpes
                            					AND sexo = 'F'
                            					AND ano = {$this->ano}
                            					AND m.aprovado not in(1,2,3)
                            					AND ( to_char(mt.data_cadastro,'MM')::int = '{$this->mes}'
                            							OR to_char(mt.data_exclusao,'MM')::int = '{$this->mes}')";
                            		$diminui_fem = (int)$db3->CampoUnico($sql);			*/
                            //							$depurar = false;
                            if ($depurar || $turma["nm_turma"] == "304") {
                                //								die($sql);
                                //								$depurar = true;
                            }
                            //							$diminui_fem = $diminui_masc = 0;
                            //							ENTURMACAO
                            /**
                             * seleciona todas as matriculas com data_* no mes atual
                             */
                            $sql_complemento = "OR (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEXISTS (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSELECT 1 FROM pmieducar.transferencia_solicitacao ts WHERE ts.ativo = 1 AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t to_char(ts.data_transferencia,'MM')::int = {$this->mes} AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ts.ref_cod_matricula_saida = m.cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)";
                            $sql_complemento = "";
                            if ($depurar) {
                                //								$sql_complemento1 = "AND m.cod_matricula NOT IN (48743, 48775, 48816, 54097, 54962, 55101, 57059, 57070)";
                                //								$sql_complemento1 = "AND m.cod_matricula NOT IN (48743, 48775, 48816, 54097, 54962, 55101, 57059)";
                            }
                            $db = new clsBanco();
                            $consulta = "SELECT\n\t\t\t\t\t\t\t\t\t\t\tDISTINCT mt.ref_cod_matricula, mt.sequencial, mt.ativo\n\t\t\t\t\t\t\t\t\t\t FROM\n\t\t\t\t\t\t\t\t\t\t \tpmieducar.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 WHERE\n\t\t\t\t\t\t\t\t\t\t \tmt.ref_cod_matricula = m.cod_matricula\n\t\t\t\t\t\t\t\t\t\t \tAND m.ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t \tAND m.ativo = 1\n\t\t\t\t\t\t\t\t\t\t \tAND mt.ref_cod_turma = {$turma["cod_turma"]}\n\t\t\t\t\t\t\t\t\t\t \tAND (\tto_char(mt.data_cadastro,'MM')::int = {$this->mes}\n\t\t\t\t\t\t\t\t\t\t \t\tOR\n\t\t\t\t\t\t\t\t\t\t \t\t\tto_char(mt.data_exclusao,'MM')::int = {$this->mes}\n\t\t\t\t\t\t\t\t\t\t \t\t\t{$sql_complemento}\n\t\t\t\t\t\t\t\t\t\t \t\t)\n\t\t\t\t\t\t\t\t\t\t \tORDER BY\n\t\t\t\t\t\t\t\t\t\t \t\t1, 2, ativo";
                            $depurar = false;
                            if ($depurar || trim($turma["nm_turma"]) == "202") {
                                //								$depurar = true;
                            }
                            $db->Consulta($consulta);
                            $total_admitido_enturmacao = 0;
                            $total_admitido_enturmacao_masc = 0;
                            $total_admitido_enturmacao_fem = 0;
                            $total_eliminado_enturmacao = 0;
                            $total_eliminado_enturmacao_masc = 0;
                            $total_eliminado_enturmacao_fem = 0;
                            $total_reclassificacao = 0;
                            $total_admitido_reclassificao = 0;
                            $total_admitido_reclassificao_masc = 0;
                            $total_admitido_reclassificao_fem = 0;
                            $total_eliminado_reclassificacao = 0;
                            $total_eliminado_reclassificacao_masc = 0;
                            $total_eliminado_reclassificacao_fem = 0;
                            $total_transferencia = 0;
                            $total_admitido_transferencia = 0;
                            $total_admitido_transferencia_masc = 0;
                            $total_admitido_transferencia_fem = 0;
                            $total_eliminado_transferencia = 0;
                            $total_eliminado_transferencia_masc = 0;
                            $total_eliminado_transferencia_fem = 0;
                            $total_abandono = 0;
                            //$diminui_fem + $diminui_masc;
                            $total_abandono_masc = 0;
                            //$diminui_masc;
                            $total_abandono_fem = 0;
                            //$diminui_fem;
                            $diminui_fem = $diminui_masc = 0;
                            $total_aprovado = 0;
                            $total_aprovado_masc = 0;
                            $total_aprovado_fem = 0;
                            $matriculas_transferencia = array();
                            if ($db->Num_Linhas()) {
                                $db2 = new clsBanco();
                                while ($db->ProximoRegistro()) {
                                    list($cod_matricula, $sequencial, $ativo) = $db->Tupla();
                                    //									$depurar=false;
                                    if ($cod_matricula == 48743) {
                                        //										die("<br><br><br><br><br><br>".$ativo." ,______");
                                        //										$depurar=true;
                                    }
                                    $obj_matricula = new clsPmieducarMatricula($cod_matricula);
                                    $det_matricula = $obj_matricula->detalhe();
                                    $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']);
                                    $det_aluno = $obj_aluno->detalhe();
                                    $obj_pessoa = new clsFisica($det_aluno['ref_idpes']);
                                    $det_pessoa = $obj_pessoa->detalhe();
                                    $sexo = strtoupper($det_pessoa['sexo']);
                                    $consulta = "SELECT ativo\n\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = '{$cod_matricula}'\n\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = '{$turma['cod_turma']}'\n\t\t\t\t\t\t\t\t\t\t\t\t    AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula IN ( SELECT cod_matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t   FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t  WHERE ano = '{$this->ano}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t    AND ref_cod_aluno = ( SELECT DISTINCT ref_cod_aluno\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t  \t\t\t\t\t        FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  \t\t\t\t\t\t\t  \t\t\t\t\t       WHERE cod_matricula = '{$cod_matricula}' ) )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro desc,data_exclusao desc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t   )\n\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro desc,data_exclusao desc,ativo ";
                                    /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}'*/
                                    $eh_ultima_matricula = $db2->CampoUnico($consulta);
                                    /**
                                     * nao eh a ultima matricula
                                     */
                                    //02-07-07
                                    //f(!is_numeric($eh_ultima_matricula) || $eh_ultima_matricula == 0 /*&& $eh_ultima_matricula != 0 && $eh_ultima_matricula != 1*/)
                                    if (!is_numeric($eh_ultima_matricula)) {
                                        $foi_admitido_transferencia = false;
                                        $foi_eliminado_transferencia = false;
                                        if ($cod_matricula == 48743) {
                                            //											die("<br><br><br><br><br><br>".$ativo." ,______");
                                            //											$depurar=true;
                                        }
                                        /**
                                         * verifica se for a primeira enturmacao
                                         * se ela esta marcada como reclassificacao
                                         */
                                        //echo "$cod_matricula-$sequencial<br>";
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc,ativo ";
                                        /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}' */
                                        $eh_primeira_enturmacao_desta_matricula = $db2->CampoUnico($consulta);
                                        $consulta = "SELECT matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                        $matricula_reclassificacao = $db2->CampoUnico($consulta);
                                        //ref_cod_matricula_saida
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_entrada = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )";
                                        $existe_transferencia = $db2->CampoUnico($consulta);
                                        /**
                                         * verifica se eh a primeira matricula do aluno
                                         */
                                        $obj_matricula_aluno = new clsPmieducarMatricula();
                                        $lst_matricula_aluno = $obj_matricula_aluno->lista(null, null, null, null, null, null, $det_aluno['cod_aluno'], null, null, null, null, null, $this->ano);
                                        $eh_primeira_matricula_do_aluno = count($lst_matricula_aluno) == 1 ? 1 : 0;
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND matricula_transferencia = true AND to_char(data_cadastro,'MM')::int = {$this->mes}";
                                        $primeira_matricula_eh_transferencia = $db2->CampoUnico($consulta);
                                        $consulta = "SELECT max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}";
                                        $max_sequencial = $db2->CampoUnico($consulta);
                                        if (is_numeric($primeira_matricula_eh_transferencia)) {
                                            $matriculas_transferencia[$cod_matricula] = $cod_matricula;
                                            $total_admitido_transferencia++;
                                            if ($depurar) {
                                                echo "AD TRANSFERENCIA {$cod_matricula}  aquiiii<br>";
                                                $matriculas[] = $cod_matricula;
                                            }
                                            if ($sexo == 'M') {
                                                $total_admitido_transferencia_masc++;
                                            } else {
                                                $total_admitido_transferencia_fem++;
                                            }
                                        }
                                        if ($eh_primeira_enturmacao_desta_matricula && $matricula_reclassificacao) {
                                            if ($depurar) {
                                                $matriculas[] = $cod_matricula;
                                            }
                                            $total_admitido_reclassificao++;
                                            if ($sexo == 'M') {
                                                $total_admitido_reclassificao_masc++;
                                            } else {
                                                $total_admitido_reclassificao_fem++;
                                            }
                                        } elseif ($eh_primeira_enturmacao_desta_matricula && $existe_transferencia || $eh_primeira_enturmacao_desta_matricula && $eh_primeira_matricula_do_aluno && $primeira_matricula_eh_transferencia) {
                                            if (is_numeric($existe_transferencia) && $existe_transferencia == 1) {
                                                if ($depurar) {
                                                    echo "AD TRANSFERENCIA {$cod_matricula}  1<br>";
                                                    $matriculas[] = $cod_matricula;
                                                }
                                                if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) {
                                                    $total_admitido_transferencia++;
                                                    if ($sexo == 'M') {
                                                        $total_admitido_transferencia_masc++;
                                                    } else {
                                                        $total_admitido_transferencia_fem++;
                                                    }
                                                    $foi_admitido_transferencia = true;
                                                }
                                            }
                                        } else {
                                            if (!is_numeric($primeira_matricula_eh_transferencia) && $ativo == 1) {
                                                if ($depurar) {
                                                    echo "AD ENTURMACAO {$cod_matricula}             1<br>";
                                                    $matriculas[] = $cod_matricula;
                                                }
                                                $total_admitido_enturmacao++;
                                                if ($sexo == 'M') {
                                                    $total_admitido_enturmacao_masc++;
                                                } else {
                                                    $total_admitido_enturmacao_fem++;
                                                }
                                            }
                                        }
                                        /**
                                         * verifica se eh a ultima enturmacao desta matricula
                                         */
                                        $consulta = "SELECT ref_cod_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND (ref_cod_turma,sequencial) = (SELECT ref_cod_turma, max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgroup by ref_cod_turma,data_cadastro\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder by data_cadastro desc limit 1)";
                                        $ultima_turma_enturmacao = $db2->CampoUnico($consulta);
                                        if ($ultima_turma_enturmacao == $turma['cod_turma']) {
                                            $consulta = "SELECT aprovado\n\t\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                            $situacao = $db2->CampoUnico($consulta);
                                            $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)";
                                            $existe_transferencia = $db2->CampoUnico($consulta);
                                            if ($situacao <= 3 && is_numeric($existe_transferencia)) {
                                                //if($turma['cod_turma'] == 757)
                                                //	echo "1-$cod_matricula-$matricula_reclassificacao<br>";
                                                if ($ativo == 0) {
                                                    $total_eliminado_enturmacao++;
                                                    if ($depurar) {
                                                        echo "EL. ENTURMACAO {$cod_matricula}           1<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_enturmacao_masc++;
                                                    } else {
                                                        $total_eliminado_enturmacao_fem++;
                                                    }
                                                }
                                            } else {
                                                if ($situacao == 5) {
                                                    $total_eliminado_reclassificacao++;
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_reclassificacao_masc++;
                                                    } else {
                                                        $total_eliminado_reclassificacao_fem++;
                                                    }
                                                }
                                                if ($situacao == 4 && is_numeric($existe_transferencia)) {
                                                    $total_eliminado_transferencia++;
                                                    if ($depurar) {
                                                        echo "EL. TRANSFERENCIA " . $cod_matricula . "                    1<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_transferencia_masc++;
                                                    } else {
                                                        $total_eliminado_transferencia_fem++;
                                                    }
                                                    /**
                                                     * se for a primeira enturmacao mesmo que tenha
                                                     * sido eliminado deve contabilizar uma
                                                     * admissao por enturmacao
                                                     */
                                                    if ($eh_primeira_enturmacao_desta_matricula && !$primeira_matricula_eh_transferencia && !$foi_admitido_transferencia) {
                                                        //if($turma['cod_turma'] == 40)
                                                        //echo "1-$cod_matricula<br>";
                                                        echo "AD ENTURMACAO {$cod_matricula}             aaaaaaaaaaaaaa<br>";
                                                        $total_admitido_enturmacao++;
                                                        if ($sexo == 'M') {
                                                            $total_admitido_enturmacao_masc++;
                                                        } else {
                                                            $total_admitido_enturmacao_fem++;
                                                        }
                                                    }
                                                } elseif ($situacao == 6) {
                                                    $total_abandono++;
                                                    if ($sexo == 'M') {
                                                        $total_abandono_masc++;
                                                    } else {
                                                        $total_abandono_fem++;
                                                    }
                                                } elseif ($situacao == 1) {
                                                    $total_aprovado++;
                                                    if ($sexo == 'M') {
                                                        $total_aprovado_masc++;
                                                    } else {
                                                        $total_aprovado_fem++;
                                                    }
                                                } elseif ($situacao == 4 && !is_numeric($existe_transferencia) && is_numeric($eh_primeira_enturmacao_desta_matricula) && !$primeira_matricula_eh_transferencia) {
                                                    //if($turma['cod_turma'] == 450)
                                                    //	echo "1-$cod_matricula<br>";
                                                    if ($depurar) {
                                                        echo "AD ENTURMACAO {$cod_matricula}       2<br>";
                                                        $matriculas[] = $cod_matricula;
                                                    }
                                                    $total_admitido_enturmacao++;
                                                    if ($sexo == 'M') {
                                                        $total_admitido_enturmacao_masc++;
                                                    } else {
                                                        $total_admitido_enturmacao_fem++;
                                                    }
                                                }
                                            }
                                        } else {
                                            if ($ativo == 0) {
                                                if ($sequencial <= $max_sequencial) {
                                                    //if($turma['cod_turma'] == 757)
                                                    //echo "2-$cod_matricula-$matricula_reclassificacao<br>";
                                                    $total_eliminado_enturmacao++;
                                                    if ($depurar) {
                                                        echo "EL. ENTURMACAO {$cod_matricula}          2<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_enturmacao_masc++;
                                                    } else {
                                                        $total_eliminado_enturmacao_fem++;
                                                    }
                                                    if (is_numeric($eh_primeira_enturmacao_desta_matricula) && !$existe_transferencia && !$matricula_reclassificacao) {
                                                        if ($depurar) {
                                                            echo "AD ENTURMACAO {$cod_matricula}       3<br>";
                                                            $matriculas[] = $cod_matricula;
                                                        }
                                                        $total_admitido_enturmacao++;
                                                        if ($sexo == 'M') {
                                                            $total_admitido_enturmacao_masc++;
                                                        } else {
                                                            $total_admitido_enturmacao_fem++;
                                                        }
                                                    }
                                                } elseif (is_numeric($eh_primeira_enturmacao_desta_matricula)) {
                                                    if ($primeira_matricula_eh_transferencia) {
                                                        if ($depurar) {
                                                            echo "AD TRANSFERENCIAAA {$cod_matricula}            2<BR>";
                                                            $matriculas[] = $cod_matricula;
                                                        }
                                                        if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) {
                                                            $total_admitido_transferencia++;
                                                            if ($sexo == 'M') {
                                                                $total_admitido_transferencia_masc++;
                                                            } else {
                                                                $total_admitido_transferencia_fem++;
                                                            }
                                                        }
                                                    } elseif (!$existe_transferencia && !$matricula_reclassificacao) {
                                                        if ($depurar) {
                                                            echo "AD ENTURMACAO {$cod_matricula}       3<br>";
                                                            $matriculas[] = $cod_matricula;
                                                        }
                                                        $total_admitido_enturmacao++;
                                                        if ($sexo == 'M') {
                                                            $total_admitido_enturmacao_masc++;
                                                        } else {
                                                            $total_admitido_enturmacao_fem++;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    } else {
                                        //echo "ref_cod_matricula = $cod_matricula
                                        //AND sequencial = $sequencial";
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (data_cadastro, COALESCE(data_exclusao,now())) = ( SELECT data_cadastro, COALESCE(data_exclusao,now())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 1 )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY data_cadastro asc,data_exclusao asc,ativo ";
                                        /*OR to_char( data_exclusao,'MM')::int = '{$this->mes}'*/
                                        $eh_primeira_enturmacao_desta_matricula = $db2->CampoUnico($consulta);
                                        $consulta = "SELECT matricula_reclassificacao\n\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                        $matricula_reclassificacao = $db2->CampoUnico($consulta);
                                        /**
                                         * verifica se eh a primeira matricula do aluno
                                         */
                                        $obj_matricula_aluno = new clsPmieducarMatricula();
                                        $lst_matricula_aluno = $obj_matricula_aluno->lista(null, null, null, null, null, null, $det_aluno['cod_aluno']);
                                        $eh_primeira_matricula_do_aluno = count($lst_matricula_aluno) == 1 ? 1 : 0;
                                        $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND matricula_transferencia = true";
                                        $primeira_matricula_eh_transferencia = $db2->CampoUnico($consulta);
                                        if (is_numeric($primeira_matricula_eh_transferencia)) {
                                            $matriculas_transferencia[$cod_matricula] = $cod_matricula;
                                            $total_admitido_transferencia++;
                                            if ($sexo == 'M') {
                                                $total_admitido_transferencia_masc++;
                                            } else {
                                                $total_admitido_transferencia_fem++;
                                            }
                                        }
                                        if ($eh_primeira_enturmacao_desta_matricula && $matricula_reclassificacao) {
                                            $total_admitido_reclassificao++;
                                            if ($depurar) {
                                                $matriculas[] = $cod_matricula;
                                            }
                                            if ($sexo == 'M') {
                                                $total_admitido_reclassificao_masc++;
                                            } else {
                                                $total_admitido_reclassificao_fem++;
                                            }
                                        } else {
                                            $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_entrada = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )";
                                            $existe_transferencia = (int) $db2->CampoUnico($consulta);
                                            //if($turma['cod_turma'] == 33 && $existe_transferencia)
                                            //	echo "$cod_matricula<br>";
                                            if (is_numeric($eh_primeira_enturmacao_desta_matricula) && $existe_transferencia && $existe_transferencia == 1 || is_numeric($eh_primeira_enturmacao_desta_matricula) && $eh_primeira_matricula_do_aluno && $primeira_matricula_eh_transferencia) {
                                                if ($depurar) {
                                                    echo "AD TRANSFERENCIA {$cod_matricula}          3<br>";
                                                    $matriculas[] = $cod_matricula;
                                                }
                                                if (!is_numeric(array_search($cod_matricula, $matriculas_transferencia))) {
                                                    $total_admitido_transferencia++;
                                                    if ($sexo == 'M') {
                                                        $total_admitido_transferencia_masc++;
                                                    } else {
                                                        $total_admitido_transferencia_fem++;
                                                    }
                                                }
                                            } else {
                                                //if($det_matricula['aprovado'] != 4)
                                                //												{
                                                //if($turma['cod_turma'] == 450)
                                                //echo "2-$cod_matricula<br>";
                                                if (!is_numeric($primeira_matricula_eh_transferencia)) {
                                                    $total_admitido_enturmacao++;
                                                    if ($depurar) {
                                                        echo "AD ENTURMACAO {$cod_matricula}       4<br>";
                                                        $matriculas[] = $cod_matricula;
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_admitido_enturmacao_masc++;
                                                    } else {
                                                        $total_admitido_enturmacao_fem++;
                                                    }
                                                }
                                            }
                                        }
                                        /**
                                         * verifica se eh a ultima enturmacao desta matricula
                                         */
                                        $consulta = "SELECT ref_cod_turma\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt1\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND sequencial = {$sequencial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t    AND sequencial = (SELECT max(sequencial)\n\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.matricula_turma mt2\n\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula = {$cod_matricula})\n\t\t\t\t\t\t\t\t\t\t\t\t\torder by data_cadastro desc limit 1";
                                        $ultima_turma_enturmacao = $db2->CampoUnico($consulta);
                                        //echo "$cod_matricula - $ultima_turma_enturmacao == {$turma['cod_turma']}";
                                        if ($ultima_turma_enturmacao == $turma['cod_turma']) {
                                            $consulta = "SELECT aprovado\n\t\t\t\t\t\t\t\t\t\t\t               FROM pmieducar.matricula\n\t\t\t\t\t\t\t\t\t\t\t              WHERE cod_matricula = {$cod_matricula}";
                                            $situacao = $db2->CampoUnico($consulta);
                                            if ($situacao <= 3) {
                                                if ($ativo == 0) {
                                                    //if($turma['cod_turma'] == 757)
                                                    //echo "3-$cod_matricula-$matricula_reclassificacao<br>";
                                                    $total_eliminado_enturmacao++;
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_enturmacao_masc++;
                                                    } else {
                                                        $total_eliminado_enturmacao_fem++;
                                                    }
                                                } else {
                                                    $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t    AND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)";
                                                    $existe_transferencia = $db2->CampoUnico($consulta);
                                                    if (is_numeric($existe_transferencia) && $existe_transferencia == 1) {
                                                        $total_eliminado_transferencia++;
                                                        if ($depurar) {
                                                            echo "EL TRANSFERENCIA " . $cod_matricula . "              2<br>";
                                                        }
                                                        if ($sexo == 'M') {
                                                            $total_eliminado_transferencia_masc++;
                                                        } else {
                                                            $total_eliminado_transferencia_fem++;
                                                        }
                                                    }
                                                    //echo '<br>->'.$existe_transferencia = $db->CampoUnico($consulta);
                                                    //echo '<-<br>';
                                                }
                                            } else {
                                                //echo $turma['cod_turma'].'b';
                                                //echo "enter.$cod_matricula";
                                                $consulta = "SELECT 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   FROM pmieducar.transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE ref_cod_matricula_saida = {$cod_matricula}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND (ativo = 1 OR data_transferencia IS NOT NULL)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ( to_char(data_cadastro,'MM')::int = '{$this->mes}'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t      OR to_char( data_exclusao,'MM')::int = '{$this->mes}' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND(to_char(data_transferencia,'MM')::int = '{$this->mes}' OR data_transferencia IS NULL)";
                                                $existe_transferencia = $db2->CampoUnico($consulta);
                                                //echo $situacao.'<br>';
                                                //if($turma['cod_turma'] == 33)
                                                //echo "$cod_matricula<br>";
                                                if ($situacao == 5) {
                                                    $total_eliminado_reclassificacao++;
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_reclassificacao_masc++;
                                                    } else {
                                                        $total_eliminado_reclassificacao_fem++;
                                                    }
                                                } elseif (is_numeric($existe_transferencia) && $existe_transferencia == 1) {
                                                    $total_eliminado_transferencia++;
                                                    if ($depurar) {
                                                        echo "EL TRANSFERENCIA " . $cod_matricula . "           3<br>";
                                                    }
                                                    if ($sexo == 'M') {
                                                        $total_eliminado_transferencia_masc++;
                                                    } else {
                                                        $total_eliminado_transferencia_fem++;
                                                    }
                                                } elseif ($situacao == 6) {
                                                    $total_abandono++;
                                                    if ($sexo == 'M') {
                                                        $total_abandono_masc++;
                                                    } else {
                                                        $total_abandono_fem++;
                                                    }
                                                } elseif ($situacao == 1 || $situacao == 2) {
                                                    $total_aprovado++;
                                                    if ($sexo == 'M') {
                                                        $total_aprovado_masc++;
                                                    } else {
                                                        $total_aprovado_fem++;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            //							die(implode(",",$matriculas));
                            //ADMITIDOS ativo = 1
                            //admitido por enturmacao no mes atual
                            //QUANTIDADES ENTURMACAO ADMITIDOS
                            //M
                            $quantidades[3] = $total_admitido_enturmacao_masc;
                            //F
                            $quantidades[4] = $total_admitido_enturmacao_fem;
                            //T
                            $quantidades[5] = $total_admitido_enturmacao;
                            //ELIMINADOS ativo = 0
                            //QUANTIDADES ENTURMACAO ELIMINADOS
                            //M
                            $quantidades[6] = $total_eliminado_enturmacao_masc;
                            //F
                            $quantidades[7] = $total_eliminado_enturmacao_fem;
                            //T
                            $quantidades[8] = $total_eliminado_enturmacao;
                            //RECLASSIFICACAO
                            //ADMITIDOS
                            //$obj_matriculas->_total = 0;
                            //$primeiroDiaDoMes = mktime(0,0,0,9,1,2006);
                            //   $NumeroDiasMes = date('t',$primeiroDiaDoMes);
                            //   $ultimoDiaMes =date('d/m/Y',mktime(0,0,0,9,$NumeroDiasMes,2006));
                            /**
                             * busca todas as matriculas marcadas como matricula_reclassificacao de uma serie de um curso
                             * em seguida busca todas as matriculas_turma da matricula_turma ordenado por data e pegando a primeira matricula de reclassificacao
                             * se essa matricula for igual a matricula atual do loop entao esta matricula
                             * é uma reclassificacao
                             */
                            //QUANTIDADES RECLASSIFICACAO ADMITIDOS
                            //M
                            $quantidades[9] = $total_admitido_reclassificao_masc;
                            //F
                            $quantidades[10] = $total_admitido_reclassificao_fem;
                            //T
                            $quantidades[11] = $total_admitido_reclassificao;
                            //ELIMINADOS
                            $obj_matriculas->_total = 0;
                            //QUANTIDADES RECLASSIFICACAO ELIMINADOS
                            //M
                            $quantidades[12] = $total_eliminado_reclassificacao_masc;
                            //F
                            $quantidades[13] = $total_eliminado_reclassificacao_fem;
                            //T
                            $quantidades[14] = $total_eliminado_reclassificacao;
                            //TRANSFERENCIA
                            //ADMITIDOS ativo = 1
                            //QUANTIDADES TRASNFERENCIA ADMITIDOS
                            //M
                            $quantidades[15] = $total_admitido_transferencia_masc;
                            //F
                            $quantidades[16] = $total_admitido_transferencia_fem;
                            //T
                            $quantidades[17] = $total_admitido_transferencia;
                            //ELIMINADOS aprovado = 4
                            //TRANSFERENCIA EXTERNA
                            //QUANTIDADES TRANFERENCIA EXTERNO ELIMINADOS
                            //M
                            $quantidades[18] = $total_eliminado_transferencia_masc;
                            //F
                            $quantidades[19] = $total_eliminado_transferencia_fem;
                            //T
                            $quantidades[20] = $total_eliminado_transferencia;
                            //ABANDONO
                            /*$db2 = new clsBanco();
                            							$consulta = "
                            										SELECT count(1)
                            											   FROM pmieducar.matricula_turma
                            												,pmieducar.matricula
                            											  WHERE cod_matricula = ref_cod_matricula
                            											    AND ref_cod_turma = {$turma['cod_turma']}
                            											    AND aprovado = 6
                            											    AND matricula_turma.ativo = 1
                            										            AND matricula.ativo = 1
                            												AND ( to_char( matricula_turma.data_cadastro,'MM')::int = {$this->mes}
                            												      OR to_char(  matricula_turma.data_exclusao,'MM')::int = {$this->mes} )
                            										";
                            
                            							$total_transf = $db2->CampoUnico($consulta)	;*/
                            //QUANTIDADES ABANDONO
                            //M
                            $quantidades[21] = $total_abandono_masc;
                            //F
                            $quantidades[22] = $total_abandono_fem;
                            //T
                            $quantidades[23] = $total_abandono;
                            //APROVADOS
                            //QUANTIDADES APROVADOS
                            //M
                            $quantidades[24] = $total_aprovado_masc;
                            //F
                            $quantidades[25] = $total_aprovado_fem;
                            //T
                            $quantidades[26] = $total_aprovado;
                            /**
                             * Inicio linha
                             */
                            $altura_linha = 18;
                            $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                            $largura_linha = 18;
                            for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
                                //159
                                $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
                            }
                            //n
                            $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
                            //ciclo
                            $this->pdf->linha_relativa(134, $this->page_y, 0, 18);
                            //turno
                            $this->pdf->linha_relativa(149, $this->page_y, 0, 18);
                            //professor
                            $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
                            $largura_linha = 18;
                            $index = 0;
                            for ($ct = 260; $ct < 260 + 26 * 18; $ct += $largura_linha * 3) {
                                $this->pdf->escreve_relativo($quantidades[$index] == 0 ? '' : $quantidades[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                                $this->pdf->escreve_relativo($quantidades[$index + 1] == 0 ? '' : $quantidades[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                                $this->pdf->escreve_relativo($quantidades[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                                $total_serie[$index] += $quantidades[$index];
                                $total_serie[$index + 1] += $quantidades[$index + 1];
                                $total_serie[$index + 2] += $quantidades[$index + 2];
                                $total_curso[$index] += $quantidades[$index];
                                $total_curso[$index + 1] += $quantidades[$index + 1];
                                $total_curso[$index + 2] += $quantidades[$index + 2];
                                $index += 3;
                            }
                            //							echo '<pre>';print_r($total_curso);
                            //matricula final
                            // ( MI + Adm.Entur + Adm.Recla + Adm1.Transf ) - ( Elim.Entur + Elim.Recla + Elim.Transf + Abandono )
                            $quantidades[27] = $quantidades[0] + $quantidades[3] + $quantidades[9] + $quantidades[15] - ($quantidades[6] + $quantidades[12] + $quantidades[18] + $quantidades[21]);
                            // - $diminui_masc;
                            //F
                            $quantidades[28] = $quantidades[1] + $quantidades[4] + $quantidades[10] + $quantidades[16] - ($quantidades[7] + $quantidades[13] + $quantidades[19] + $quantidades[22]);
                            // - $diminui_fem;
                            //T
                            $quantidades[29] = $quantidades[2] + $quantidades[5] + $quantidades[11] + $quantidades[17] - ($quantidades[8] + $quantidades[14] + $quantidades[20] + $quantidades[23]);
                            // - $diminui_fem - $diminui_masc;
                            $this->pdf->escreve_relativo($quantidades[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($quantidades[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($quantidades[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $total_serie[$index] += $quantidades[$index];
                            $total_serie[$index + 1] += $quantidades[$index + 1];
                            $total_serie[$index + 2] += $quantidades[$index + 2];
                            $total_curso[$index] += $quantidades[$index];
                            $total_curso[$index + 1] += $quantidades[$index + 1];
                            $total_curso[$index + 2] += $quantidades[$index + 2];
                            $expande = 24;
                            $numero_x = 12 + $expande;
                            $this->pdf->escreve_relativo("", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
                            //posicao ciclo
                            $ciclo_x = $expande + 15;
                            $this->pdf->escreve_relativo("{$turma['nm_turma']}", $ciclo_x, $this->page_y + 3, 100, 50, $fonte, 7, $corTexto, 'center');
                            //posicao turno
                            $turno_x = $ciclo_x + $expande + 28;
                            $this->pdf->escreve_relativo("{$turno}", $turno_x, $this->page_y + 3, 100, 40, $fonte, 7, $corTexto, 'center');
                            $professor_x = 125 + $expande;
                            $this->pdf->escreve_relativo("{$nm_servidor}", $professor_x + 5, $this->page_y + 5, 100, 40, $fonte, 6, $corTexto, 'center');
                            $this->page_y += 18;
                            /**
                             * Fim linha
                             */
                            if ($this->page_y + $altura_linha > 498) {
                                $this->pdf->ClosePage();
                                $this->pdf->OpenPage();
                                $this->addCabecalho();
                                $this->novoCabecalho();
                            }
                        }
                    }
                    /**
                     * subtototal
                     */
                    $index = 0;
                    $altura_linha = 18;
                    $largura_linha = 18;
                    if ($lista_serie_turmas) {
                        $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                        for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
                            $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
                        }
                        $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
                        $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
                        for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) {
                            $this->pdf->escreve_relativo($total_serie[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_serie[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_serie[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                            $index += 3;
                        }
                        $expande = 24;
                        $numero_x = 12 + $expande;
                        $this->pdf->escreve_relativo("{$total_turmas_serie}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
                        $professor_x = 40 + $expande;
                        $this->pdf->escreve_relativo("Subtotal {$nm_serie}", $professor_x + 5, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center');
                        $this->page_y += 18;
                    }
                    /**
                     *
                     */
                    if ($this->page_y + $altura_linha > 498) {
                        $this->pdf->ClosePage();
                        $this->pdf->OpenPage();
                        $this->addCabecalho();
                        $this->novoCabecalho();
                    }
                }
                if ($total_curso[0] > 0) {
                    /**
                     * TOTAL CURSO
                     */
                    $altura_linha = 18;
                    $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                    for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
                        $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
                    }
                    //n
                    $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
                    $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
                    $index = 0;
                    for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) {
                        $this->pdf->escreve_relativo($total_curso[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                        $this->pdf->escreve_relativo($total_curso[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                        $this->pdf->escreve_relativo($total_curso[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
                        $index += 3;
                    }
                    $expande = 24;
                    $numero_x = 12 + $expande;
                    $this->pdf->escreve_relativo("{$total_turmas_curso}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
                    $obj_curso = new clsPmieducarCurso($curso);
                    $det_curso = $obj_curso->detalhe();
                    $nm_curso = $det_curso['nm_curso'];
                    $professor_x = 40 + $expande;
                    $this->pdf->escreve_relativo("Total {$nm_curso}", $professor_x + 5, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center');
                    $this->page_y += 18;
                }
                foreach ($total_curso as $key => $valor) {
                    $quantidade_total[$key] += $valor;
                }
                /**
                 *
                 */
                if ($this->page_y > 498) {
                    $this->pdf->ClosePage();
                    $this->pdf->OpenPage();
                    $this->addCabecalho();
                    $this->novoCabecalho();
                }
            }
        }
        $altura_linha = 18;
        $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
        for ($ct = 294; $ct < 294 + 30 * 17; $ct += $largura_linha) {
            $this->pdf->linha_relativa($ct, $this->page_y, 0, 18);
        }
        //n
        $this->pdf->linha_relativa(50, $this->page_y, 0, 18);
        $this->pdf->linha_relativa(275, $this->page_y, 0, 18);
        $index = 0;
        for ($ct = 260; $ct < 260 + 30 * 18; $ct += $largura_linha * 3) {
            $this->pdf->escreve_relativo($quantidade_total[$index], $ct, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
            $this->pdf->escreve_relativo($quantidade_total[$index + 1], $ct + $largura_linha, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
            $this->pdf->escreve_relativo($quantidade_total[$index + 2], $ct + $largura_linha * 2, $this->page_y + 3, 50, 40, $fonte, 7, $corTexto, 'center');
            $index += 3;
        }
        $expande = 24;
        $numero_x = 12 + $expande;
        $this->pdf->escreve_relativo("{$total_turmas_curso}", $numero_x, $this->page_y + 3, 50, 50, $fonte, 7, $corTexto, 'left');
        $obj_curso = new clsPmieducarCurso($curso);
        $det_curso = $obj_curso->detalhe();
        $nm_curso = $det_curso['nm_curso'];
        $professor_x = 40 + $expande;
        $this->pdf->escreve_relativo("Total Geral", $professor_x + 20, $this->page_y + 3, 150, 40, $fonte, 7, $corTexto, 'center');
        $this->page_y += 18;
        $this->rodape();
        $this->pdf->ClosePage();
        //header( "location: " . $this->pdf->GetLink() );
        $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 = 'Reserva Vaga - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->ref_cod_serie = $_GET['ref_cod_serie'];
     $this->ref_cod_escola = $_GET['ref_cod_escola'];
     $tmp_obj = new clsPmieducarEscolaSerie();
     $lst_obj = $tmp_obj->lista($this->ref_cod_escola, $this->ref_cod_serie);
     $registro = array_shift($lst_obj);
     if (!$registro) {
         header('Location: educar_reserva_vaga_lst.php');
         die;
     }
     // Instituição
     $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'];
     // Escola
     $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'];
     // Série
     $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'];
     // Curso
     $obj_curso = new clsPmieducarCurso($registro['ref_cod_curso']);
     $det_curso = $obj_curso->detalhe();
     $registro['ref_cod_curso'] = $det_curso['nm_curso'];
     // Matrícula
     $obj_matricula = new clsPmieducarMatricula();
     $lst_matricula = $obj_matricula->lista(NULL, NULL, $registro['ref_cod_escola'], $registro['ref_cod_serie'], NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, 1);
     if (is_array($lst_matricula)) {
         $matriculados = count($lst_matricula);
     }
     // Detalhes da reserva
     $obj_reserva_vaga = new clsPmieducarReservaVaga();
     $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $registro['ref_cod_escola'], $registro['ref_cod_serie'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
     if (is_array($lst_reserva_vaga)) {
         $reservados = count($lst_reserva_vaga);
     }
     // Permissões
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->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 ($registro['ref_cod_curso']) {
         $this->addDetalhe(array('Curso', $registro['ref_cod_curso']));
     }
     if ($nm_serie) {
         $this->addDetalhe(array('S&eacute;rie', $nm_serie));
     }
     $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);
     if (is_array($lst_turmas)) {
         $cont = 0;
         $total_vagas = 0;
         $html = "\n        <table width='50%' cellspacing='0' cellpadding='0' border='0'>\n          <tr>\n            <td bgcolor=#A1B3BD>Nome</td>\n            <td bgcolor=#A1B3BD>N&uacute;mero Vagas</td>\n          </tr>";
         foreach ($lst_turmas as $turmas) {
             $total_vagas += $turmas['max_aluno'];
             if ($cont % 2 == 0) {
                 $class = ' formmdtd ';
             } else {
                 $class = ' formlttd ';
             }
             $cont++;
             $html .= "\n          <tr>\n            <td class={$class} width='35%'>{$turmas["nm_turma"]}</td>\n            <td class={$class} width='15%'>{$turmas["max_aluno"]}</td>\n          </tr>";
         }
         $html .= '</tr></table>';
         $this->addDetalhe(array('Turma', $html));
         if ($total_vagas) {
             $this->addDetalhe(array('Total Vagas', $total_vagas));
         }
         if ($matriculados) {
             $this->addDetalhe(array('Matriculados', $matriculados));
         }
         if ($reservados) {
             $this->addDetalhe(array('Reservados', $reservados));
         }
         $vagas_restantes = $total_vagas - ($matriculados + $reservados);
         $this->addDetalhe(array('Vagas Restantes', $vagas_restantes));
     }
     if ($obj_permissao->permissao_cadastra(639, $this->pessoa_logada, 7)) {
         $this->array_botao = array('Reservar Vaga', 'Vagas Reservadas');
         $this->array_botao_url = array("educar_reserva_vaga_cad.php?ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_serie={$registro["ref_cod_serie"]}", 'educar_reservada_vaga_lst.php?ref_cod_escola=' . $registro['ref_cod_escola'] . '&ref_cod_serie=' . $registro['ref_cod_serie']);
     }
     $this->url_cancelar = 'educar_reserva_vaga_lst.php';
     $this->largura = '100%';
 }
Beispiel #11
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'Turma - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->cod_turma = $_GET['cod_turma'];
     $tmp_obj = new clsPmieducarTurma();
     $lst_obj = $tmp_obj->lista($this->cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, array('true', 'false'));
     $registro = array_shift($lst_obj);
     foreach ($registro as $key => $value) {
         $this->{$key} = $value;
     }
     if (!$registro) {
         header('Location: educar_turma_lst.php');
         die;
     }
     if (class_exists('clsPmieducarTurmaTipo')) {
         $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'];
     } else {
         $registro['ref_cod_turma_tipo'] = 'Erro na geração';
     }
     if (class_exists('clsPmieducarInfraPredioComodo')) {
         $obj_ref_cod_infra_predio_comodo = new clsPmieducarInfraPredioComodo($registro['ref_cod_infra_predio_comodo']);
         $det_ref_cod_infra_predio_comodo = $obj_ref_cod_infra_predio_comodo->detalhe();
         $registro['ref_cod_infra_predio_comodo'] = $det_ref_cod_infra_predio_comodo['nm_comodo'];
     } else {
         $registro['ref_cod_infra_predio_comodo'] = 'Erro na geração';
     }
     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ção';
     }
     if (class_exists('clsPmieducarEscola')) {
         $this->ref_ref_cod_escola = $registro['ref_ref_cod_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'];
     } else {
         $registro['ref_cod_escola'] = 'Erro na geração';
     }
     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'];
         $padrao_ano_escolar = $det_ref_cod_curso['padrao_ano_escolar'];
     } else {
         $registro['ref_cod_curso'] = 'Erro na geração';
     }
     if (class_exists('clsPmieducarSerie')) {
         $this->ref_ref_cod_serie = $registro['ref_ref_cod_serie'];
         $obj_ser = new clsPmieducarSerie($registro['ref_ref_cod_serie']);
         $det_ser = $obj_ser->detalhe();
         $registro['ref_ref_cod_serie'] = $det_ser['nm_serie'];
     } else {
         $registro['ref_ref_cod_serie'] = 'Erro na geração';
     }
     $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ção', $registro['ref_cod_instituicao']));
         }
     }
     if ($nivel_usuario == 1 || $nivel_usuario == 2) {
         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érie', $registro['ref_ref_cod_serie']));
     }
     if ($registro['ref_cod_regente']) {
         $obj_pessoa = new clsPessoa_($registro['ref_cod_regente']);
         $det = $obj_pessoa->detalhe();
         $this->addDetalhe(array('Professor/Regente', $det['nome']));
     }
     if ($registro['ref_cod_infra_predio_comodo']) {
         $this->addDetalhe(array('Sala', $registro['ref_cod_infra_predio_comodo']));
     }
     if ($registro['ref_cod_turma_tipo']) {
         $this->addDetalhe(array('Tipo de Turma', $registro['ref_cod_turma_tipo']));
     }
     if ($registro['nm_turma']) {
         $this->addDetalhe(array('Turma', $registro['nm_turma']));
     }
     if ($registro['sgl_turma']) {
         $this->addDetalhe(array('Sigla', $registro['sgl_turma']));
     }
     if ($registro['max_aluno']) {
         $this->addDetalhe(array('Máximo de Alunos', $registro['max_aluno']));
     }
     $this->addDetalhe(array('Situação', dbBool($registro['visivel']) ? 'Ativo' : 'Desativo'));
     if ($registro['multiseriada'] == 1) {
         if ($registro['multiseriada'] == 1) {
             $registro['multiseriada'] = 'sim';
         } else {
             $registro['multiseriada'] = 'não';
         }
         $this->addDetalhe(array('Multi-Seriada', $registro['multiseriada']));
         $obj_serie_mult = new clsPmieducarSerie($registro['ref_ref_cod_serie_mult']);
         $det_serie_mult = $obj_serie_mult->detalhe();
         $this->addDetalhe(array('Série Multi-Seriada', $det_serie_mult['nm_serie']));
     }
     if ($padrao_ano_escolar == 1) {
         if ($registro['hora_inicial']) {
             $registro['hora_inicial'] = date('H:i', strtotime($registro['hora_inicial']));
             $this->addDetalhe(array('Hora Inicial', $registro['hora_inicial']));
         }
         if ($registro['hora_final']) {
             $registro['hora_final'] = date('H:i', strtotime($registro['hora_final']));
             $this->addDetalhe(array('Hora Final', $registro['hora_final']));
         }
         if ($registro['hora_inicio_intervalo']) {
             $registro['hora_inicio_intervalo'] = date('H:i', strtotime($registro['hora_inicio_intervalo']));
             $this->addDetalhe(array('Hora Início Intervalo', $registro['hora_inicio_intervalo']));
         }
         if ($registro['hora_fim_intervalo']) {
             $registro['hora_fim_intervalo'] = date('H:i', strtotime($registro['hora_fim_intervalo']));
             $this->addDetalhe(array('Hora Fim Intervalo', $registro['hora_fim_intervalo']));
         }
     } elseif ($padrao_ano_escolar == 0) {
         $obj = new clsPmieducarTurmaModulo();
         $obj->setOrderby('data_inicio ASC');
         $lst = $obj->lista($this->cod_turma);
         if ($lst) {
             $tabela = '
       <table>
         <tr align="center">
           <td bgcolor="#A1B3BD"><b>Nome</b></td>
           <td bgcolor="#A1B3BD"><b>Data Início</b></td>
           <td bgcolor="#A1B3BD"><b>Data Fim</b></td>
         </tr>';
             $cont = 0;
             foreach ($lst as $valor) {
                 if ($cont % 2 == 0) {
                     $color = ' bgcolor="#E4E9ED" ';
                 } else {
                     $color = ' bgcolor="#FFFFFF" ';
                 }
                 $obj_modulo = new clsPmieducarModulo($valor['ref_cod_modulo']);
                 $det_modulo = $obj_modulo->detalhe();
                 $nm_modulo = $det_modulo['nm_tipo'];
                 $valor['data_inicio'] = dataFromPgToBr($valor['data_inicio']);
                 $valor['data_fim'] = dataFromPgToBr($valor['data_fim']);
                 $tabela .= sprintf('
         <tr>
           <td %s align=left>%s</td>
           <td %s align=left>%s</td>
           <td %s align=left>%s</td>
         </tr>', $color, $nm_modulo, $color, $valor['data_inicio'], $color, $valor['data_fim']);
                 $cont++;
             }
             $tabela .= '</table>';
         }
         if ($tabela) {
             $this->addDetalhe(array('Módulo', $tabela));
         }
         $dias_da_semana = array('' => 'Selecione', 1 => 'Domingo', 2 => 'Segunda', 3 => 'Terça', 4 => 'Quarta', 5 => 'Quinta', 6 => 'Sexta', 7 => 'Sábado');
         $obj = new clsPmieducarTurmaDiaSemana();
         $lst = $obj->lista(NULL, $this->cod_turma);
         if ($lst) {
             $tabela1 = '
       <table>
         <tr align="center">
           <td bgcolor="#A1B3BD"><b>Nome</b></td>
           <td bgcolor="#A1B3BD"><b>Hora Inicial</b></td>
           <td bgcolor="#A1B3BD"><b>Hora Final</b></td>
         </tr>';
             $cont = 0;
             foreach ($lst as $valor) {
                 if ($cont % 2 == 0) {
                     $color = ' bgcolor="#E4E9ED" ';
                 } else {
                     $color = ' bgcolor="#FFFFFF" ';
                 }
                 $valor['hora_inicial'] = date('H:i', strtotime($valor['hora_inicial']));
                 $valor['hora_final'] = date('H:i', strtotime($valor['hora_final']));
                 $tabela1 .= sprintf("\n            <tr>\n              <td %s align=left>%s</td>\n              <td %s align=left>%s</td>\n              <td %s align=left>%s</td>\n            </tr>", $color, $dias_da_semana[$valor['dia_semana']], $color, $valor['hora_inicial'], $color, $valor['hora_final']);
                 $cont++;
             }
             $tabela1 .= '</table>';
         }
         if ($tabela1) {
             $this->addDetalhe(array('Dia da Semana', $tabela1));
         }
     }
     // Recupera os componentes curriculares da turma
     $componentes = array();
     try {
         $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_ref_cod_serie, $this->ref_ref_cod_escola, $this->cod_turma);
     } catch (Exception $e) {
     }
     $tabela3 = '
   <table>
     <tr align="center">
       <td bgcolor="#A1B3BD"><b>Nome</b></td>
       <td bgcolor="#A1B3BD"><b>Carga horária</b></td>
     </tr>';
     $cont = 0;
     foreach ($componentes as $componente) {
         $color = $cont++ % 2 == 0 ? ' bgcolor="#E4E9ED" ' : ' bgcolor="#FFFFFF" ';
         $tabela3 .= sprintf('
     <tr>
       <td %s align="left">%s</td>
       <td %s align="center">%.0f h</td>
     </tr>', $color, $componente, $color, $componente->cargaHoraria);
     }
     $tabela3 .= '</table>';
     $this->addDetalhe(array('Componentes curriculares', $tabela3));
     if ($obj_permissoes->permissao_cadastra(586, $this->pessoa_logada, 7)) {
         $this->url_novo = 'educar_turma_cad.php';
         $this->url_editar = 'educar_turma_cad.php?cod_turma=' . $registro['cod_turma'];
     }
     $this->url_cancelar = 'educar_turma_lst.php';
     $this->largura = '100%';
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        //		echo "<pre>"; print_r($_POST); die();
        if (!$_POST) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNão existem dados!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        $modulo_sequencial = explode("-", $this->ref_cod_modulo);
        $this->ref_cod_modulo = $modulo_sequencial[0];
        $this->sequencial = $modulo_sequencial[1];
        if (empty($this->ref_cod_curso)) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNenhum curso selecionado!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if ($this->is_padrao || $this->ano == 2007) {
            $this->semestre = null;
        }
        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;
        }
        $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, null, null, null, $this->ref_cod_escola);
        $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
        $det_curso = $obj_curso->detalhe();
        $media_curso = $det_curso['media'];
        if ($lista_serie_curso) {
            $this->pdf = new clsPDF("Controle Bimestral de Desempenho de Alunos - {$this->ano}", "Controle Bimestral de Desempenho de Alunos - {$this->ano}", "A4", "", false, false);
            $this->pdf->largura = 842.0;
            $this->pdf->altura = 595.0;
            $fonte = 'arial';
            $corTexto = '#000000';
            $this->pdf->OpenPage();
            $this->addCabecalho();
            $altura_linha = 23;
            $inicio_escrita_y = 175;
            $serie_ini = $lista_serie_curso[0];
            $serie_fim = $lista_serie_curso[count($lista_serie_curso) - 1];
            $total_geral_alunos = 0;
            $db = new clsBanco();
            foreach ($lista_serie_curso as $key => $serie) {
                $total_geral_alunos_turma = 0;
                $this->buscaDisciplinas($serie['cod_serie']);
                $this->novoCabecalho($serie['nm_serie']);
                $obj_turmas = new clsPmieducarTurma();
                $obj_turmas->setOrderby("nm_turma");
                $lista_turmas = $obj_turmas->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola);
                if ($lista_turmas) {
                    foreach ($lista_turmas as $turma) {
                        foreach ($this->array_disciplinas as $key => $value) {
                            $this->array_disciplinas[$key]['total_disciplina_abaixo_media_serie'] = 0;
                            $this->array_disciplinas[$key]['total_disciplina_media_serie'] = 0;
                        }
                        if ($turma['hora_inicial'] <= '12:00') {
                            $turno = 'M';
                        } elseif ($turma['hora_inicial'] > '12:00' && $turma['hora_inicial'] <= '18:00') {
                            $turno = 'V';
                        } else {
                            $turno = 'N';
                        }
                        $obj_servidor = new clsPessoa_($turma['ref_cod_regente']);
                        $det_sevidor = $obj_servidor->detalhe();
                        //						$obj_mat_turma = new clsPmieducarMatriculaTurma();
                        //						$lista_matricula = $obj_mat_turma->lista(null,$turma['cod_turma']);
                        if (is_numeric($this->semestre) && $this->ano != 2007 && !$this->is_padrao) {
                            $sql = " AND m.semestre = {$this->semestre} ";
                        }
                        $select = "SELECT na.ref_cod_disciplina\n\t\t\t\t\t\t\t\t\t       ,na.ref_cod_serie\n\t\t\t\t\t\t\t\t\t       ,tav.valor\n\t\t\t\t\t\t\t\t\t       ,na.ref_cod_escola\n\t\t\t\t\t\t\t\t\t       ,na.ref_cod_matricula\n\t\t\t\t\t\t\t\t\t   \t   ,cod_transferencia_solicitacao\n\t\t\t\t\t\t\t\t\t  FROM pmieducar.nota_aluno \t\t na\n\t\t\t\t\t\t\t\t\t       ,pmieducar.tipo_avaliacao_valores tav\n\t\t\t\t\t\t\t\t\t       ,pmieducar.matricula_turma\t mt\n\t\t\t\t\t\t\t\t\t       ,pmieducar.matricula\t\t\t m\n\t\t\t\t\t\t\t\t\t      \tLEFT OUTER JOIN pmieducar.transferencia_solicitacao ts ON\n\t\t\t\t\t\t\t\t\t       \t\t(ref_cod_matricula_saida = m.cod_matricula AND\n\t\t\t\t\t\t\t\t\t       \t\t(data_transferencia >= (SELECT data_inicio FROM pmieducar.ano_letivo_modulo an, pmieducar.modulo m\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE m.cod_modulo = an.ref_cod_modulo AND m.ativo = 1 and ref_ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_ref_cod_escola = {$this->ref_cod_escola} AND sequencial = {$this->sequencial}) AND\n\t\t\t\t\t\t\t\t\t\t\t\t data_transferencia <= (SELECT data_fim FROM pmieducar.ano_letivo_modulo an, pmieducar.modulo m\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE m.cod_modulo = an.ref_cod_modulo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND m.ativo = 1 AND ref_ano = {$this->ano}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ref_ref_cod_escola = {$this->ref_cod_escola} AND sequencial = {$this->sequencial})\n\t\t\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t WHERE na.ref_cod_serie \t= {$serie['cod_serie']}\n\t\t\t\t\t\t\t\t\t   AND na.ref_cod_escola \t= {$this->ref_cod_escola}\n\t\t\t\t\t\t\t\t\t   AND mt.ref_cod_turma = {$turma['cod_turma']}\n\t\t\t\t\t\t\t\t\t   AND na.ativo \t\t= 1\n\t\t\t\t\t\t\t\t\t   AND na.modulo = {$this->sequencial}\n\t\t\t\t\t\t\t\t\t   AND na.ref_ref_cod_tipo_avaliacao = tav.ref_cod_tipo_avaliacao\n\t\t\t\t\t\t\t\t\t   AND na.ref_sequencial     \t     = tav.sequencial\n\t\t\t\t\t\t\t\t\t   AND na.ref_cod_matricula\t         = mt.ref_cod_matricula\n\t\t\t\t\t\t\t\t\t   AND m.cod_matricula        \t\t = mt.ref_cod_matricula\n\t\t\t\t\t\t\t\t\t   AND m.ano     = {$this->ano}\n\t\t\t\t\t\t\t\t\t   AND cod_transferencia_solicitacao IS NULL\n\t\t\t\t\t\t\t\t\t   {$sql}\n\t\t\t\t\t\t\t\t\t   AND mt.ativo  = 1 ORDER BY na.ref_cod_disciplina, na.ref_cod_matricula";
                        $db->Consulta($select);
                        $alunos = null;
                        $media_turma = array(array());
                        while ($db->ProximoRegistro()) {
                            $alunos[$tupla['ref_cod_matricula']] = $tupla['ref_cod_matricula'];
                            $tupla = $db->Tupla();
                            if ($tupla['valor'] < $media_curso) {
                                $this->array_disciplinas[$tupla['ref_cod_disciplina']]['total_disciplina_abaixo_media_serie']++;
                                $this->array_disciplinas[$tupla['ref_cod_disciplina']]['total_geral_disciplina_abaixo_media_serie']++;
                            } else {
                                $this->array_disciplinas[$tupla['ref_cod_disciplina']]['total_disciplina_media_serie']++;
                                $this->array_disciplinas[$tupla['ref_cod_disciplina']]['total_geral_disciplina_media_serie']++;
                            }
                            $media_turma[$tupla['ref_cod_disciplina']]['media'] = $media_turma[$tupla['ref_cod_disciplina']]['media'] + $tupla['valor'];
                            $media_turma[$tupla['ref_cod_disciplina']]['total'] = $media_turma[$tupla['ref_cod_disciplina']]['total'] + 1;
                        }
                        //$media_turma = $media_turma / $total;
                        //$media_turma = number_format($media_turma,2,'.','');
                        if (is_array($alunos)) {
                            $alunos = count($alunos) - 1;
                        } else {
                            $alunos = 0;
                        }
                        foreach ($media_turma as $key => $media) {
                            if ($media_turma[$key]['total']) {
                                $media_turma[$key]['media'] = $media_turma[$key]['media'] / $media_turma[$key]['total'];
                            }
                            $media_turma[$key]['media'] = number_format($media_turma[$key]['media'], 2, '.', '');
                        }
                        //echo '<pre>';print_r($alunos);die;
                        $total_alunos_turma = $alunos;
                        //$obj_mat_turma->_total;
                        $total_geral_alunos_turma += $alunos;
                        //$obj_mat_turma->_total;
                        $total_geral_alunos += $alunos;
                        //$obj_mat_turma->_total;
                        $expande = 24;
                        //linha
                        $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                        //linha aluno
                        $this->pdf->quadrado_relativo(30, $this->page_y, 150 + $expande, $altura_linha);
                        //linha serie
                        $this->pdf->quadrado_relativo(30, $this->page_y, 120 + $expande, $altura_linha);
                        //linha professor regente
                        $this->pdf->quadrado_relativo(30, $this->page_y, 90 + $expande, $altura_linha);
                        //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura);
                        //linha turno
                        $this->pdf->quadrado_relativo(30, $this->page_y, 20, $altura_linha);
                        $centralizado = abs(($altura - 12) / 2) + $this->page_y;
                        //posicao serie
                        $serie_x = 38;
                        $this->pdf->escreve_relativo("{$turno}", $serie_x, $centralizado, 50, 50, $fonte, 7, $corTexto, 'left');
                        //regente
                        $turma_x = 30 + $expande;
                        $this->pdf->escreve_relativo($det_sevidor['nome'], $turma_x - 5, $centralizado, 100, 50, $fonte, 7, $corTexto, 'center');
                        //serie
                        $alunos_x = 80 + $expande;
                        //$this->pdf->escreve_relativo( $this->array_serie_abr["{$serie['cod_serie']}"], $alunos_x + 5,$centralizado , 100, 40, $fonte, 7, $corTexto, 'center' );
                        $this->pdf->escreve_relativo($turma['nm_turma'], $alunos_x + 5, $centralizado, 100, 40, $fonte, 7, $corTexto, 'center');
                        $n_alunos_x = 110 + $expande;
                        $this->pdf->escreve_relativo("{$total_alunos_turma}", $n_alunos_x + 5, $centralizado, 100, 40, $fonte, 8, $corTexto, 'center');
                        $inicio_escrita_y = $this->page_y + 5;
                        $largura_anos = 590;
                        if (sizeof($this->array_disciplinas) >= 1) {
                            $incremental = (int) ceil($largura_anos / sizeof($this->array_disciplinas));
                        } else {
                            $incremental = 1;
                        }
                        $reta_ano_x = 209;
                        $anos_x = 209;
                        $ct = 0;
                        foreach ($this->array_disciplinas as $key => $disciplina) {
                            //medias
                            //$this->pdf->escreve_relativo( $disciplina['total_disciplina_media_serie'] == 0 ?  '' : $disciplina['total_disciplina_media_serie'] , $anos_x ,$inicio_escrita_y, ($incremental/3), $altura_linha, $fonte, 8, $corTexto, 'center' );
                            $this->pdf->escreve_relativo($media_turma[$disciplina['ref_cod_disciplina']]['media'] == 0 ? '' : $media_turma[$disciplina['ref_cod_disciplina']]['media'], $anos_x, $inicio_escrita_y, $incremental / 3, $altura_linha, $fonte, 8, $corTexto, 'center');
                            $this->pdf->linha_relativa($reta_ano_x + $incremental / 3, $inicio_escrita_y - 5, 0, 23);
                            $this->pdf->escreve_relativo($disciplina['total_disciplina_abaixo_media_serie'] == 0 ? '' : $disciplina['total_disciplina_abaixo_media_serie'], $anos_x + $incremental / 3, $inicio_escrita_y, $incremental / 3, $altura_linha, $fonte, 8, $corTexto, 'center');
                            $this->pdf->linha_relativa($reta_ano_x + $incremental * 2 / 3, $inicio_escrita_y - 5, 0, 23);
                            $this->pdf->escreve_relativo($disciplina['total_disciplina_media_serie'] + $disciplina['total_disciplina_abaixo_media_serie'] > 0 ? ceil($disciplina['total_disciplina_abaixo_media_serie'] / ($disciplina['total_disciplina_media_serie'] + $disciplina['total_disciplina_abaixo_media_serie']) * 100) : '-', $anos_x + $incremental * 2 / 3, $inicio_escrita_y, $incremental / 3, $altura_linha, $fonte, 8, $corTexto, 'center');
                            $anos_x += $incremental;
                            $reta_ano_x += $incremental;
                            if ($ct + 1 < sizeof($this->array_disciplinas)) {
                                $this->pdf->linha_relativa($reta_ano_x, $inicio_escrita_y - 5, 0, 23);
                            }
                            $ct++;
                        }
                        $this->page_y += $altura_linha;
                        //						echo '<pre>';print_r($total_alunos_turma);die;
                    }
                }
                $expande = 24;
                //linha
                $this->pdf->quadrado_relativo(30, $this->page_y, 782, $altura_linha);
                //linha aluno
                $this->pdf->quadrado_relativo(30, $this->page_y, 150 + $expande, $altura_linha);
                //linha serie
                $this->pdf->quadrado_relativo(30, $this->page_y, 120 + $expande, $altura_linha);
                $centralizado = abs(($altura - 6) / 2) + $this->page_y;
                //posicao numero turmas
                $turma_x = 38;
                $this->pdf->escreve_relativo("Subtotal " . $serie['nm_serie'], $turma_x - 5, $centralizado, 120, 50, $fonte, 7, $corTexto, 'center');
                $n_alunos_x = 110 + $expande;
                $this->pdf->escreve_relativo("{$total_geral_alunos_turma}", $n_alunos_x + 5, $centralizado + 2, 100, 40, $fonte, 8, $corTexto, 'center');
                $inicio_escrita_y = $this->page_y + 5;
                $largura_anos = 590;
                if (sizeof($this->array_disciplinas) >= 1) {
                    $incremental = (int) ceil($largura_anos / sizeof($this->array_disciplinas));
                } else {
                    $incremental = 1;
                }
                $reta_ano_x = 209;
                $anos_x = 209;
                $ct = 0;
                foreach ($this->array_disciplinas as $key => $disciplina) {
                    //medias
                    //	$this->pdf->escreve_relativo( $disciplina['total_geral_disciplina_media_serie'] == 0 ? '' : $disciplina['total_geral_disciplina_media_serie'], $anos_x ,$inicio_escrita_y, ($incremental/3), $altura_linha, $fonte, 8, $corTexto, 'center' );
                    $this->pdf->escreve_relativo('-', $anos_x, $inicio_escrita_y, $incremental / 3, $altura_linha, $fonte, 8, $corTexto, 'center');
                    $this->pdf->linha_relativa($reta_ano_x + $incremental / 3, $inicio_escrita_y - 5, 0, 23);
                    $this->pdf->escreve_relativo($disciplina['total_geral_disciplina_abaixo_media_serie'] == 0 ? '' : $disciplina['total_geral_disciplina_abaixo_media_serie'], $anos_x + $incremental / 3, $inicio_escrita_y, $incremental / 3, $altura_linha, $fonte, 8, $corTexto, 'center');
                    $this->pdf->linha_relativa($reta_ano_x + $incremental * 2 / 3, $inicio_escrita_y - 5, 0, 23);
                    //$this->pdf->escreve_relativo( ($disciplina['total_geral_disciplina_abaixo_media_serie'] + $disciplina['total_geral_disciplina_media_serie']) == 0 ? '' : ceil(($disciplina['total_geral_disciplina_abaixo_media_serie'] / ($disciplina['total_geral_disciplina_abaixo_media_serie'] + $disciplina['total_geral_disciplina_media_serie']))*100)."%", $anos_x +($incremental*2/3),$inicio_escrita_y, ($incremental/3), $altura_linha, $fonte, 8, $corTexto, 'center' );
                    $this->pdf->escreve_relativo('-', $anos_x + $incremental * 2 / 3, $inicio_escrita_y, $incremental / 3, $altura_linha, $fonte, 8, $corTexto, 'center');
                    $anos_x += $incremental;
                    $reta_ano_x += $incremental;
                    if ($ct + 1 < sizeof($this->array_disciplinas)) {
                        $this->pdf->linha_relativa($reta_ano_x, $inicio_escrita_y - 5, 0, 23);
                    }
                    $ct++;
                }
                $this->page_y += $altura_linha;
                if ($this->page_y + $altura_linha > 510) {
                    $this->pdf->ClosePage();
                    $this->pdf->OpenPage();
                    $this->addCabecalho();
                    $this->page_y = 125;
                    $this->novoCabecalho($serie['nm_serie']);
                }
                //				echo "uiauiaaiuauaiuaiuiuiauiuaiuaiuaiuiui";
            }
            //			die('lllllllllllllllllllllllllllllllllllllllll!!!!!!!!!!!');
            $this->rodape();
            $this->pdf->ClosePage();
            //header( "location: " . $this->pdf->GetLink() );
            $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\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\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\t</span>\n\t\t\t\t</center>";
        } else {
            echo "<center> Não existem dados a serem exibidos! </center>";
        }
    }
    function Novo()
    {
        @session_start();
        $this->pessoa_logada = $_SESSION['id_pessoa'];
        @session_write_close();
        $obj_permissoes = new clsPermissoes();
        $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno);
        $obj_escola_ano_letivo = new clsPmieducarEscolaAnoLetivo();
        $lst_escola_ano_letivo = $obj_escola_ano_letivo->lista($this->ref_cod_escola, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, 1);
        if (is_array($lst_escola_ano_letivo)) {
            $det_escola_ano_letivo = array_shift($lst_escola_ano_letivo);
            $this->ano = $det_escola_ano_letivo['ano'];
            $obj_reserva_vaga = new clsPmieducarReservaVaga();
            $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, NULL, $this->ref_cod_aluno, NULL, NULL, NULL, NULL, 1);
            // Verifica se existe reserva de vaga para o aluno
            if (is_array($lst_reserva_vaga)) {
                $det_reserva_vaga = array_shift($lst_reserva_vaga);
                $this->ref_cod_reserva_vaga = $det_reserva_vaga['cod_reserva_vaga'];
                $obj_reserva_vaga = new clsPmieducarReservaVaga($this->ref_cod_reserva_vaga, NULL, NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, 0);
                $editou = $obj_reserva_vaga->edita();
                if (!$editou) {
                    $this->mensagem = 'Edição não realizada.<br />';
                    return FALSE;
                }
            }
            $vagas_restantes = 1;
            if (!$this->ref_cod_reserva_vaga) {
                $obj_turmas = new clsPmieducarTurma();
                $lst_turmas = $obj_turmas->lista(NULL, NULL, NULL, $this->ref_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, NULL, NULL, NULL, NULL, NULL, NULL, NULL, TRUE);
                if (is_array($lst_turmas)) {
                    $total_vagas = 0;
                    foreach ($lst_turmas as $turmas) {
                        $total_vagas += $turmas['max_aluno'];
                    }
                } else {
                    $this->mensagem = 'Série não possui turmas cadastradas.<br />';
                    return FALSE;
                }
                $obj_matricula = new clsPmieducarMatricula();
                $lst_matricula = $obj_matricula->lista(NULL, NULL, $this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, 1, $this->ano, $this->ref_cod_curso, $this->ref_cod_instituicao, 1);
                if (is_array($lst_matricula)) {
                    $matriculados = count($lst_matricula);
                }
                $obj_reserva_vaga = new clsPmieducarReservaVaga();
                $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao, $this->ref_cod_curso);
                if (is_array($lst_reserva_vaga)) {
                    $reservados = count($lst_reserva_vaga);
                }
                $vagas_restantes = $total_vagas - ($matriculados + $reservados);
            }
            if ($vagas_restantes <= 0) {
                echo sprintf('
          <script>
            var msg = \'\';
            msg += \'Excedido o número de total de vagas para Matricula!\\n\';
            msg += \'Número total de matriculados: %d\\n\';
            msg += \'Número total de vagas reservadas: %d\\n\';
            msg += \'Número total de vagas: %d\\n\';
            msg += \'Deseja mesmo assim realizar a Matrícula?\';

            if (! confirm(msg)) {
              window.location = \'educar_matricula_lst.php?ref_cod_aluno=%d\';
            }
          </script>', $matriculados, $reservados, $total_vagas, $this->ref_cod_aluno);
            }
            $obj_matricula_aluno = new clsPmieducarMatricula();
            $lst_matricula_aluno = $obj_matricula_aluno->lista(NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_aluno);
            if (!$lst_matricula_aluno) {
                // Primeira matrícula do sistema, consistência (?)
                $this->matricula_transferencia = $this->matricula_transferencia == 'on' ? TRUE : FALSE;
            } else {
                $this->matricula_transferencia = FALSE;
            }
            if ($this->is_padrao == 1) {
                $this->semestre = NULL;
            }
            $obj = new clsPmieducarMatricula(NULL, $this->ref_cod_reserva_vaga, $this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, $this->pessoa_logada, $this->ref_cod_aluno, 3, NULL, NULL, 1, $this->ano, 1, NULL, NULL, NULL, NULL, $this->ref_cod_curso, $this->matricula_transferencia, $this->semestre);
            $cadastrou = $obj->cadastra();
            if ($cadastrou) {
                $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
                $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, TRUE, FALSE);
                // Verifica se existe solicitação de transferência de aluno
                if (is_array($lst_transferencia)) {
                    $det_transferencia = array_shift($lst_transferencia);
                    $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($det_transferencia['cod_transferencia_solicitacao'], NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, NULL, NULL, 0);
                    $editou2 = $obj_transferencia->edita();
                    if ($editou2) {
                        $obj = new clsPmieducarMatricula($det_transferencia['ref_cod_matricula_saida'], NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, 4, NULL, NULL, 1, NULL, 0);
                        $editou3 = $obj->edita();
                        if (!$editou3) {
                            $this->mensagem = 'Edição não realizada.<br />';
                            return FALSE;
                        }
                    } else {
                        $this->mensagem = 'Edição não realizada.<br />';
                        return FALSE;
                    }
                } else {
                    $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
                    $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, FALSE, FALSE);
                    // Verifica se existe solicitação de transferência do aluno
                    if (is_array($lst_transferencia)) {
                        // Verifica cada solicitação de transferência do aluno
                        foreach ($lst_transferencia as $transferencia) {
                            $obj_matricula = new clsPmieducarMatricula($transferencia['ref_cod_matricula_saida']);
                            $det_matricula = $obj_matricula->detalhe();
                            // Caso a solicitação seja para uma mesma série
                            if ($det_matricula['ref_ref_cod_serie'] == $this->ref_ref_cod_serie) {
                                $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                                break;
                            } else {
                                $obj_sequencia = new clsPmieducarSequenciaSerie($det_matricula['ref_ref_cod_serie'], $this->ref_ref_cod_serie, NULL, NULL, NULL, NULL, 1);
                                if ($obj_sequencia->existe()) {
                                    $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                                    break;
                                }
                            }
                            $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                        }
                        if ($ref_cod_transferencia) {
                            $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($ref_cod_transferencia, NULL, $this->pessoa_logada, NULL, $cadastrou, NULL, NULL, NULL, NULL, 1, date('Y-m-d'));
                            $editou2 = $obj_transferencia->edita();
                            if ($editou2) {
                                $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($ref_cod_transferencia);
                                $det_transferencia = $obj_transferencia->detalhe();
                                $matricula_saida = $det_transferencia['ref_cod_matricula_saida'];
                                $obj_matricula = new clsPmieducarMatricula($matricula_saida);
                                $det_matricula = $obj_matricula->detalhe();
                                // Caso a situação da matrícula do aluno esteja em andamento
                                if ($det_matricula['aprovado'] == 3) {
                                    $obj_matricula = new clsPmieducarMatricula($cadastrou, NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $det_matricula['modulo']);
                                    $editou_mat = $obj_matricula->edita();
                                    if ($editou_mat) {
                                        $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                                        $lst_matricula_turma = $obj_matricula_turma->lista($matricula_saida, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
                                        if (is_array($lst_matricula_turma)) {
                                            $det_matricula_turma = array_shift($lst_matricula_turma);
                                            $obj_matricula_turma = new clsPmieducarMatriculaTurma($matricula_saida, $det_matricula_turma['ref_cod_turma'], $this->pessoa_logada, NULL, NULL, NULL, 0, NULL, $det_matricula_turma['sequencial']);
                                            $editou_mat_turma = $obj_matricula_turma->edita();
                                            if (!$editou_mat_turma) {
                                                $this->mensagem = 'Não foi possível editar a Matrícula Turma.<br />';
                                                return FALSE;
                                            }
                                        }
                                    }
                                }
                                $obj = new clsPmieducarMatricula($matricula_saida, NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, 4, NULL, NULL, 1, NULL, 0);
                                $editou3 = $obj->edita();
                                if (!$editou3) {
                                    $this->mensagem = 'Edição não realizada.<br />';
                                    return FALSE;
                                }
                            } else {
                                $this->mensagem = 'Edição não realizada.<br />';
                                return FALSE;
                            }
                        }
                    }
                }
                $this->mensagem .= 'Cadastro efetuado com sucesso.<br />';
                header('Location: educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno);
                die;
            }
            $this->mensagem = 'Cadastro não realizado.<br />';
            return FALSE;
        } else {
            $this->mensagem = 'Não foi possível encontrar o "Ano Letivo" em andamento da Escola.<br />';
            return FALSE;
        }
    }
    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 escreveEscolas($curso)
 {
     $fonte = 'arial';
     $corTexto = '#000000';
     $esquerda = 30;
     $direita = 782;
     $altura = 20;
     $espaco = 150.4;
     $this->novoCabecalho($curso);
     $ref_cod_escola_localizacao = 0;
     $primeiro_loop = true;
     $totais = array();
     $index = 0;
     $total_geral_curso = array();
     foreach ($this->lst_escola as $escola) {
         $obj_escola_curso = new clsPmieducarEscolaCurso($escola["cod_escola"], $curso["cod_curso"]);
         $det_escola_curso = $obj_escola_curso->detalhe();
         $index = 0;
         if (is_array($det_escola_curso)) {
             if ($ref_cod_escola_localizacao != $escola["ref_cod_escola_localizacao"] && !$primeiro_loop) {
                 $this->escreveTotal($totais, $total_geral_curso, $ref_cod_escola_localizacao);
                 $ref_cod_escola_localizacao = $escola["ref_cod_escola_localizacao"];
                 if ($this->page_y > $this->pdf->altura - 50) {
                     $this->pdf->ClosePage();
                     $this->pdf->OpenPage();
                     $this->addCabecalho();
                     $this->novoCabecalho($curso);
                     $fonte = 'arial';
                     $corTexto = '#000000';
                     $esquerda = 30;
                     $direita = 782;
                     $altura = 20;
                     $espaco = 150.4;
                     $primeiro_loop = true;
                 }
             }
             if ($primeiro_loop) {
                 $ref_cod_escola_localizacao = $escola["ref_cod_escola_localizacao"];
                 $primeiro_loop = false;
             }
             $this->pdf->quadrado_relativo($esquerda, $this->page_y, $direita, $altura);
             $this->pdf->escreve_relativo($this->substituiNomeEscola($escola["nome"]), $esquerda, $this->page_y, $espaco - 30, 100, $fonte, 8, $corTexto, 'center');
             $obj_serie = new clsPmieducarSerie();
             $obj_serie->setOrderby("nm_serie");
             $lst_serie = $obj_serie->lista(null, null, null, $curso["cod_curso"], null, null, null, null, null, null, null, null, 1);
             $esquerda = $espaco;
             foreach ($lst_serie as $serie) {
                 $horarios = array(0 => "6:00:00", 1 => "12:55:00", 2 => "17:55:00");
                 //, 3 => "TOTAL");
                 $espaco = 150.4;
                 $qtd_series = 0;
                 $qtd_series_relatorio = 4;
                 $esquerda_aux = 0;
                 $qtd_total_turmas = 0;
                 $qtd_total_alunos = 0;
                 for ($i = 0; $i < 4; $i++) {
                     $obj_turma = new clsPmieducarTurma();
                     $lst_turma = $obj_turma->lista(null, null, null, $serie["cod_serie"], $escola["cod_escola"], null, null, null, null, null, null, null, null, null, 1, null, $horarios[$i], $horarios[$i + 1]);
                     $qtd_turma = $obj_turma->_total;
                     $qtd_alunos = 0;
                     if (is_array($lst_turma) && count($lst_turma)) {
                         foreach ($lst_turma as $turma) {
                             $obj_matricula = new clsPmieducarMatricula();
                             $lst_matricula = $obj_matricula->lista(null, null, $escola["cod_escola"], $serie["cod_serie"], null, null, null, array(1, 2, 3), null, null, null, null, 1, $this->ano, $curso["cod_curso"], $this->ref_cod_instituicao, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $turma["cod_turma"]);
                             $qtd_alunos += $obj_matricula->_total;
                         }
                     }
                     if ($i > 2) {
                         $qtd_turma = $qtd_total_turmas;
                         $qtd_alunos = $qtd_total_alunos;
                         $totais[$index++] += $qtd_turma;
                         $totais[$index++] += $qtd_alunos;
                         $total_geral_serie_escola["turma"] += $qtd_total_turmas;
                         $total_geral_serie_escola["aluno"] += $qtd_total_alunos;
                         $faz_quadrado = false;
                     } else {
                         $qtd_total_turmas += $qtd_turma;
                         $qtd_total_alunos += $qtd_alunos;
                         $totais[$index++] += $qtd_turma;
                         $totais[$index++] += $qtd_alunos;
                         if (!$qtd_turma) {
                             $qtd_turma = "";
                         }
                         if (!$qtd_alunos) {
                             $qtd_alunos = "";
                         }
                         $faz_quadrado = true;
                     }
                     $this->pdf->linha_relativa($esquerda + $esquerda_aux, $this->page_y, 0, $altura);
                     if (!empty($qtd_turma) || !$faz_quadrado) {
                         $this->pdf->escreve_relativo($qtd_turma, $esquerda + $esquerda_aux, $this->page_y + 4, $espaco / $qtd_series_relatorio / 2, 100, $fonte, 8, $corTexto, 'center');
                     } else {
                         $this->pdf->quadrado_relativo($esquerda + $esquerda_aux + 1, $this->page_y + 1, $espaco / $qtd_series_relatorio / 2 - 1, $altura - 1, 0.5, "#A1B3BD", "");
                     }
                     $this->pdf->linha_relativa($esquerda + $esquerda_aux + $espaco / $qtd_series_relatorio / 2, $this->page_y, 0, $altura);
                     if (!empty($qtd_alunos) || !$faz_quadrado) {
                         $this->pdf->escreve_relativo($qtd_alunos, $esquerda + $esquerda_aux + $espaco / $qtd_series_relatorio / 2, $this->page_y + 4, $espaco / $qtd_series_relatorio / 2, 100, $fonte, 8, $corTexto, 'center');
                     } else {
                         $this->pdf->quadrado_relativo($esquerda + $esquerda_aux + $espaco / $qtd_series_relatorio / 2 + 1, $this->page_y + 1, $espaco / $qtd_series_relatorio / 2 - 1, $altura - 1, 0.5, "#A1B3BD", "");
                     }
                     $this->pdf->linha_relativa($esquerda + $esquerda_aux + $espaco / $qtd_series_relatorio, $this->page_y, 0, $altura);
                     $esquerda_aux += $espaco / $qtd_series_relatorio;
                 }
                 $esquerda += $espaco;
             }
             $aux = 91;
             $total_geral_curso["turma"] += $total_geral_serie_escola["turma"];
             $total_geral_curso["aluno"] += $total_geral_serie_escola["aluno"];
             $this->pdf->escreve_relativo($total_geral_serie_escola["turma"], $esquerda, $this->page_y + 4, ($espaco + $aux) / $qtd_series_relatorio / 2, 100, $fonte, 8, $corTexto, 'center');
             $this->pdf->linha_relativa($esquerda + ($espaco - $aux) / 2, $this->page_y, 0, $altura);
             $this->pdf->escreve_relativo($total_geral_serie_escola["aluno"], $esquerda + ($espaco - $aux) / 2, $this->page_y + 4, ($espaco + $aux) / $qtd_series_relatorio / 2, 100, $fonte, 8, $corTexto, 'center');
             $this->pdf->linha_relativa($esquerda + $espaco - $aux, $this->page_y, 0, $altura);
             $total_geral_serie_escola = array();
             $this->page_y += 20;
             $esquerda = 30;
         }
         if ($this->page_y > $this->pdf->altura - 50) {
             $this->pdf->ClosePage();
             $this->pdf->OpenPage();
             $this->addCabecalho();
             $this->novoCabecalho($curso);
             $fonte = 'arial';
             $corTexto = '#000000';
             $esquerda = 30;
             $direita = 782;
             $altura = 20;
             $espaco = 150.4;
             $primeiro_loop = true;
         }
     }
     $this->escreveTotal($totais, $total_geral_curso, $ref_cod_escola_localizacao);
     $this->escreveTotalGeral();
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if (empty($this->cursos)) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNenhum curso selecionado!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        //Dias previstos do mes
        // Qual o primeiro dia do mes
        $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano);
        // Quantos dias tem o mes
        $NumeroDiasMes = date('t', $primeiroDiaDoMes);
        //informacoes primeiro dia do mes
        $dateComponents = getdate($primeiroDiaDoMes);
        // What is the name of the month in question?
        $NomeMes = $mesesDoAno[$dateComponents['mon']];
        // What is the index value (0-6) of the first day of the
        // month in question.
        $DiaSemana = $dateComponents['wday'];
        $cursos_in = '';
        $conc = '';
        foreach ($this->cursos as $curso) {
            $cursos_in .= "{$conc}{$curso}";
            $conc = ",";
        }
        $db = new clsbanco();
        $consulta = "SELECT (SELECT coalesce(min(s.idade_inicial),0) as min\n\t\t\t\t\t\t\t\t  FROM pmieducar.serie  s\n\t\t\t\t\t\t\t\t       ,pmieducar.turma t\n\t\t\t\t\t\t\t\t WHERE s.cod_serie     = t.ref_ref_cod_serie\n\t\t\t\t\t\t\t\t   AND s.ref_cod_curso in ({$cursos_in} )) as min\n\t\t\t\t\t\t\t\t,\n\t\t\t\t\t\t\t\t(SELECT coalesce(max(s.idade_final),0)  as max\n\t\t\t\t\t\t\t\t  FROM pmieducar.serie  s\n\t\t\t\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in})) as max";
        $db->Consulta($consulta);
        $db->ProximoRegistro();
        $max_min = $db->Tupla();
        $consulta = "SELECT distinct\n\t\t\t\t\t       coalesce(s.idade_inicial,0) as min\n\t\t\t\t\t       ,coalesce(s.idade_final,0)  as max\n\t\t\t\t\t  FROM pmieducar.serie  s\n\t\t\t\t\t WHERE  s.ref_cod_curso in ( {$cursos_in} )";
        $faixa_min_max = array();
        $db->Consulta($consulta);
        while ($db->ProximoRegistro()) {
            $numeros[] = $db->Tupla();
        }
        $faixa_min_max = array($numeros[0][0], $numeros[count($numeros) - 1][1]);
        $consulta2 = "SELECT distinct\n\t\t\t\t\t         s.idade_inicial\n\t\t\t\t\t    FROM pmieducar.serie  s\n\t\t\t\t\t   WHERE  s.ref_cod_curso in ( {$cursos_in} )\n\n\t\t\t   \t\t   UNION\n\n\t\t\t\t\t  SELECT distinct\n\t\t\t\t\t         s.idade_final\n\t\t\t\t\t    FROM pmieducar.serie  s\n\t\t\t\t\t   WHERE s.ref_cod_curso in ( {$cursos_in} ) ";
        $idades = array();
        $db->Consulta($consulta2);
        while ($db->ProximoRegistro()) {
            $idades[] = array_shift($db->Tupla());
        }
        $consulta3 = "SELECT distinct\n\t\t\t\t\t         s.idade_inicial\n\t\t\t\t\t    FROM pmieducar.serie  s\n\t\t\t\t\t   WHERE s.ref_cod_curso in ( {$cursos_in} )";
        $db->Consulta($consulta3);
        while ($db->ProximoRegistro()) {
            $faixa[] = $db->Tupla();
        }
        $ultima_idade = null;
        while (sizeof($idades)) {
            $idade = array_shift($idades);
            if ($idade == $faixa_min_max[0]) {
                $ultima_idade = array_shift($idades);
                $this->array_ano_idade[] = array('ano' => $this->ano - $idade . " - " . ($this->ano - $ultima_idade), 'idade' => $idade . " - " . $ultima_idade, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                if (!empty($idades)) {
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 1, 'idade' => $ultima_idade + 1, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 2, 'idade' => $ultima_idade + 2, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 3, 'idade' => $ultima_idade + 3, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $ultima_idade = $ultima_idade + 3;
                    while ($ultima_idade > $idades[0] + 3) {
                        $ultima_idade = array_shift($idades);
                    }
                } elseif (sizeof($this->array_ano_idade) == 1) {
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 1, 'idade' => $ultima_idade + 1, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 2, 'idade' => $ultima_idade + 2, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 3, 'idade' => $ultima_idade + 3, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $ultima_idade = $ultima_idade + 3;
                }
            }
            foreach ($faixa as $key => $value) {
                for ($ct = $ultima_idade + 1; $ct <= $idade + 3; $ct++) {
                    $this->array_ano_idade[] = array('ano' => $this->ano - $ct, 'idade' => (sizeof($idades) === 0 && $ct == $idade + 3 ? "" : "") . $ct, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0);
                    $ultima_idade = $ct;
                }
                break;
            }
            $ultima_idade = idade > $ultima_idade ? $idade : $ultima_idade;
        }
        $altura2 = 300;
        $altura = 50;
        $expande = 24;
        $flag_defasado = 1;
        $fonte = 'arial';
        $corTexto = '#000000';
        $obj_lst_escola = new clsPmieducarEscola();
        $lst_escola = $obj_lst_escola->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
        if ($lst_escola) {
            $this->pdf = new clsPDF("Demonstrativo de Alunos Defasados Idade/Série - {$this->ano}", "Demonstrativo de Alunos Defasados Idade/Série - {$this->ano}", "A4", "", false, false);
            $this->pdf->largura = 842.0;
            $this->pdf->altura = 595.0;
            $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
            for ($ct_analfabeto = 0; $ct_analfabeto <= 2; $ct_analfabeto++) {
                //	$total_geral_alunos = 0;
                //	$total_geral_turmas = 0;
                //				$total_turmas_serie = 0;
                //				$total_alunos_serie = 0;
                $this->pdf->OpenPage();
                $this->addCabecalho();
                $this->novaPagina($ct_analfabeto);
                if ($ct_analfabeto <= 1) {
                    $total_geral_alunos = 0;
                    $total_geral_turmas = 0;
                }
                foreach ($this->array_ano_idade as $key => $value) {
                    $this->array_ano_idade[$key]['total_geral'] = 0;
                    $this->array_ano_idade[$key]['total_serie'] = 0;
                }
                $altura_linha = 23;
                $inicio_escrita_y = 175;
                foreach ($this->cursos as $curso) {
                    $obj = new clsPmieducarSerie();
                    $obj->setOrderby("idade_inicial,idade_final");
                    $lista_serie_curso = $obj->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
                    //$obj_curso = new clsPmieducarCurso($curso);
                    //$det_curso = $obj_curso->detalhe();
                    if ($lista_serie_curso) {
                        foreach ($lista_serie_curso as $serie) {
                            foreach ($this->array_ano_idade as $key => $value) {
                                $this->array_ano_idade[$key]['total_serie'] = 0;
                            }
                            $total_turmas_serie = 0;
                            //$total_alunos_serie = 0;
                            $flagTurmas = 0;
                            $flagAlunos = 0;
                            foreach ($lst_escola as $escola) {
                                $this->ref_cod_escola = $escola['cod_escola'];
                                $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) {
                                    continue;
                                }
                                /**
                                 * busca todas as matriculas de cada curso
                                 */
                                if (empty($serie['idade_inicial']) || empty($serie['idade_final'])) {
                                    continue;
                                }
                                //$subtotal_serie = 0;
                                $total_turmas_serie = 0;
                                //	$total_alunos_serie = 0;
                                if ($ct_analfabeto <= 1) {
                                    $obj_turma = new clsPmieducarTurma();
                                    if (!empty($_POST["ref_cod_escola"])) {
                                        $turmas = count($obj_turma->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1));
                                        $total_geral_turmas = $total_geral_turmas + $turmas;
                                    } else {
                                        if ($flagTurmas == 0) {
                                            $turmas = count($obj_turma->lista(null, null, null, $serie['cod_serie'], null, null, null, null, null, null, null, null, null, null, 1));
                                            $total_geral_turmas = $total_geral_turmas + $turmas;
                                        }
                                        $flagTurmas++;
                                    }
                                    //$total_geral_turmas = $total_geral_turmas +  $turmas;
                                    $total_turmas_serie = $turmas;
                                    $total_geral_turmas_ambos = $total_geral_turmas;
                                    $obj_matricula = new clsPmieducarMatricula();
                                    $lista_matricula_serie = $obj_matricula->lista(null, null, $this->ref_cod_escola, $serie['cod_serie'], null, null, null, array(1, 2, 3), null, null, null, null, 1, $this->ano, $curso, $this->ref_cod_instituicao, null, null, null, $ct_analfabeto, null, null, null, null, null, null, null, $this->mes, true);
                                    $total_geral_alunos += $obj_matricula->_total;
                                    $total_alunos_serie = $obj_matricula->_total;
                                    $total_geral_alunos_ambos = (int) $total_geral_alunos_ambos + $obj_matricula->_total;
                                    if ($ct_analfabeto == 1) {
                                        $analfabetos[$serie['cod_serie']] = $analfabetos[$serie['cod_serie']] + $total_alunos_serie;
                                    }
                                    $total_alunos_serie_ambos[$serie['cod_serie']] = (int) $total_alunos_serie_ambos[$serie['cod_serie']] + $obj_matricula->_total;
                                    $total_turmas_serie_ambos[$serie['cod_serie']] = $turmas;
                                }
                                if ($lista_matricula_serie && $ct_analfabeto <= 1) {
                                    /**
                                     * busca dados da matricula de um aluno de uma turma de uma serie =p
                                     */
                                    foreach ($lista_matricula_serie as $matricula) {
                                        //$obj_aluno = new clsPmieducarAluno();
                                        //$det_aluno = array_shift($obj_aluno->lista($matricula['ref_cod_aluno'],null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true ));
                                        //$obj_fisica = new clsFisica($det_aluno['ref_idpes']);
                                        //$det_fisica = $obj_fisica->detalhe();
                                        if ($matricula['data_nasc']) {
                                            $ano_nasc = explode("-", $matricula['data_nasc']);
                                            //											$idade_aluno = date("Y") - $ano_nasc[0]; // <-- modificado
                                            $idade_aluno = $this->ano - $ano_nasc[0];
                                        }
                                        //$obj_matricula_turma = new clsPmieducarMatriculaTurma();
                                        //$det_matricula_turma = $obj_matricula_turma->lista($matricula['cod_matricula'],null,null,null,null,null,null,null,1,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao);
                                        foreach ($this->array_ano_idade as $key => $value) {
                                            if (strpos($value['idade'], "-") && is_numeric($idade_aluno)) {
                                                $idade = explode("-", $value['idade']);
                                                if ($idade_aluno > $serie['idade_final'] + $flag_defasado && $idade_aluno >= $idade[0] && $idade_aluno <= $idade[1] || $idade_aluno > $serie['idade_final'] + $flag_defasado && $key == count($this->array_ano_idade) - 1) {
                                                    $this->array_ano_idade[$key]['total_serie'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral_ambos'] += 1;
                                                    break;
                                                }
                                            } elseif (is_numeric($idade_aluno)) {
                                                $idade = $value['idade'];
                                                if ($idade_aluno > $serie['idade_final'] + $flag_defasado && $idade_aluno == $idade || $idade_aluno >= $idade && $key == count($this->array_ano_idade) - 1) {
                                                    $this->array_ano_idade[$key]['total_serie'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral'] += 1;
                                                    $this->array_ano_idade[$key]['total_geral_ambos'] += 1;
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            /**
                             *  linha
                             */
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 782, $altura_linha);
                            //linha alfabetizados
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 695 + $expande, $altura_linha);
                            //linha numero de alunos
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 90 + $expande, $altura_linha);
                            //linha numero de turmas
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 60 + $expande, $altura_linha);
                            //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura);
                            //linha serie
                            $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 55, $altura_linha);
                            //posicao serie
                            $serie_x = 35;
                            $this->pdf->escreve_relativo($serie['nm_serie'], $serie_x, $inicio_escrita_y + 5, 50, 50, $fonte, 6, $corTexto, 'left');
                            //posicao numero turmas
                            $turma_x = 30 + $expande;
                            $total = $ct_analfabeto <= 1 ? $total_turmas_serie : $total_turmas_serie_ambos[$serie['cod_serie']];
                            $this->pdf->escreve_relativo($total, $turma_x - 5, $inicio_escrita_y + 5, 100, 50, $fonte, 10, $corTexto, 'center');
                            //posicao numero alunos
                            $alunos_x = 40 + $expande;
                            if (empty($_POST["ref_cod_escola"])) {
                                $total = $total_alunos_serie_ambos[$serie['cod_serie']];
                                $total_alunos_serie = $total_alunos_serie_ambos[$serie['cod_serie']];
                                if ($ct_analfabeto == 1) {
                                    $total = $analfabetos[$serie['cod_serie']];
                                }
                            } else {
                                $total = $ct_analfabeto <= 1 ? $total_alunos_serie : $total_alunos_serie_ambos[$serie['cod_serie']];
                            }
                            $this->pdf->escreve_relativo($total, $alunos_x + 15, $inicio_escrita_y + 5, 100, 40, $fonte, 10, $corTexto, 'center');
                            //	$largura_quadrado = $incremental-5;
                            //$this->qt_anos = 1;
                            $largura_anos = 615;
                            //$this->idade_inicial = 6;
                            $array_ano_idade = array();
                            //$incremental = (int)($largura_anos/ $this->qt_anos);
                            if (sizeof($this->array_ano_idade)) {
                                $incremental = (int) ($largura_anos / sizeof($this->array_ano_idade));
                            } else {
                                $incremental = 0;
                            }
                            $reta_ano_x = $alunos_x + 80;
                            $largura_quadrado = $incremental - 5;
                            //$incremental = (int)($largura_anos/ $this->qt_anos);
                            //	$reta_ano_x = $alunos_x + 85;
                            $ajuste = 0;
                            //for($ct = $this->ano - $this->idade_inicial ;$ct > $this->ano - $this->idade_inicial - $this->qt_anos;$ct--)
                            foreach ($this->array_ano_idade as $key => $ano) {
                                //ajuste2
                                $ajuste = 5;
                                $total_valor = $ct_analfabeto <= 1 ? $ano["total_serie"] : $total_serie_ano["{$serie['cod_serie']}"][$key];
                                if ($ano['idade'] <= $serie['idade_final'] + $flag_defasado && $key < sizeof($this->array_ano_idade) - 1) {
                                    $this->pdf->quadrado_relativo($reta_ano_x, $inicio_escrita_y, $largura_quadrado + $ajuste + ($key == sizeof($this->array_ano_idade) - 1 ? -5 : 0), $altura_linha, 0.5, "#A1B3BD", "");
                                } else {
                                    $this->pdf->escreve_relativo($total_valor, $reta_ano_x + 1, $inicio_escrita_y + 5, $incremental, $altura_linha, $fonte, 10, $corTexto, 'center');
                                }
                                $total_serie_ano["{$serie['cod_serie']}"][$key] = (int) $total_serie_ano["{$serie['cod_serie']}"][$key] + $ano["total_serie"];
                                //$anos_x += $incremental;
                                $reta_ano_x += $incremental;
                                //reta
                                if ($key < sizeof($this->array_ano_idade) - 1) {
                                    $this->pdf->linha_relativa($reta_ano_x, $inicio_escrita_y, 0, $altura_linha);
                                } else {
                                    $largura_quadrado += 4.5;
                                }
                            }
                            $total_defasado_serie = 0;
                            foreach ($this->array_ano_idade as $key => $value) {
                                $total_defasado_serie += $this->array_ano_idade[$key]['total_serie'];
                            }
                            $total_alunos_serie = $total_alunos_serie == 0 ? 1 : $total_alunos_serie;
                            if ($ct_analfabeto <= 1) {
                                $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] = (int) $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] + $total_defasado_serie;
                                $total_defasado_serie_ambos = (int) $total_defasado_serie_ambos + $total_defasado_serie;
                            }
                            $total_defasado_serie = $ct_analfabeto <= 1 ? $total_defasado_serie : $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"];
                            //escreve total defasado serie
                            $this->pdf->escreve_relativo($total_defasado_serie, 750, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                            if (empty($_POST["ref_cod_escola"])) {
                                if ($ct_analfabeto < 1) {
                                    $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                } elseif ($ct_analfabeto == 1) {
                                    $total_alunos_serie = $analfabetos[$serie['cod_serie']];
                                    $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                } else {
                                    $this->pdf->escreve_relativo(round($total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] / $total_alunos_serie_ambos[$serie['cod_serie']] * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                }
                            } else {
                                //escreve porcentagem
                                if ($ct_analfabeto <= 1) {
                                    if ($total_alunos_serie) {
                                        $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    } else {
                                        $this->pdf->escreve_relativo(0 . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    }
                                } else {
                                    if ($total_alunos_serie_ambos[$serie['cod_serie']]) {
                                        $this->pdf->escreve_relativo(round($total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] / $total_alunos_serie_ambos[$serie['cod_serie']] * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    } else {
                                        $this->pdf->escreve_relativo(0 . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                                    }
                                }
                            }
                            $this->pdf->linha_relativa(780, $inicio_escrita_y, 0, 23);
                            $inicio_escrita_y += 20;
                            /**
                             *
                             */
                        }
                    }
                }
                /**
                 *  TOTAL
                 */
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 782, $altura_linha);
                //linha alfabetizados
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 695 + $expande, $altura_linha);
                //linha numero de alunos
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 90 + $expande, $altura_linha);
                //linha numero de turmas
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 60 + $expande, $altura_linha);
                //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura);
                //linha serie
                $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 55, $altura_linha);
                //posicao serie
                $serie_x = 35;
                if ($ct_analfabeto <= 1) {
                    $texto = $ct_analfabeto == 0 ? "Total\nAlfabetizado" : "Total\nNão-Alfabetizado";
                } else {
                    $texto = "Total Geral";
                }
                $this->pdf->escreve_relativo($texto, $serie_x, $inicio_escrita_y + 5, 50, 50, $fonte, 6, $corTexto, 'left');
                //posicao numero turmas
                $turma_x = 25 + $expande;
                $this->pdf->escreve_relativo($total_geral_turmas, $turma_x, $inicio_escrita_y + 5, 100, 50, $fonte, 10, $corTexto, 'center');
                //posicao numero alunos
                $alunos_x = 40 + $expande;
                $total_geral_alunos = $ct_analfabeto <= 1 ? $total_geral_alunos : $total_geral_alunos_ambos;
                $this->pdf->escreve_relativo($total_geral_alunos, $alunos_x + 15, $inicio_escrita_y + 5, 100, 40, $fonte, 10, $corTexto, 'center');
                $total_defasados = 0;
                $campo_total = $ct_analfabeto <= 1 ? "total_geral" : "total_geral_ambos";
                foreach ($this->array_ano_idade as $key => $value) {
                    $total_defasados += $this->array_ano_idade[$key]["{$campo_total}"];
                }
                if ($total_geral_alunos > 0) {
                    $media = $total_defasados / $total_geral_alunos * 100;
                } else {
                    $media = 0;
                }
                $this->pdf->escreve_relativo($total_defasados, 750, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                $this->pdf->escreve_relativo($media . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center');
                //$this->qt_anos = 1;
                $largura_anos = 615;
                //$this->idade_inicial = 6;
                $array_ano_idade = array();
                //$incremental = (int)($largura_anos/ $this->qt_anos);
                if (sizeof($this->array_ano_idade) > 0) {
                    $incremental = (int) ($largura_anos / sizeof($this->array_ano_idade));
                } else {
                    $incremental = 0;
                }
                $reta_ano_x = $alunos_x + 80;
                $largura_quadrado = $incremental - 5;
                //$incremental = (int)($largura_anos/ $this->qt_anos);
                $reta_ano_x = $alunos_x + 85;
                $ajuste = 0;
                //for($ct = $this->ano - $this->idade_inicial ;$ct > $this->ano - $this->idade_inicial - $this->qt_anos;$ct--)
                $campo_total = $ct_analfabeto <= 1 ? "total_geral" : "total_geral_ambos";
                foreach ($this->array_ano_idade as $key => $ano) {
                    //ajuste2
                    $this->pdf->escreve_relativo($ano["{$campo_total}"], $reta_ano_x - 5, $inicio_escrita_y + 5, $incremental, $altura_linha, $fonte, 10, $corTexto, 'center');
                    //$this->pdf->quadrado_relativo( $reta_ano_x - $ajuste,$inicio_escrita_y, $largura_quadrado + $ajuste + ($key == sizeof($array_ano_idade)-1? 5 : 0), $altura_linha,0.5,"#A1B3BD","");
                    $ajuste = 5;
                    //$anos_x += $incremental;
                    $reta_ano_x += $incremental;
                    //reta
                    if ($key < sizeof($this->array_ano_idade) - 1) {
                        $this->pdf->linha_relativa($reta_ano_x - 5, $inicio_escrita_y, 0, $altura_linha);
                    } else {
                        $largura_quadrado += 4.5;
                    }
                }
                $this->pdf->linha_relativa(780, $inicio_escrita_y, 0, 23);
                $inicio_escrita_y += 20;
                /**
                 *
                 */
                //	}//* *akiii
                if ($ct_analfabeto == 1) {
                    $this->rodape();
                }
                $this->pdf->ClosePage();
                /**
                 *
                 */
            }
        }
        $this->get_link = $this->pdf->GetLink();
        //header( "location: " . $this->pdf->GetLink() );
        $this->pdf->CloseFile();
        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 = "Matriculas Turma - Detalhe";
     $this->ref_cod_turma = $_GET["ref_cod_turma"];
     if (class_exists("clsPmieducarTurma")) {
         $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
         $det_turma = $obj_turma->detalhe();
         $nm_turma = $det_turma["nm_turma"];
         $ref_ref_cod_serie = $det_turma["ref_ref_cod_serie"];
         $ref_ref_cod_escola = $det_turma["ref_ref_cod_escola"];
         $ref_cod_curso = $det_turma["ref_cod_curso"];
     } else {
         $registro["ref_cod_turma"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarTurma\n-->";
     }
     if ($ref_ref_cod_serie) {
         // busca o ano em q a escola esta em andamento
         $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo();
         $lst_ano_letivo = $obj_ano_letivo->lista($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&atilde;o foi poss&iacute;vel encontrar o Ano Letivo.";
             return false;
         }
     }
     if ($ano_letivo || !$ref_ref_cod_serie) {
         $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
         $lst_matriculas_turma = $obj_matriculas_turma->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, null, null, null, null, null, false, null, array(1, 2, 3), null, null, $ano_letivo, null, false, null, 1, true);
         if (is_array($lst_matriculas_turma)) {
             $qtd_alunos = count($lst_matriculas_turma);
             foreach ($lst_matriculas_turma as $key => $matricula) {
                 $obj_matricula = new clsPmieducarMatricula($matricula["ref_cod_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_alunos[] = $det_aluno["nome_aluno"];
             }
             $registro = array_shift($lst_matriculas_turma);
         } else {
             $obj_turma = new clsPmieducarTurma();
             $lst_turma = $obj_turma->lista($this->ref_cod_turma);
             if (is_array($lst_turma)) {
                 $registro = array_shift($lst_turma);
             }
         }
     } else {
         $obj_turma = new clsPmieducarTurma();
         $lst_turma = $obj_turma->lista($this->ref_cod_turma);
         if (is_array($lst_turma)) {
             $registro = array_shift($lst_turma);
         }
     }
     if (!$registro) {
         header("location: educar_matriculas_turma_lst.php");
         die;
     }
     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_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();
         $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("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-->";
     }
     $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 ($registro["ref_cod_curso"]) {
         $this->addDetalhe(array("Curso", "{$registro["ref_cod_curso"]}"));
     }
     if ($nm_serie) {
         $this->addDetalhe(array("S&eacute;rie", "{$nm_serie}"));
     }
     if ($nm_turma) {
         $this->addDetalhe(array("Turma", "{$nm_turma}"));
     }
     if ($max_aluno) {
         $this->addDetalhe(array("M&aacute;ximo de Alunos", "{$max_aluno}"));
     }
     if ($qtd_alunos) {
         $this->addDetalhe(array("Qtd Alunos Matriculados", "{$qtd_alunos}"));
     }
     if ($max_aluno && $qtd_alunos) {
         $vagas = $max_aluno - $qtd_alunos;
         $this->addDetalhe(array("Vagas Restantes", "{$vagas}"));
     }
     if (is_array($nm_alunos)) {
         sort($nm_alunos);
         $tabela = "<table>\n\t\t\t\t\t       <tr align=center>\n\t\t\t\t\t           <td bgcolor=#a1b3bd><b>Nome</b></td>\n\t\t\t\t\t       </tr>";
         reset($nm_alunos);
         for ($i = 0; $i < count($nm_alunos); $i++) {
             if ($i % 2 == 0) {
                 $color = " bgcolor=#E4E9ED ";
             } else {
                 $color = " bgcolor=#FFFFFF ";
             }
             $tabela .= "<tr>\n\t\t\t\t\t\t\t\t<td align=center {$color} align=left>{$nm_alunos[$i]}</td>\n\t\t\t\t\t\t\t</tr>";
         }
         $tabela .= "</table>";
     }
     if ($tabela) {
         $this->addDetalhe(array("Alunos Matriculados", "{$tabela}"));
     }
     if ($obj_permissoes->permissao_cadastra(659, $this->pessoa_logada, 7)) {
         $this->url_editar = "educar_matriculas_turma_cad.php?ref_cod_turma={$this->ref_cod_turma}";
     }
     $this->url_cancelar = "educar_matriculas_turma_lst.php";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Detalhe das matr&iacute;culas da turma"));
     $this->enviaLocalizacao($localizacao->montar());
 }
        $lst_funcao = $obj_funcao->lista(null, null, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
        if (is_array($lst_funcao) && count($lst_funcao)) {
            foreach ($lst_funcao as $funcao) {
                $opcoes_funcao["{$funcao['cod_funcao']}"] = "{$funcao['nm_funcao']}";
            }
        }
    }
    $this->campoLista("ref_cod_funcao", "Função", $opcoes_funcao, $this->ref_cod_funcao, null, null, null, null, $funcao_desabilitado, $funcao_obrigatorio);
}
if ($get_turma) {
    $opcoes_turma = array("" => "Selecione");
    // EDITAR
    if ($this->ref_ref_cod_serie && $this->ref_cod_escola || $this->ref_cod_curso) {
        $obj_turma = new clsPmieducarTurma();
        $obj_turma->setOrderby("nm_turma ASC");
        $lst_turma = $obj_turma->lista(null, null, null, $this->ref_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);
        if (is_array($lst_turma) && count($lst_turma)) {
            foreach ($lst_turma as $turma) {
                $opcoes_turma["{$turma['cod_turma']}"] = "{$turma['nm_turma']}";
            }
        }
    }
    $this->campoLista("ref_cod_turma", "Turma", $opcoes_turma, $this->ref_cod_turma, null, null, null, null, $turma_desabilitado, $turma_obrigatorio);
}
if (isset($get_cabecalho)) {
    if ($qtd_bibliotecas > 1 && ($nivel_usuario == 4 || $nivel_usuario == 8)) {
        ${$get_cabecalho}[] = "Biblioteca";
    } else {
        if ($nivel_usuario == 1 || $nivel_usuario == 2 || $nivel_usuario == 4) {
            ${$get_cabecalho}[] = "Biblioteca";
        }
 function Inicializar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->ref_cod_turma = $_GET['ref_cod_turma'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(659, $this->pessoa_logada, 7, 'educar_matriculas_turma_lst.php');
     if (is_numeric($this->ref_cod_turma)) {
         $obj_turma = new clsPmieducarTurma();
         $lst_turma = $obj_turma->lista($this->ref_cod_turma);
         if (is_array($lst_turma)) {
             $registro = array_shift($lst_turma);
         }
         if ($registro) {
             // passa todos os valores obtidos no registro para atributos do objeto
             foreach ($registro as $campo => $val) {
                 $this->{$campo} = $val;
             }
             $retorno = 'Editar';
         }
         $this->url_cancelar = $retorno == 'Editar' ? sprintf('educar_matriculas_turma_det.php?ref_cod_matricula=%d&ref_cod_turma=%d', $this->ref_cod_matricula, $this->ref_cod_turma) : 'educar_matriculas_turma_lst.php';
         $this->nome_url_cancelar = 'Cancelar';
         $nomeMenu = $retorno == "Editar" ? $retorno : "Cadastrar";
         $localizacao = new LocalizacaoSistema();
         $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "{$nomeMenu} matr&iacute;culas da turma"));
         $this->enviaLocalizacao($localizacao->montar());
         return $retorno;
     }
     header('Location: educar_matriculas_turma_lst.php');
     die;
 }
 function Gerar()
 {
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     $this->ano = $ano_atual = date('Y');
     $this->campoNumero('ano', 'Ano', $this->ano, 4, 4, TRUE);
     $this->campoCheck('em_branco', 'Relatório em branco', '');
     $this->campoNumero('numero_registros', 'Número de linhas', '', 3, 3);
     $this->campoCheck('temporario', 'Gerar lista temporária?', '', 'Gera lista de alunos mesmo para os componentes curriculares ' . 'não definidos no quadro de horário da turma.');
     $get_escola = TRUE;
     $obrigatorio = TRUE;
     $exibe_nm_escola = TRUE;
     $get_curso = TRUE;
     $get_escola_curso_serie = TRUE;
     include 'include/pmieducar/educar_campo_lista.php';
     $opcoes_turma = array('' => 'Selecione');
     if ($this->ref_ref_cod_serie && $this->ref_cod_escola || $this->ref_cod_curso) {
         $obj_turma = new clsPmieducarTurma();
         $obj_turma->setOrderby('nm_turma ASC');
         $lst_turma = $obj_turma->lista(NULL, NULL, NULL, $this->ref_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);
         if (is_array($lst_turma) && count($lst_turma)) {
             foreach ($lst_turma as $turma) {
                 $opcoes_turma[$turma['cod_turma']] = $turma['nm_turma'];
             }
         }
     }
     $this->campoLista('ref_cod_turma', 'Turma', $opcoes_turma, $this->ref_cod_turma);
     $this->campoLista('ref_cod_modulo', 'Módulo', array('' => 'Selecione'), '');
     if ($this->ref_cod_escola) {
         $this->ref_ref_cod_escola = $this->ref_cod_escola;
     }
     if ($this->get_link) {
         $this->campoRotulo('rotulo11', '-', sprintf('<a href="%s" target="_blank">Baixar Relatório</a>', $this->get_link));
     }
     $this->url_cancelar = 'educar_index.php';
     $this->nome_url_cancelar = 'Cancelar';
     $this->acao_enviar = 'acao2()';
     $this->acao_executa_submit = FALSE;
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if ($this->escola_sem_avaliacao == 1) {
         $this->escola_sem_avaliacao = true;
     } elseif ($this->escola_sem_avaliacao == 2) {
         $this->escola_sem_avaliacao = false;
     } else {
         $this->escola_sem_avaliacao = null;
     }
     $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, null, $this->escola_sem_avaliacao);
     $this->pdf = new clsPDF("Alunos Matriculados - Sintético - {$this->ano}", "Alunos Matriculados - Sintético", "A4", "", false, false);
     if ($this->is_padrao || $this->ano == 2007) {
         $this->semestre = null;
     }
     if (is_array($lst_escola_instituicao) && count($lst_escola_instituicao)) {
         foreach ($lst_escola_instituicao as $escola) {
             $page_open = false;
             $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'];
                 }
             }
             $total_geral_escola_nao_enturmado_feminino = 0;
             $total_geral_escola_nao_enturmado_masculino = 0;
             $total_geral_escola_enturmado_feminino = 0;
             $total_geral_escola_enturmado_masculino = 0;
             $obj_cursos = new clsPmieducarCurso();
             $obj_cursos->setOrderby("cod_curso asc");
             $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) {
                 foreach ($lst_cursos as $curso) {
                     $obj_serie_curso = new clsPmieducarSerie();
                     $obj_serie_curso->setOrderby('etapa_curso asc');
                     $lst_serie_curso = $obj_serie_curso->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);
                     $existe_matriculas = false;
                     if ($lst_serie_curso) {
                         $total = 0;
                         foreach ($lst_serie_curso as $key_serie => $serie) {
                             $obj_turmas = new clsPmieducarTurma();
                             $lst_turmas = $obj_turmas->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, null, null, null, null, null, null, null, true);
                             if (!$lst_turmas) {
                                 $obj_turmas = new clsPmieducarTurma();
                                 $lst_turmas = $obj_turmas->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, null, null, null, null, $escola['cod_escola'], $serie['cod_serie']);
                             }
                             if ($lst_turmas) {
                                 if (!$page_open) {
                                     $x_quadrado = 30;
                                     $this->page_y = 80;
                                     $altura_caixa = 20;
                                     $this->pdf->OpenPage();
                                     $this->addCabecalho();
                                     $this->addCabecalho2();
                                     $page_open = true;
                                 }
                                 $existe_matriculas = true;
                                 $total_enturmados_turma_masculino = 0;
                                 $total_enturmados_turma_feminino = 0;
                                 $total_nao_enturmados_turma_masculino = 0;
                                 $total_nao_enturmados_turma_feminino = 0;
                                 foreach ($lst_turmas as $key_turma => $turma) {
                                     if ($turma['hora_inicial']) {
                                         if ($turma['hora_inicial'] <= '12:00') {
                                             $turno = 'Matutino';
                                         } elseif ($turma['hora_inicial'] > '12:00' && $turma['hora_inicial'] <= '18:00') {
                                             $turno = 'Vespert.';
                                         } else {
                                             $turno = 'Noturno';
                                         }
                                     }
                                     $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa);
                                     $this->pdf->escreve_relativo("{$escola['cod_escola']}", 25, $this->page_y + 5, 45, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     $this->pdf->linha_relativa(60, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->pdf->escreve_relativo("{$curso['nm_curso']}", 67, $this->page_y + 5, 258, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                     $this->pdf->linha_relativa(250, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->pdf->escreve_relativo("{$serie['nm_serie']} / {$turma['nm_turma']}", 250, $this->page_y + 2, 70, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     $this->pdf->linha_relativa(320, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->pdf->escreve_relativo("{$turno}", 323, $this->page_y + 5, 258, $altura_caixa, $fonte, 8, $corTexto, 'left');
                                     $this->pdf->linha_relativa(360, $this->page_y, 0, $altura_caixa, '0.1');
                                     $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
                                     $lst_matriculas_turma = $obj_matriculas_turma->lista(null, $turma['cod_turma'], null, null, null, null, null, null, 1, $serie['cod_serie'], $curso['cod_curso'], $escola['cod_escola'], $this->ref_cod_instituicao, null, null, array(1, 2, 3), null, null, $this->ano, null, null, null, 1, true, null, null, null, null, $this->semestre);
                                     $enturmados_turma_masculino = 0;
                                     $enturmados_turma_feminino = 0;
                                     if ($lst_matriculas_turma) {
                                         $total_enturmados_turma_geral = count($lst_matriculas_turma);
                                         //aqui verificar aluno que estao na multiseriada
                                         foreach ($lst_matriculas_turma as $matricula) {
                                             $obj_matricula = new clsPmieducarMatricula($matricula['ref_cod_matricula']);
                                             $det_matricula = $obj_matricula->detalhe();
                                             $obj_aluno = new clsPmieducarAluno($det_matricula['ref_cod_aluno']);
                                             $det_aluno = $obj_aluno->detalhe();
                                             $obj_pessoa = new clsFisica($det_aluno['ref_idpes']);
                                             $det_pessoa = $obj_pessoa->detalhe();
                                             /**
                                              * verifica se o aluno possui transferencia
                                              * e nao exibe na enturmacao
                                              */
                                             //$obj_transf = new clsPmieducarTransferenciaSolicitacao();
                                             //$lst_transf = $obj_transf->lista(null,null,null,null,null,$matricula['ref_cod_matricula'],null,null,null,null,null,null,null,null,null,null,$this->ref_cod_escola,$this->ref_ref_cod_serie);
                                             //if($lst_transf)
                                             //	continue;
                                             if (strtoupper($det_pessoa['sexo']) == 'M') {
                                                 $enturmados_turma_masculino++;
                                             } else {
                                                 $enturmados_turma_feminino++;
                                             }
                                         }
                                     }
                                     $total_enturmados_turma_masculino += $enturmados_turma_masculino;
                                     $total_enturmados_turma_feminino += $enturmados_turma_feminino;
                                     $total_geral_escola_enturmado_masculino += $enturmados_turma_masculino;
                                     $total_geral_escola_enturmado_feminino += $enturmados_turma_feminino;
                                     /***************************INVERTIDO ABAIXO*******************************************************/
                                     //enturmados
                                     /*$this->pdf->escreve_relativo( "{$enturmados_turma_feminino}", 355, $this->page_y + 5 , 40, $altura_caixa, $fonte, 8, $corTexto, 'center' );
                                     		$this->pdf->escreve_relativo( "{$enturmados_turma_masculino}", 385, $this->page_y + 5 , 40, $altura_caixa, $fonte, 8, $corTexto, 'center' );*/
                                     $this->pdf->escreve_relativo("{$enturmados_turma_masculino}", 355, $this->page_y + 5, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     $this->pdf->escreve_relativo("{$enturmados_turma_feminino}", 385, $this->page_y + 5, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     /**************************************************************************************************/
                                     $this->pdf->escreve_relativo($enturmados_turma_masculino + $enturmados_turma_feminino, 425, $this->page_y + 5, 30, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     $this->pdf->linha_relativa(460, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->pdf->linha_relativa(390, $this->page_y, 0, $altura_caixa, '0.1');
                                     $this->pdf->linha_relativa(420, $this->page_y, 0, $altura_caixa, '0.1');
                                     //$obj_matriculas = new clsPmieducarMatricula();
                                     //									$lst_matriculas = $obj_matriculas->lista(null, null, $escola['cod_escola'], $serie['cod_serie'], null, null, null, null, null, null, null, null, 1, $this->ano, $curso['cod_curso'], $this->ref_cod_instituicao );
                                     if (!$executou) {
                                         $obj_nao_enturmados = new clsPmieducarMatriculaTurma();
                                         $lst_nao_enturmados = $obj_nao_enturmados->dadosAlunosNaoEnturmados($escola['cod_escola'], $serie['cod_serie'], $curso['cod_curso'], $this->ano, true);
                                         $executou = true;
                                         //$total_nao_enturmados_turma_masculino = $total_nao_enturmados_turma_feminino = 0;
                                         if ($lst_nao_enturmados) {
                                             foreach ($lst_nao_enturmados as $matricula) {
                                                 ////$obj_aluno = new clsPmieducarAluno($matricula['ref_cod_aluno']);
                                                 //$det_aluno = $obj_aluno->detalhe();
                                                 //$obj_pessoa = new clsFisica($det_aluno['ref_idpes']);
                                                 //$det_pessoa = $obj_pessoa->detalhe();
                                                 if (strtoupper($matricula['sexo']) == 'M') {
                                                     $total_nao_enturmados_turma_masculino++;
                                                 } else {
                                                     $total_nao_enturmados_turma_feminino++;
                                                 }
                                             }
                                         }
                                     }
                                     if ($this->page_y + $altura_caixa >= 800) {
                                         $this->page_y = 80;
                                         $this->pdf->ClosePage();
                                         $this->pdf->OpenPage();
                                         $page_open = true;
                                         $this->addCabecalho();
                                         $this->addCabecalho2();
                                     }
                                     $this->page_y += $altura_caixa;
                                 }
                                 if ($key_serie < count($lst_serie_curso)) {
                                     $mult = count($lst_turmas);
                                     $centraliza = $altura_caixa * ($mult + 1) / 2;
                                     $this->pdf->quadrado_relativo(460, $this->page_y - $altura_caixa * $mult, 105, $altura_caixa * $mult);
                                     $this->pdf->linha_relativa(498, $this->page_y - $altura_caixa * $mult, 0, $altura_caixa * $mult, '0.1');
                                     //nao enturmados
                                     $total_geral_escola_nao_enturmado_feminino += $tot_fem = $total_nao_enturmados_turma_feminino;
                                     $total_geral_escola_nao_enturmado_masculino += $tot_masc = $total_nao_enturmados_turma_masculino;
                                     /**********************************INVERTIDO********************************************/
                                     /*$this->pdf->escreve_relativo( $tot_fem , 463, $this->page_y + 5 - $centraliza , 35, $altura_caixa, $fonte, 8, $corTexto, 'center' );
                                     		$this->pdf->escreve_relativo( $tot_masc, 500, $this->page_y + 5 - $centraliza, 35, $altura_caixa, $fonte, 8, $corTexto, 'center' );*/
                                     $this->pdf->escreve_relativo($tot_masc, 463, $this->page_y + 5 - $centraliza, 35, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     $this->pdf->escreve_relativo($tot_fem, 500, $this->page_y + 5 - $centraliza, 35, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                     /***************************************************************************************/
                                     $this->pdf->linha_relativa(538, $this->page_y - $altura_caixa * $mult, 0, $altura_caixa * $mult, '0.1');
                                     $this->pdf->escreve_relativo($tot_fem + $tot_masc, 530, $this->page_y + 5 - $centraliza, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                                 }
                             }
                         }
                     }
                 }
             }
             if ($page_open) {
                 //total geral
                 $this->pdf->quadrado_relativo(320, $this->page_y, 40, $altura_caixa);
                 $this->pdf->escreve_relativo("TOTAL", 327, $this->page_y + 5, 258, $altura_caixa, $fonte, 9, $corTexto, 'left');
                 $this->pdf->quadrado_relativo(360, $this->page_y, 205, $altura_caixa);
                 /***************************************INVERTIDO******************************************/
                 //enturmados
                 /*$this->pdf->escreve_relativo( "{$total_geral_escola_enturmado_feminino}", 355, $this->page_y + 5 , 40, $altura_caixa, $fonte, 8, $corTexto, 'center' );
                 		$this->pdf->escreve_relativo( "{$total_geral_escola_enturmado_masculino}", 385, $this->page_y + 5 , 40, $altura_caixa, $fonte, 8, $corTexto, 'center' );*/
                 $this->pdf->escreve_relativo("{$total_geral_escola_enturmado_masculino}", 355, $this->page_y + 5, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                 $this->pdf->escreve_relativo("{$total_geral_escola_enturmado_feminino}", 385, $this->page_y + 5, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                 /******************************************************************************************/
                 $this->pdf->escreve_relativo($total_geral_escola_enturmado_feminino + $total_geral_escola_enturmado_masculino, 425, $this->page_y + 5, 30, $altura_caixa, $fonte, 8, $corTexto, 'center');
                 $this->pdf->linha_relativa(460, $this->page_y, 0, $altura_caixa, '0.1');
                 $this->pdf->linha_relativa(390, $this->page_y, 0, $altura_caixa, '0.1');
                 $this->pdf->linha_relativa(420, $this->page_y, 0, $altura_caixa, '0.1');
                 $this->pdf->linha_relativa(498, $this->page_y, 0, $altura_caixa, '0.1');
                 /***************************************INVERTIDO******************************************/
                 //nao enturmados
                 /*$this->pdf->escreve_relativo( "$total_geral_escola_nao_enturmado_feminino", 463, $this->page_y + 5 , 35, $altura_caixa, $fonte, 8, $corTexto, 'center' );
                 		$this->pdf->escreve_relativo( "$total_geral_escola_nao_enturmado_masculino", 500, $this->page_y + 5, 35, $altura_caixa, $fonte, 8, $corTexto, 'center' );*/
                 $this->pdf->escreve_relativo("{$total_geral_escola_nao_enturmado_masculino}", 463, $this->page_y + 5, 35, $altura_caixa, $fonte, 8, $corTexto, 'center');
                 $this->pdf->escreve_relativo("{$total_geral_escola_nao_enturmado_feminino}", 500, $this->page_y + 5, 35, $altura_caixa, $fonte, 8, $corTexto, 'center');
                 /******************************************************************************************/
                 $this->pdf->linha_relativa(538, $this->page_y, 0, $altura_caixa, '0.1');
                 $this->pdf->escreve_relativo($total_geral_escola_nao_enturmado_masculino + $total_geral_escola_nao_enturmado_feminino, 530, $this->page_y + 5, 40, $altura_caixa, $fonte, 8, $corTexto, 'center');
                 if ($page_open && $existe_matriculas) {
                     $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\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\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\t</span>\n\t\t\t\t</center>";
     } else {
         echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
         echo "<script>\n\t\t\t\t\t\t\talert('Nenhuma informação a ser apresentada');\n\t\t\t\t\t\t\twindow.parent.fechaExpansivel('div_dinamico_'+(window.parent.DOM_divs.length-1));\n\t\t\t\t\t  </script>";
     }
 }
    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 renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        @session_start();
        $pessoa_logada = $_SESSION['id_pessoa'];
        @session_write_close();
        if (!$_POST) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNão existem dados!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        if (empty($this->cursos)) {
            echo '<script>

	     			alert("Erro ao gerar relatório!\\nNenhum curso selecionado!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     			//window.location = window.location;
	     		</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);
        /**
         * @todo negar lista_calendario e descomentar array_shift
         */
        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;
        }
        $obj_calendario = new clsPmieducarCalendarioAnoLetivo();
        $lst_calendario = $obj_calendario->lista(null, $this->ref_cod_escola, null, null, $this->ano, null, null, null, null, 1, null, $this->ref_cod_instituicao);
        if ($lst_calendario) {
            $calendario = array_shift($lst_calendario);
        }
        $obj_calendario_dia = new clsPmieducarCalendarioDia();
        $lista_dias = $obj_calendario_dia->lista($calendario['cod_calendario_ano_letivo'], $this->mes, null, null, null, null, null, null, null, 1);
        $dias_mes = array();
        if ($lista_dias) {
            foreach ($lista_dias as $dia) {
                $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);
                $det_motivo = $obj_motivo->detalhe();
                $dias_mes[$dia['dia']] = strtolower($det_motivo['tipo']);
            }
        }
        //Dias previstos do mes
        // Qual o primeiro dia do mes
        $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano);
        // Quantos dias tem o mes
        $NumeroDiasMes = date('t', $primeiroDiaDoMes);
        //informacoes primeiro dia do mes
        $dateComponents = getdate($primeiroDiaDoMes);
        // What is the name of the month in question?
        $NomeMes = $mesesDoAno[$dateComponents['mon']];
        // What is the index value (0-6) of the first day of the
        // month in question.
        $DiaSemana = $dateComponents['wday'];
        //total de dias uteis + dias extra-letivos - dia nao letivo - fim de semana
        $this->totalDiasUteis = 0;
        //echo '<pre>';print_r($dias_mes);die;
        for ($dia = 1; $dia <= $NumeroDiasMes; $dia++) {
            if ($DiaSemana >= 7) {
                $DiaSemana = 0;
            }
            if ($DiaSemana != 0 && $DiaSemana != 6) {
                if (!(key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('n'))) {
                    $this->totalDiasUteis++;
                }
            } elseif (key_exists($dia, $dias_mes) && $dias_mes[$dia] == strtolower('e')) {
                $this->totalDiasUteis++;
            }
            $DiaSemana++;
        }
        $registros_por_pagina = 27;
        $this->pdf = new clsPDF("Relação de Alunos ANEEs", "Relação de Alunos ANEEs", "A4", "", false, false);
        $cursos_in = '';
        /*$conc = '';
        		foreach ($this->cursos as $curso)
        		{
        			$cursos_in .= "{$conc}{$curso}";
        			$conc = ",";
        		}*/
        $cursos_in = implode(',', $this->cursos);
        $db = new clsBanco();
        $consulta = " SELECT coalesce(count(1),0)\n\t\t\t\t\t\t FROM pmieducar.aluno      a\n\t\t\t\t\t\t      ,pmieducar.matricula m\n\t\t\t\t\t\t      ,pmieducar.escola    e\n\t\t\t\t\t\t      ,pmieducar.serie     s\n\t\t\t\t\t\t      ,cadastro.pessoa     p\n\t\t\t\t\t\tWHERE a.ref_idpes  = p.idpes\n\t\t\t\t\t\t  AND a.cod_aluno  = m.ref_cod_aluno\n\t\t\t\t\t\t  AND e.cod_escola = m.ref_ref_cod_escola\n\t\t\t\t\t\t  AND m.ultima_matricula = 1\n\t\t\t\t\t\t  AND s.cod_serie  = m.ref_ref_cod_serie\n\t\t\t\t\t\t  AND s.ref_cod_curso in({$cursos_in})\n\t\t\t\t\t\t  AND a.ativo = 1\n\t\t\t\t\t\t  AND m.aprovado in (1,2,3)\n\t\t\t\t\t\t  AND m.ativo = 1\n\t\t\t\t\t\t  AND e.ativo = 1\n\t\t\t\t\t\t  AND s.ativo = 1\n\t\t\t\t\t\t  AND m.ano = {$this->ano}\n\t\t\t\t\t\t";
        //die($consulta);
        $total = $db->CampoUnico($consulta);
        $this->total_paginas = (int) ($total / 27) + 1;
        $this->pdf->OpenPage();
        //linha externa
        $altura2 = 620;
        $altura = 80;
        $expande = 24;
        $centralizado = abs(($altura - 10) / 2) + 120;
        //$necessidades = array('cegueira','baixa visao','surdez leve','surdocegueira','sindrome down','Def. Fisica','Autismo','Def. multiplas','cond. tipicas','raver boy','surdocegueira');
        /*$obj_deficiencia = new clsCadastroDeficiencia();
        		$obj_deficiencia->_campos_lista = "nm_deficiencia,cod_deficiencia,0 as subtotal,0 as total_curso,0 as total";
        		$obj_deficiencia->setOrderby( "nm_deficiencia ASC" );
        		$this->necessidades = $obj_deficiencia->lista();*/
        $select = "SELECT distinct nm_deficiencia,cod_deficiencia,0 as subtotal,0 as total_curso,0 as total\n\t\t\t\t\t FROM pmieducar.aluno\t    a\n\t\t\t\t\t      ,pmieducar.matricula m\n\t\t\t\t\t      ,cadastro.fisica_deficiencia fd\n\t\t\t\t\t      ,cadastro.deficiencia        d\n\t\t\t\t\tWHERE a.cod_aluno = m.ref_cod_aluno\n\t\t\t\t\t  AND a.ref_idpes = fd.ref_idpes\n\t\t\t\t\t  AND cod_deficiencia  = ref_cod_deficiencia\n\t\t\t\t\t  AND ano = {$this->ano}\n\t\t\t\t\t  AND ref_ref_cod_escola = {$this->ref_cod_escola}\n\t\t\t\t\t  AND m.ativo = 1\n\t\t\t\t\t  AND m.aprovado in (1,2,3)\n\t\t\t\t\t  AND a.ativo = 1\n\t\t\t\t\t  AND ref_cod_curso in ({$cursos_in})";
        $this->necessidades = array();
        $db->Consulta($select);
        if ($db->Num_Linhas()) {
            while ($db->ProximoRegistro()) {
                $this->necessidades[] = $db->Tupla();
            }
        }
        $this->addCabecalho();
        $this->novaPagina();
        //$inicio_escrita_x = 36;
        $inicio_escrita_y = 215;
        $inicio_linha_y = 232;
        $numero_x = 36;
        //posicao nome
        $nome_x = 65 + $expande;
        //posicao data nasc
        $nasc_x = 180 + $expande;
        //posicao serie
        $serie_x = 226 + $expande;
        //posicao turno
        $turno_x = 255 + $expande;
        //posicao alfabetizado
        $alfabetizado_x = 278 + $expande;
        //posicao necessidade
        $necessidade_x = 381 + $expande;
        $necec_x = $alfabetizado_x + 23;
        $linha_neces_x = 385;
        $altura = 30;
        $fonte = 'arial';
        $corTexto = '#000000';
        /**
         * busca todas as series de cada curso selecionado
         */
        $contador_registros = 0;
        for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
            $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
            $inicio_linha_y += 20;
        }
        $total_alfabetos_geral = 0;
        $total_analfabetos_geral = 0;
        $total_geral_alunos = 0;
        foreach ($this->cursos as $curso) {
            $total_curso = 0;
            $total_analfabetos_serie = 0;
            $total_analfabetos_curso = 0;
            $total_alfabetos_serie = 0;
            $total_alfabetos_curso = 0;
            $obj = new clsPmieducarSerie();
            $obj->setOrderby("s.nm_serie");
            $lista_serie_curso = $obj->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao);
            //$obj_curso = new clsPmieducarCurso($serie['ref_cod_curso']);
            $obj_curso = new clsPmieducarCurso($curso);
            $det_curso = $obj_curso->detalhe();
            $alunos = array();
            if ($lista_serie_curso) {
                foreach ($lista_serie_curso as $serie) {
                    /**
                     * busca todas as matriculas de cada curso
                     */
                    $subtotal_serie = 0;
                    $obj_matricula = new clsPmieducarMatricula();
                    $lista_matricula_serie = $obj_matricula->lista(null, null, $this->ref_cod_escola, $serie['cod_serie'], null, null, null, array(1, 2, 3), null, null, null, null, 1, $this->ano, $curso, $this->ref_cod_instituicao, null, null, null, null, null, null, null, true);
                    //					$total_geral_alunos += count($lista_matricula_serie);
                    //					$subtotal_serie = count($lista_matricula_serie);
                    //					$total_curso = $total_curso + $subtotal_serie;
                    /*
                    $total_geral_alunos += $obj_matricula->_total;
                    
                    $subtotal_serie = $obj_matricula->_total;
                    $total_curso = $total_curso + $subtotal_serie;
                    */
                    if ($lista_matricula_serie) {
                        /**
                         * busca dados da matricula de um aluno de uma turma de uma serie =p
                         */
                        foreach ($lista_matricula_serie as $matricula) {
                            $total_curso++;
                            $contador_registros++;
                            $total_geral_alunos++;
                            $subtotal_serie++;
                            if ($contador_registros > $registros_por_pagina) {
                                $contador_registros = 1;
                                $inicio_escrita_y = 215;
                                $inicio_linha_y = 232;
                                $this->pdf->ClosePage();
                                $this->pdf->OpenPage();
                                $this->addCabecalho();
                                $this->novaPagina();
                                for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                                    $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                                    $inicio_linha_y += 20;
                                }
                                $inicio_linha_y = 232;
                            }
                            $obj_aluno = new clsPmieducarAluno();
                            $det_aluno = array_shift($obj_aluno->lista($matricula['ref_cod_aluno']));
                            $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
                            $det_fisica = $obj_fisica->detalhe();
                            $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                            $det_matricula_turma = $obj_matricula_turma->lista($matricula['cod_matricula'], null, null, null, null, null, null, null, 1, $serie['cod_serie'], $curso, $this->ref_cod_escola, $this->ref_cod_instituicao);
                            if (is_array($det_matricula_turma)) {
                                $det_matricula_turma = array_shift($det_matricula_turma);
                            }
                            if ($det_matricula_turma['hora_inicial'] <= '12:00') {
                                $turno = 'M';
                            } elseif ($det_matricula_turma['hora_inicial'] > '12:00' && $det_matricula_turma['hora_inicial'] <= '18:00') {
                                $turno = 'V';
                            } else {
                                $turno = 'N';
                            }
                            /**
                             * INFORMACOES DE CADAS ALUNO
                             */
                            //							$this->pdf->linha_relativa(30,$inicio_linha_y,535,0);
                            //Nº
                            $this->pdf->escreve_relativo(" ", $numero_x, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
                            //Nome
                            $this->pdf->escreve_relativo($det_aluno['nome_aluno'], $nome_x - $expande - 12, $inicio_escrita_y, 210, 20, $fonte, 7, $corTexto, 'left');
                            //data nascimento
                            //$this->pdf->escreve_relativo( "05/09/1984", $nasc_x + $expande + 6,$inicio_escrita_y+1, 60, 20, $fonte, 7, $corTexto, 'left' );
                            $this->pdf->escreve_relativo(dataToBrasil($det_fisica['data_nasc']), $serie_x + $expande - 50, $inicio_escrita_y + 3, 60, 20, $fonte, 7, $corTexto, 'left');
                            //serie
                            $this->pdf->escreve_relativo(' ', $turno_x + $expande - 25, $inicio_escrita_y + 3, 60, 20, $fonte, 7, $corTexto, 'left');
                            //turno
                            $this->pdf->escreve_relativo($turno, $alfabetizado_x + $expande - 24, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                            //nao alfa
                            $this->pdf->escreve_relativo($det_aluno['analfabeto'] == 1 ? 'X' : '', $turno_x + $expande + 25, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                            //alfabetizado
                            $this->pdf->escreve_relativo($det_aluno['analfabeto'] == 0 ? 'X' : '', $alfabetizado_x + $expande + 24, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                            $total_analfabetos_serie = (int) $total_analfabetos_serie + ((int) $det_aluno['analfabeto'] == 1 ? 1 : 0);
                            $total_analfabetos_curso = (int) $total_analfabetos_curso + ((int) $det_aluno['analfabeto'] == 1 ? 1 : 0);
                            $total_analfabetos_geral = (int) $total_analfabetos_geral + ((int) $det_aluno['analfabeto'] == 1 ? 1 : 0);
                            $total_alfabetos_serie = (int) $total_alfabetos_serie + ((int) $det_aluno['analfabeto'] == 0 ? 1 : 0);
                            $total_alfabetos_curso = (int) $total_alfabetos_curso + ((int) $det_aluno['analfabeto'] == 0 ? 1 : 0);
                            $total_alfabetos_geral = (int) $total_alfabetos_geral + ((int) $det_aluno['analfabeto'] == 0 ? 1 : 0);
                            $obj_aluno_deficiencia = new clsCadastroFisicaDeficiencia();
                            $lista_aluno_deficiencia = false;
                            $lista_aluno_deficiencia = $obj_aluno_deficiencia->lista($det_aluno['ref_idpes']);
                            if ($lista_aluno_deficiencia) {
                                foreach ($lista_aluno_deficiencia as $deficiencia) {
                                    $necec_x = $alfabetizado_x + 23;
                                    foreach ($this->necessidades as $key => $n) {
                                        if ($deficiencia['ref_cod_deficiencia'] == $n['cod_deficiencia']) {
                                            $this->pdf->escreve_relativo("X", $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 11, $corTexto, 'center');
                                            $this->necessidades[$key]['subtotal'] = (int) $this->necessidades[$key]['subtotal'] + 1;
                                            $this->necessidades[$key]['total_curso'] = $this->necessidades[$key]['total_curso'] + 1;
                                            $this->necessidades[$key]['total'] = $this->necessidades[$key]['total'] + 1;
                                        } else {
                                            $this->pdf->escreve_relativo("-", $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
                                        }
                                        $necec_x += 18;
                                        //$linha_neces_x += 18;
                                    }
                                }
                            }
                            //$inicio_linha_y += 20;
                            $inicio_escrita_y += 20;
                        }
                        $contador_registros++;
                        if ($contador_registros > $registros_por_pagina) {
                            $contador_registros = 1;
                            $inicio_escrita_y = 215;
                            $inicio_linha_y = 232;
                            $this->pdf->ClosePage();
                            $this->pdf->OpenPage();
                            $this->addCabecalho();
                            $this->novaPagina();
                            for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                                $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                                $inicio_linha_y += 20;
                            }
                            $inicio_linha_y = 232;
                        }
                        //	if($subtotal_serie){
                        /**
                         * subtotal serie
                         */
                        //							$this->pdf->linha_relativa(30,$inicio_linha_y,535,0);
                        $obj_turmas = new clsPmieducarTurma();
                        $total_turmas = count($obj_turmas->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola));
                        $this->pdf->escreve_relativo("{$total_turmas}", $numero_x + 2, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
                        $this->pdf->escreve_relativo("SUBTOTAL SÉRIE {$serie['nm_serie']}", $nome_x - $expande + 5, $inicio_escrita_y + 3, 177, 20, $fonte, 6, $corTexto, 'left');
                        $this->pdf->quadrado_relativo($nasc_x + $expande - 9, $inicio_escrita_y - 3, 49, 20, 0.1, "#D2D2D2", "#6F5E5E");
                        //echo $total_analfabetos_serie;
                        //echo $total_alfabetos_serie ;
                        //serie
                        $this->pdf->escreve_relativo($subtotal_serie, $turno_x + $expande - 25, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                        //$this->pdf->quadrado_relativo($nasc_x + $expande + 40,$inicio_escrita_y-3, 25, 20,0.1,"#D2D2D2","#6F5E5E");
                        //nao alfa
                        $this->pdf->escreve_relativo((int) $total_analfabetos_serie == 0 ? '-' : $total_analfabetos_serie, $turno_x + $expande + 27, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                        //alfabetizado
                        $this->pdf->escreve_relativo((int) $total_alfabetos_serie == 0 ? '-' : $total_alfabetos_serie, $alfabetizado_x + $expande + 24, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
                        $total_analfabetos_serie = $total_alfabetos_serie = 0;
                        // = 0;
                        $this->pdf->quadrado_relativo($nasc_x + $expande + 65, $inicio_escrita_y - 3, 26, 20, 0.1, "#D2D2D2", "#6F5E5E");
                        $necec_x = $alfabetizado_x + 23;
                        foreach ($this->necessidades as $key => $n) {
                            $this->pdf->escreve_relativo($n['subtotal'] == 0 ? '-' : $n['subtotal'], $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
                            $this->necessidades[$key]['subtotal'] = (int) 0;
                            $necec_x += 18;
                            //$linha_neces_x += 18;
                        }
                        //$inicio_linha_y += 20;
                        $inicio_escrita_y += 20;
                        /**
                         *
                         */
                        //}
                    }
                }
            }
            $contador_registros++;
            if ($contador_registros > $registros_por_pagina) {
                $contador_registros = 1;
                $inicio_escrita_y = 215;
                $inicio_linha_y = 232;
                $this->pdf->ClosePage();
                $this->pdf->OpenPage();
                $this->addCabecalho();
                $this->novaPagina();
                for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                    $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                    $inicio_linha_y += 20;
                }
                $inicio_linha_y = 232;
            }
            $this->pdf->escreve_relativo(" ", $numero_x, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
            $this->pdf->escreve_relativo("TOTAL CURSO {$det_curso['nm_curso']}", $nome_x - $expande - 20, $inicio_escrita_y + 3, 177, 20, $fonte, 7, $corTexto, 'center');
            $this->pdf->quadrado_relativo($nasc_x + $expande - 9, $inicio_escrita_y - 3, 49, 20, 0.1, "#D2D2D2", "#6F5E5E");
            //serie
            $this->pdf->escreve_relativo($total_curso == 0 ? '-' : $total_curso, $turno_x + $expande - 25, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
            //$this->pdf->quadrado_relativo($nasc_x + $expande + 40,$inicio_escrita_y-3, 25, 20,0.1,"#D2D2D2","#6F5E5E");
            //nao alfa
            $this->pdf->escreve_relativo($total_analfabetos_curso == 0 ? '-' : $total_analfabetos_curso, $turno_x + $expande + 26, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
            //alfabetizado
            $this->pdf->escreve_relativo($total_alfabetos_curso == 0 ? '-' : $total_alfabetos_curso, $alfabetizado_x + $expande + 23, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
            //$total_analfabetos_curso = $total_alfabetos_curso = 0;
            $this->pdf->quadrado_relativo($nasc_x + $expande + 65, $inicio_escrita_y - 3, 26, 20, 0.1, "#D2D2D2", "#6F5E5E");
            $necec_x = $alfabetizado_x + 23;
            foreach ($this->necessidades as $key => $n) {
                $this->pdf->escreve_relativo($n['total_curso'] == 0 ? '-' : $n['total_curso'], $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
                $this->necessidades[$key]['total_curso'] = (int) 0;
                $necec_x += 18;
            }
            $inicio_escrita_y += 20;
            /*$contador_registros++;
            		if($contador_registros > $registros_por_pagina)
            		{
            			$contador_registros = 0;
            			$inicio_escrita_y = 215;
            			$inicio_linha_y = 232;
            			$this->pdf->ClosePage();
            			$this->pdf->OpenPage();
            			$this->addCabecalho();
            			$this->novaPagina();
            			for($ct =0; $ct < $registros_por_pagina;$ct++){
            					$this->pdf->linha_relativa(30,$inicio_linha_y,535,0);
            					$inicio_linha_y += 20;
            			}
            			$inicio_linha_y = 232;
            		}*/
        }
        $contador_registros++;
        if ($contador_registros > $registros_por_pagina) {
            $contador_registros = 1;
            $inicio_escrita_y = 215;
            $inicio_linha_y = 232;
            $this->pdf->ClosePage();
            $this->pdf->OpenPage();
            $this->addCabecalho();
            $this->novaPagina();
            for ($ct = 0; $ct < $registros_por_pagina; $ct++) {
                $this->pdf->linha_relativa(30, $inicio_linha_y, 535, 0);
                $inicio_linha_y += 20;
            }
            $inicio_linha_y = 232;
        }
        $this->pdf->escreve_relativo(" ", $numero_x, $inicio_escrita_y + 3, 50, 20, $fonte, 7, $corTexto, 'left');
        $this->pdf->escreve_relativo("TOTAL GERAL ", $nome_x - $expande - 20, $inicio_escrita_y + 3, 177, 20, $fonte, 7, $corTexto, 'center');
        $this->pdf->quadrado_relativo($nasc_x + $expande - 9, $inicio_escrita_y - 3, 49, 20, 0.1, "#D2D2D2", "#6F5E5E");
        //serie
        $this->pdf->escreve_relativo($total_geral_alunos == 0 ? '-' : $total_geral_alunos, $turno_x + $expande - 25, $inicio_escrita_y, 60, 20, $fonte, 10, $corTexto, 'left');
        //$this->pdf->quadrado_relativo($nasc_x + $expande + 40,$inicio_escrita_y-3, 25, 20,0.1,"#D2D2D2","#6F5E5E");
        //nao alfa
        $this->pdf->escreve_relativo($total_analfabetos_geral == 0 ? '-' : $total_analfabetos_geral, $turno_x + $expande + 26, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
        //alfabetizado
        $this->pdf->escreve_relativo($total_alfabetos_geral == 0 ? '-' : $total_alfabetos_geral, $alfabetizado_x + $expande + 23, $inicio_escrita_y + 2, 60, 20, $fonte, 10, $corTexto, 'left');
        //$total_analfabetos_geral = $total_alfabetos_geral = 0;
        $this->pdf->quadrado_relativo($nasc_x + $expande + 65, $inicio_escrita_y - 3, 26, 20, 0.1, "#D2D2D2", "#6F5E5E");
        $necec_x = $alfabetizado_x + 23;
        foreach ($this->necessidades as $key => $n) {
            $this->pdf->escreve_relativo($n['total'] == 0 ? '-' : $n['total'], $necec_x + 1, $inicio_escrita_y + 2, 100, $altura, $fonte, 10, $corTexto, 'center');
            $this->necessidades[$key]['total'] = (int) 0;
            $necec_x += 18;
            //$linha_neces_x += 18;
        }
        /**
         *
         */
        $this->rodape();
        $this->pdf->ClosePage();
        $this->get_link = $this->pdf->GetLink();
        $this->pdf->CloseFile();
        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>";
    }