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>";
    }
Exemplo n.º 2
0
        $obj_escola_serie->setOrderby("nm_serie ASC");
        $lst_escola_serie = $obj_escola_serie->lista($this->ref_cod_escola, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, $this->ref_cod_curso);
        if (is_array($lst_escola_serie) && count($lst_escola_serie)) {
            foreach ($lst_escola_serie as $escola_curso_serie) {
                $opcoes_series_curso_escola["{$escola_curso_serie["ref_cod_serie"]}"] = $escola_curso_serie['nm_serie'];
            }
        }
    }
    $this->campoLista("ref_ref_cod_serie", "S&eacute;rie", $opcoes_series_curso_escola, $this->ref_ref_cod_serie, null, null, null, null, $escola_curso_serie_desabilitado, $escola_curso_serie_obrigatorio);
}
if ($get_serie) {
    $opcoes_serie = array("" => "Selecione");
    // EDITAR
    if ($this->ref_cod_curso) {
        $obj_serie = new clsPmieducarSerie();
        $obj_serie->setOrderby("nm_serie ASC");
        $lst_serie = $obj_serie->lista(null, null, null, $this->ref_cod_curso, null, null, null, null, null, null, null, null, 1);
        if (is_array($lst_serie) && count($lst_serie)) {
            foreach ($lst_serie as $serie) {
                $opcoes_serie["{$serie["cod_serie"]}"] = $serie['nm_serie'];
            }
        }
    }
    $this->campoLista("ref_cod_serie", "Série", $opcoes_serie, $this->ref_cod_serie, null, null, null, null, $serie_desabilitado, $serie_obrigatorio);
}
if ($get_biblioteca) {
    if ($ref_cod_biblioteca_ == 0 && $nivel_usuario != 1 && $nivel_usuario != 2) {
        $this->campoOculto("ref_cod_biblioteca", $this->ref_cod_biblioteca);
    } else {
        $qtd_bibliotecas = count($ref_cod_biblioteca_);
        if ($qtd_bibliotecas == 1 && ($nivel_usuario == 4 || $nivel_usuario == 8)) {
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     if (empty($this->ref_cod_turma)) {
         echo '
     <script>
       alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
         $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     }
     $obj_calendario = new clsPmieducarEscolaAnoLetivo();
     $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $this->nm_turma = $det_turma['nm_turma'];
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     $obj_pessoa = new clsPessoa_($det_turma['ref_cod_regente']);
     $det = $obj_pessoa->detalhe();
     $this->nm_professor = $det['nome'];
     if (!$lista_calendario) {
         echo '
     <script>
       alert("Escola não possui calendário definido para este ano");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
     $titulo = 'Diário de Classe - ' . $this->ano;
     $prox_mes = $this->mes + 1;
     $this->pdf = new clsPDF($titulo, $titulo, 'A4', '', FALSE, FALSE);
     $altura_linha = 15;
     $inicio_escrita_y = 175;
     $altura_pagina = 760;
     $obj = new clsPmieducarSerie();
     $obj->setOrderby('cod_serie, etapa_curso');
     $lista_serie_curso = $obj->lista(NULL, NULL, NULL, $this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     // Recupera a lista de componentes curriculares da escola/série
     $componentes = App_Model_IedFinder::getEscolaSerieDisciplina($this->ref_cod_serie, $this->ref_cod_escola);
     if (0 == count($componentes)) {
         echo '
     <script>
       alert("Turma não possui matriculas");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return;
     } else {
         foreach ($componentes as $id => $componente) {
             $this->nm_disciplina = $componente->nome;
             $this->page_y = 139;
             // Número de semanas dos meses
             $obj_quadro = new clsPmieducarQuadroHorario();
             $obj_quadro->setCamposLista('cod_quadro_horario');
             $quadro_horario = $obj_quadro->lista(NULL, NULL, NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, 1);
             if (!$quadro_horario && $det_curso['avaliacao_globalizada'] == 't') {
                 echo '
         <script>
           alert("Turma não possui quadro de horários");
           window.location = "educar_relatorio_diario_classe.php";
         </script>';
                 break;
             }
             $obj_quadro_horarios = new clsPmieducarQuadroHorarioHorarios();
             $obj_quadro_horarios->setCamposLista('dia_semana');
             $obj_quadro_horarios->setOrderby('1 asc');
             $lista_quadro_horarios = $obj_quadro_horarios->lista($quadro_horario, $this->ref_cod_serie, $this->ref_cod_escola, $disciplina, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
             if (!$this->em_branco) {
                 $obj_matricula_turma = new clsPmieducarMatriculaTurma();
                 $obj_matricula_turma->setOrderby('nome_ascii');
                 $lista_matricula = $obj_matricula_turma->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, NULL, array(1, 2, 3), NULL, NULL, $this->ano, NULL, TRUE, NULL, NULL, TRUE);
             }
             $num_aluno = 1;
             if ($lista_matricula || $this->em_branco) {
                 $this->pdf->OpenPage();
                 $this->addCabecalho();
                 if ($this->em_branco) {
                     $lista_matricula = array();
                     $this->numero_registros = $this->numero_registros ? $this->numero_registros : 20;
                     for ($i = 0; $i < $this->numero_registros; $i++) {
                         $lista_matricula[] = '';
                     }
                 }
                 foreach ($lista_matricula as $matricula) {
                     if ($this->page_y > $altura_pagina) {
                         $this->desenhaLinhasVertical();
                         $this->pdf->ClosePage();
                         $this->pdf->OpenPage();
                         $this->page_y = 139;
                         $this->addCabecalho();
                     }
                     $this->pdf->quadrado_relativo(30, $this->page_y, 540, $altura_linha);
                     $this->pdf->escreve_relativo($num_aluno, 38, $this->page_y + 4, 30, 15, $fonte, 7, $corTexto, 'left');
                     $this->pdf->escreve_relativo($matricula['nome_aluno'], 55, $this->page_y + 4, 160, 15, $fonte, 7, $corTexto, 'left');
                     $num_aluno++;
                     $this->page_y += $altura_linha;
                 }
                 $this->desenhaLinhasVertical();
                 $this->rodape();
                 $this->pdf->ClosePage();
             }
         }
         $this->pdf->CloseFile();
         $this->get_link = $this->pdf->GetLink();
     }
     echo sprintf('
   <script>
     window.onload=function()
     {
       parent.EscondeDiv("LoadImprimir");
       window.location="download.php?filename=%s"
     }
   </script>', $this->get_link);
     echo sprintf('
   <html>
     <center>
       Se o download não iniciar automaticamente <br>
       <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br>
       <span style="font-size: 10px;">
         Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
         Clique na Imagem para Baixar o instalador<br><br>
         <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
       </span>
     </center>
   </html>', $this->get_link);
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     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 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_escola = new clsPmieducarEscola($this->ref_cod_escola);
        $det_escola = $obj_escola->detalhe();
        $this->nm_escola = $det_escola["nome"];
        if ($det_escola) {
            $this->pdf = new clsPDF("Demonstrativo de Alunos Defasados Nominal Idade/Série - {$this->ano}", "Demonstrativo de Alunos Defasados Nominal Idade/Série - {$this->ano}", "A4", "", false, false);
            $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
            $det_instituicao = $obj_instituicao->detalhe();
            $this->nm_instituicao = $det_instituicao['nm_instituicao'];
            $this->pdf->OpenPage();
            $this->addCabecalho();
            $this->novaPagina();
            $altura2 = 300;
            $altura = 30;
            $direita = $this->pdf->largura - 30 * 2;
            $expande = 24;
            $esquerda = 30;
            $inicio_escrita = 125 + $altura;
            $fonte = 'arial';
            $corTexto = '#000000';
            $flag_defasado = 1;
            $total_geral_masc_serie = 0;
            $total_geral_fem_serie = 0;
            $total_geral_anee = 0;
            $total_geral_nao_anee = 0;
            $total_geral_alf = 0;
            $total_geral_nao_alf = 0;
            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);
                $total_curso_masc_serie = 0;
                $total_curso_fem_serie = 0;
                $total_curso_anee = 0;
                $total_curso_nao_anee = 0;
                $total_curso_alf = 0;
                $total_curso_nao_alf = 0;
                if ($lista_serie_curso) {
                    foreach ($lista_serie_curso as $serie) {
                        $defasados = array();
                        $flagTurmas = 0;
                        $flagAlunos = 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, $ct_analfabeto, null, null, null, null, null, null, null, $this->mes, true);
                        if ($lista_matricula_serie) {
                            foreach ($lista_matricula_serie as $matricula) {
                                if ($matricula['data_nasc']) {
                                    $ano_nasc = explode("-", $matricula['data_nasc']);
                                    $idade_aluno = $this->ano - $ano_nasc[0];
                                }
                                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) {
                                            $desafados[] = $matricula;
                                            $obj_pessoa = new clsFisica($matricula["ref_idpes"]);
                                            $det_pessoa = $obj_pessoa->detalhe();
                                            $obj_aluno = new clsPmieducarAluno($matricula["ref_cod_aluno"]);
                                            $det_aluno = $obj_aluno->detalhe();
                                            $anee = false;
                                            if (is_numeric($matricula["ref_idpes"])) {
                                                $sql = "SELECT 1 FROM cadastro.fisica_deficiencia, cadastro.deficiencia\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE cod_deficiencia = ref_cod_deficiencia AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref_idpes = {$matricula["ref_idpes"]}";
                                                $db = new clsBanco();
                                                $anee = $db->CampoUnico($sql);
                                            }
                                            $defasados[count($desafados)] = array("mat" => $matricula, "sexo" => $det_pessoa["sexo"], "analfabeto" => $det_aluno["analfabeto"], "anee" => $anee);
                                        }
                                    } 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) {
                                            $desafados[] = $matricula;
                                            $obj_pessoa = new clsFisica($matricula["ref_idpes"]);
                                            $det_pessoa = $obj_pessoa->detalhe();
                                            $obj_aluno = new clsPmieducarAluno($matricula["ref_cod_aluno"]);
                                            $det_aluno = $obj_aluno->detalhe();
                                            $anee = false;
                                            if (is_numeric($matricula["ref_idpes"])) {
                                                $sql = "SELECT 1 FROM cadastro.fisica_deficiencia, cadastro.deficiencia\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE cod_deficiencia = ref_cod_deficiencia AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref_idpes = {$matricula["ref_idpes"]}";
                                                $db = new clsBanco();
                                                $anee = $db->CampoUnico($sql);
                                            }
                                            $defasados[count($desafados)] = array("mat" => $matricula, "sexo" => $det_pessoa["sexo"], "analfabeto" => $det_aluno["analfabeto"], "anee" => $anee);
                                        }
                                    }
                                }
                            }
                        }
                        $altura_aux = 13;
                        $total_masc_serie = 0;
                        $total_fem_serie = 0;
                        $total_anee = 0;
                        $total_nao_anee = 0;
                        $total_alf = 0;
                        $total_nao_alf = 0;
                        $esquerda = 30;
                        foreach ($defasados as $alunos) {
                            if ($inicio_escrita > $this->pdf->altura - 50) {
                                $inicio_escrita = 125 + $altura;
                                $this->pdf->ClosePage();
                                $this->pdf->OpenPage();
                                $this->addCabecalho();
                                $this->novaPagina();
                            }
                            $this->pdf->quadrado_relativo($esquerda, $inicio_escrita, $direita, $altura_aux);
                            $this->pdf->escreve_relativo($serie["nm_serie"], $esquerda += 5, $inicio_escrita, 40, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->linha_relativa($esquerda += 40, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->escreve_relativo($alunos["mat"]["nome"], $esquerda += 5, $inicio_escrita, 260, 50, $fonte, 9, $corTexto, 'left');
                            $this->pdf->linha_relativa($esquerda += 260, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->escreve_relativo(dataFromPgToBr($alunos["mat"]["data_nasc"]), $esquerda += 5, $inicio_escrita, 70, 50, $fonte, 9, $corTexto, 'center');
                            $espaco = 50;
                            $altura_aux = 12;
                            $this->pdf->linha_relativa($esquerda += $espaco + 20, $inicio_escrita, 0, $altura_aux);
                            if ($alunos["sexo"] == "M") {
                                $this->pdf->escreve_relativo("X", $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                                $total_masc_serie++;
                            } else {
                                $this->pdf->escreve_relativo("X", $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                                $total_fem_serie++;
                            }
                            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
                            if ($alunos["anee"]) {
                                $this->pdf->escreve_relativo("X", $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                                $total_anee++;
                            } else {
                                $this->pdf->escreve_relativo("X", $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                                $total_nao_anee++;
                            }
                            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
                            if (!$alunos["analfabeto"]) {
                                $this->pdf->escreve_relativo("X", $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                                $total_alf++;
                            } else {
                                $this->pdf->escreve_relativo("X", $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                                $total_nao_alf++;
                            }
                            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                            $inicio_escrita += $altura_aux;
                            $esquerda = 30;
                        }
                        if ($inicio_escrita > $this->pdf->altura - 50) {
                            $inicio_escrita = 125 + $altura;
                            $this->pdf->ClosePage();
                            $this->pdf->OpenPage();
                            $this->addCabecalho();
                            $this->novaPagina();
                        }
                        if ($total_masc_serie || $total_fem_serie || $total_anee || $total_curso_anee || $total_nao_alf || $total_nao_alf) {
                            $this->pdf->quadrado_relativo($esquerda, $inicio_escrita, $direita, $altura_aux);
                            $esquerda = 30;
                            $esquerda = 345;
                            $espaco = 50;
                            $altura_aux = 12;
                            $this->pdf->escreve_relativo("Totais Série {$serie["nm_serie"]}", $esquerda - 150, $inicio_escrita, 150, 50, $fonte, 9, $corTexto, 'left');
                            $this->pdf->linha_relativa($esquerda += $espaco + 20, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->escreve_relativo($total_masc_serie, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_fem_serie, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->escreve_relativo($total_anee, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_nao_anee, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->escreve_relativo($total_alf, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->escreve_relativo($total_nao_alf, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                            $inicio_escrita += $altura_aux;
                        }
                        $total_curso_masc_serie += $total_masc_serie;
                        $total_curso_fem_serie += $total_fem_serie;
                        $total_curso_anee += $total_anee;
                        $total_nao_anee += $total_curso_anee;
                        $total_curso_alf += $total_alf;
                        $total_curso_nao_alf += $total_nao_alf;
                        $esquerda = 30;
                    }
                }
                if ($inicio_escrita > $this->pdf->altura - 50) {
                    $inicio_escrita = 125 + $altura;
                    $this->pdf->ClosePage();
                    $this->pdf->OpenPage();
                    $this->addCabecalho();
                    $this->novaPagina();
                }
                $this->pdf->quadrado_relativo($esquerda, $inicio_escrita, $direita, $altura_aux);
                $esquerda = 345;
                $espaco = 50;
                $altura_aux = 12;
                $obj_curso = new clsPmieducarCurso($curso);
                $det_curso = $obj_curso->detalhe();
                $this->pdf->escreve_relativo("Totais Curso {$det_curso["nm_curso"]}", $esquerda - 150, $inicio_escrita, 300, 50, $fonte, 9, $corTexto, 'left');
                $this->pdf->linha_relativa($esquerda += $espaco + 20, $inicio_escrita, 0, $altura_aux);
                $this->pdf->escreve_relativo($total_curso_masc_serie, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                $this->pdf->escreve_relativo($total_curso_fem_serie, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
                $this->pdf->escreve_relativo($total_curso_anee, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                $this->pdf->escreve_relativo($total_curso_nao_anee, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
                $this->pdf->escreve_relativo($total_curso_alf, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                $this->pdf->escreve_relativo($total_curso_nao_alf, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
                $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
                $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
                $total_geral_masc_serie += $total_curso_masc_serie;
                $total_geral_fem_serie += $total_curso_fem_serie;
                $total_geral_anee += $total_curso_anee;
                $total_geral_nao_anee += $total_curso_nao_anee;
                $total_geral_alf += $total_curso_alf;
                $total_geral_nao_alf += $total_curso_nao_alf;
                $inicio_escrita += $altura_aux;
            }
            $esquerda = 30;
            $this->pdf->quadrado_relativo($esquerda, $inicio_escrita, $direita, $altura_aux);
            $esquerda = 345;
            $espaco = 50;
            $altura_aux = 12;
            $obj_curso = new clsPmieducarCurso($curso);
            $det_curso = $obj_curso->detalhe();
            $this->pdf->escreve_relativo("Totais Gerais", $esquerda - 100, $inicio_escrita, 300, 50, $fonte, 9, $corTexto, 'left');
            $this->pdf->linha_relativa($esquerda += $espaco + 20, $inicio_escrita, 0, $altura_aux);
            $this->pdf->escreve_relativo($total_geral_masc_serie, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
            $this->pdf->escreve_relativo($total_geral_fem_serie, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
            $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
            $this->pdf->escreve_relativo($total_geral_anee, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
            $this->pdf->escreve_relativo($total_geral_nao_anee, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
            $this->pdf->linha_relativa($esquerda, $inicio_escrita, 0, $altura_aux);
            $this->pdf->escreve_relativo($total_geral_alf, $esquerda, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
            $this->pdf->escreve_relativo($total_geral_nao_alf, $esquerda + $espaco / 2, $inicio_escrita, $espaco / 2, 50, $fonte, 9, $corTexto, 'center');
            $this->pdf->linha_relativa($esquerda + $espaco / 2, $inicio_escrita, 0, $altura_aux);
            $this->pdf->linha_relativa($esquerda += $espaco, $inicio_escrita, 0, $altura_aux);
            $altura_linha = 23;
            $inicio_escrita_y = 175;
        }
        $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()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     if (is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_serie)) {
         $instituicao_desabilitado = TRUE;
         $escola_desabilitado = TRUE;
         $curso_desabilitado = TRUE;
         $serie_desabilitado = TRUE;
         $escola_serie_desabilitado = TRUE;
         $this->campoOculto('ref_cod_instituicao_', $this->ref_cod_instituicao);
         $this->campoOculto('ref_cod_escola_', $this->ref_cod_escola);
         $this->campoOculto('ref_cod_curso_', $this->ref_cod_curso);
         $this->campoOculto('ref_cod_serie_', $this->ref_cod_serie);
     }
     $obrigatorio = TRUE;
     $get_escola = TRUE;
     $get_curso = TRUE;
     $get_serie = FALSE;
     $get_escola_serie = TRUE;
     include 'include/pmieducar/educar_campo_lista.php';
     if ($this->ref_cod_escola_) {
         $this->ref_cod_escola = $this->ref_cod_escola_;
     }
     if ($this->ref_cod_serie_) {
         $this->ref_cod_serie = $this->ref_cod_serie_;
     }
     $opcoes_serie = array('' => 'Selecione');
     // Editar
     if ($this->ref_cod_curso) {
         $obj_serie = new clsPmieducarSerie();
         $obj_serie->setOrderby('nm_serie ASC');
         $lst_serie = $obj_serie->lista(NULL, NULL, NULL, $this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         if (is_array($lst_serie) && count($lst_serie)) {
             foreach ($lst_serie as $serie) {
                 $opcoes_serie[$serie['cod_serie']] = $serie['nm_serie'];
             }
         }
     }
     $this->campoLista('ref_cod_serie', 'Série', $opcoes_serie, $this->ref_cod_serie, '', FALSE, '', '', $this->ref_cod_serie ? TRUE : FALSE);
     $this->hora_inicial = substr($this->hora_inicial, 0, 5);
     $this->hora_final = substr($this->hora_final, 0, 5);
     $this->hora_inicio_intervalo = substr($this->hora_inicio_intervalo, 0, 5);
     $this->hora_fim_intervalo = substr($this->hora_fim_intervalo, 0, 5);
     // hora
     $this->campoHora('hora_inicial', 'Hora Inicial', $this->hora_inicial, TRUE);
     $this->campoHora('hora_final', 'Hora Final', $this->hora_final, TRUE);
     $this->campoHora('hora_inicio_intervalo', 'Hora In&iacute;cio Intervalo', $this->hora_inicio_intervalo, TRUE);
     $this->campoHora('hora_fim_intervalo', 'Hora Fim Intervalo', $this->hora_fim_intervalo, TRUE);
     $this->campoQuebra();
     // Inclui disciplinas
     if (is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_serie)) {
         $obj = new clsPmieducarEscolaSerieDisciplina();
         $registros = $obj->lista($this->ref_cod_serie, $this->ref_cod_escola, NULL, 1);
         if ($registros) {
             foreach ($registros as $campo) {
                 $this->escola_serie_disciplina[$campo['ref_cod_disciplina']] = $campo['ref_cod_disciplina'];
                 $this->escola_serie_disciplina_carga[$campo['ref_cod_disciplina']] = floatval($campo['carga_horaria']);
             }
         }
     }
     $opcoes = array('' => 'Selecione');
     // Editar
     $disciplinas = 'Nenhuma série selecionada';
     if ($this->ref_cod_serie) {
         $disciplinas = '';
         $conteudo = '';
         // Instancia o mapper de ano escolar
         $anoEscolar = new ComponenteCurricular_Model_AnoEscolarDataMapper();
         $lista = $anoEscolar->findComponentePorSerie($this->ref_cod_serie);
         // Instancia o mapper de componente curricular
         $mapper = new ComponenteCurricular_Model_ComponenteDataMapper();
         if (is_array($lista) && count($lista)) {
             $conteudo .= '<div style="margin-bottom: 10px; float: left">';
             $conteudo .= '  <span style="display: block; float: left; width: 250px;">Nome</span>';
             $conteudo .= '  <span style="display: block; float: left; width: 100px;">Carga horária</span>';
             $conteudo .= '  <span style="display: block; float: left">Usar padrão do componente?</span>';
             $conteudo .= '</div>';
             $conteudo .= '<br style="clear: left" />';
             foreach ($lista as $registro) {
                 $checked = '';
                 $usarComponente = FALSE;
                 if ($this->escola_serie_disciplina[$registro->id] == $registro->id) {
                     $checked = 'checked="checked"';
                 }
                 if (is_null($this->escola_serie_disciplina_carga[$registro->id]) || 0 == $this->escola_serie_disciplina_carga[$registro->id]) {
                     $usarComponente = TRUE;
                 } else {
                     $cargaHoraria = $this->escola_serie_disciplina_carga[$registro->id];
                 }
                 $cargaComponente = $registro->cargaHoraria;
                 $conteudo .= '<div style="margin-bottom: 10px; float: left">';
                 $conteudo .= "  <label style='display: block; float: left; width: 250px'><input type=\"checkbox\" {$checked} name=\"disciplinas[{$registro->id}]\" id=\"disciplinas[]\" value=\"{$registro->id}\">{$registro}</label>";
                 $conteudo .= "  <label style='display: block; float: left; width: 100px;'><input type='text' name='carga_horaria[{$registro->id}]' value='{$cargaHoraria}' size='5' maxlength='7'></label>";
                 $conteudo .= "  <label style='display: block; float: left'><input type='checkbox' name='usar_componente[{$registro->id}]' value='1' " . ($usarComponente == TRUE ? $checked : '') . ">({$cargaComponente} h)</label>";
                 $conteudo .= '</div>';
                 $conteudo .= '<br style="clear: left" />';
                 $cargaHoraria = '';
             }
             $disciplinas = '<table cellspacing="0" cellpadding="0" border="0">';
             $disciplinas .= sprintf('<tr align="left"><td>%s</td></tr>', $conteudo);
             $disciplinas .= '</table>';
         } else {
             $disciplinas = 'A série/ano escolar não possui componentes curriculares cadastrados.';
         }
     }
     $this->campoRotulo("disciplinas_", "Componentes curriculares", "<div id='disciplinas'>{$disciplinas}</div>");
     $this->campoQuebra();
 }
 public function addCabecalho()
 {
     /**
      * Variável global com objetos do CoreExt.
      * @see includes/bootstrap.php
      */
     global $coreExt;
     // Namespace de configuração do template PDF
     $config = $coreExt['Config']->app->template->pdf;
     // Variável que controla a altura atual das caixas
     $altura = 30;
     $fonte = 'arial';
     $corTexto = '#000000';
     // Cabeçalho
     $logo = $config->get($config->logo, 'imagens/brasao.gif');
     $this->pdf->quadrado_relativo(30, $altura, 535, 85);
     $this->pdf->insertImageScaled('gif', $logo, 50, 95, 41);
     // Título principal
     $titulo = $config->get($config->titulo, "i-Educar");
     $this->pdf->escreve_relativo($titulo, 30, 45, 535, 80, $fonte, 18, $corTexto, 'center');
     $this->pdf->escreve_relativo("Secretaria Municipal da Educação", 30, 65, 535, 80, $fonte, 12, $corTexto, 'center');
     $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);
     // Dados escola
     $this->pdf->escreve_relativo("Escola: {$this->nm_escola}\n{$this->endereco}", 120, 85, 300, 80, $fonte, 10, $corTexto, 'left');
     $dataAtual = date("d/m/Y");
     $this->pdf->escreve_relativo("Data: " . $dataAtual, 480, 100, 535, 80, $fonte, 10, $corTexto, 'left');
 }
 function Gerar()
 {
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     $this->campoOculto("serie_origem_old", $this->ref_serie_origem);
     $this->campoOculto("serie_destino_old", $this->ref_serie_destino);
     // foreign keys
     if ($nivel_usuario == 1) {
         //		echo "<pre>"; print_r($GLOBALS); die();
         $GLOBALS["nivel_usuario_fora"] = 1;
         $objInstituicao = new clsPmieducarInstituicao();
         $opcoes = array("" => "Selecione");
         $objInstituicao->setOrderby("nm_instituicao ASC");
         $lista = $objInstituicao->lista();
         if (is_array($lista)) {
             foreach ($lista as $linha) {
                 $opcoes[$linha["cod_instituicao"]] = $linha["nm_instituicao"];
             }
         }
         $this->campoLista("ref_cod_instituicao", "Institui&ccedil;&atilde;o", $opcoes, $this->ref_cod_instituicao);
     } else {
         $obj_usuario = new clsPmieducarUsuario($this->pessoa_logada);
         $obj_usuario_det = $obj_usuario->detalhe();
         $this->ref_cod_instituicao = $obj_usuario_det["ref_cod_instituicao"];
     }
     $opcoes = array("" => "Selecione");
     $opcoes_ = array("" => "Selecione");
     if (class_exists("clsPmieducarCurso")) {
         /*$todos_cursos = "curso = new Array();\n";
         		$objTemp = new clsPmieducarCurso();
         		$objTemp->setOrderby("nm_curso");
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todos_cursos .= "curso[curso.length] = new Array({$registro["cod_curso"]},'{$registro["nm_curso"]}', {$registro["ref_cod_instituicao"]});\n";
         			}
         		}
         		echo "<script>{$todos_cursos}</script>";*/
         // EDITAR
         if ($this->ref_cod_instituicao) {
             $objTemp = new clsPmieducarCurso();
             $objTemp->setOrderby("nm_curso");
             $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, $this->ref_cod_instituicao);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes[$registro["cod_curso"]] = $registro["nm_curso"];
                     $opcoes_[$registro["cod_curso"]] = $registro["nm_curso"];
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarCurso n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na gera&ccedil;&atilde;o");
     }
     $this->campoLista("ref_curso_origem", "Curso Origem", $opcoes, $this->ref_curso_origem, "", true);
     $this->campoLista("ref_curso_destino", " Curso Destino", $opcoes_, $this->ref_curso_destino);
     // primary keys
     $opcoes = array("" => "Selecione");
     $opcoes_ = array("" => "Selecione");
     if (class_exists("clsPmieducarSerie")) {
         /*$todas_series = "serie = new Array();\n";
         		$objTemp = new clsPmieducarSerie();
         		$objTemp->setOrderby( "nm_serie ASC" );
         		$lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,null,null,null,1 );
         		if ( is_array( $lista ) && count( $lista ) )
         		{
         			foreach ( $lista as $registro )
         			{
         				$todas_series .= "serie[serie.length] = new Array({$registro["cod_serie"]},'{$registro["nm_serie"]}', {$registro["ref_cod_curso"]});\n";
         			}
         		}
         		echo "<script>{$todas_series}</script>";*/
         if ($this->ref_curso_origem) {
             $objTemp = new clsPmieducarSerie();
             $objTemp->setOrderby("nm_serie ASC");
             $lista = $objTemp->lista(null, null, null, $this->ref_curso_origem, null, null, null, null, null, null, null, null, 1);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes[$registro["cod_serie"]] = $registro["nm_serie"];
                 }
             }
         }
         if ($this->ref_curso_destino) {
             $objTemp = new clsPmieducarSerie();
             $objTemp->setOrderby("nm_serie ASC");
             $lista = $objTemp->lista(null, null, null, $this->ref_curso_destino, null, null, null, null, null, null, null, null, 1);
             if (is_array($lista) && count($lista)) {
                 foreach ($lista as $registro) {
                     $opcoes_[$registro["cod_serie"]] = $registro["nm_serie"];
                 }
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarSerie n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
         $opcoes_ = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_serie_origem", "S&eacute;rie Origem", $opcoes, $this->ref_serie_origem, null, true);
     $this->campoLista("ref_serie_destino", " S&eacute;rie Destino", $opcoes_, $this->ref_serie_destino);
     $this->campoOculto("nivel_usuario", $nivel_usuario);
 }
 function novoCabecalho($curso)
 {
     if (is_array($curso)) {
         $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);
         if (is_array($lst_serie) && count($lst_serie)) {
             $periodos = array(0 => "MAT", 1 => "VESP", 2 => "NOT", 3 => "TOTAL");
             $turmas_aluno = array(0 => array("turma" => eregi_replace("([^\n\r\t])", "\n\\1", "Nº TURMAS"), "aluno" => eregi_replace("([^\n\r\t])", "\n\\1", "Nº ALUNOS")), 1 => array("turma" => eregi_replace("([^\n\r\t])", "\n\\1", "Nº TURMAS"), "aluno" => eregi_replace("([^\n\r\t])", "\n\\1", "Nº ALUNOS")), 2 => array("turma" => eregi_replace("([^\n\r\t])", "\n\\1", "Nº TURMAS"), "aluno" => eregi_replace("([^\n\r\t])", "\n\\1", "Nº ALUNOS")), 3 => array("turma" => eregi_replace("([^\n\r\t])", "\n\\1", "TOT TURMAS"), "aluno" => eregi_replace("([^\n\r\t])", "\n\\1", "TOT ALUNOS")));
             $fonte = 'arial';
             $corTexto = '#000000';
             $esquerda = 30;
             $direita = 782;
             $this->page_y = 125;
             $altura = 90;
             $espaco = 150.4;
             $this->pdf->quadrado_relativo($esquerda, $this->page_y, $direita, $altura);
             $esquerda -= 30;
             $this->pdf->linha_relativa($esquerda += $espaco, $this->page_y, 0, $altura);
             $qtd_series = 0;
             $qtd_series_relatorio = 4;
             foreach ($lst_serie as $serie) {
                 $this->pdf->quadrado_relativo($esquerda, $this->page_y, $espaco, $altura);
                 $this->pdf->escreve_relativo($serie["nm_serie"], $esquerda, $this->page_y + 1, $espaco, 100, $fonte, 8, $corTexto, 'center');
                 $this->pdf->linha_relativa($esquerda, $this->page_y + 10, $espaco, 0);
                 $this->pdf->linha_relativa($esquerda + $espaco / $qtd_series_relatorio, $this->page_y + 22, 0, $altura - 22);
                 $esquerda_aux = 0;
                 for ($i = 0; $i < 4; $i++) {
                     $this->pdf->escreve_relativo($serie["nm_serie"], $esquerda, $this->page_y + 1, $espaco, 100, $fonte, 8, $corTexto, 'center');
                     $this->pdf->escreve_relativo($periodos[$i], $esquerda + $esquerda_aux, $this->page_y + 12, $espaco / $qtd_series_relatorio, 100, $fonte, 8, $corTexto, 'center');
                     $this->pdf->linha_relativa($esquerda + $esquerda_aux, $this->page_y + 22, $espaco / $qtd_series_relatorio, 0);
                     $this->pdf->escreve_relativo($turmas_aluno[$i]["turma"], $esquerda + $esquerda_aux + 5, $this->page_y + 20, 50, 100, $fonte, 6, $corTexto);
                     //, 'center');
                     $this->pdf->linha_relativa($esquerda + $esquerda_aux + $espaco / $qtd_series_relatorio / 2, $this->page_y + 22, 0, $altura - 22);
                     $this->pdf->escreve_relativo($turmas_aluno[$i]["aluno"], $esquerda + $esquerda_aux + 25, $this->page_y + 20, 50, 100, $fonte, 6, $corTexto);
                     //, 'center');
                     $this->pdf->linha_relativa($esquerda + $esquerda_aux + $espaco / $qtd_series_relatorio, $this->page_y + 10, 0, $altura - 10);
                     $esquerda_aux += $espaco / $qtd_series_relatorio;
                 }
                 /*$qtd_series++;
                 						if ($qtd_series > $qtd_series_relatorio) {
                 //							$this->novoCabecalho1($esquerda, $direita, $qtd_series, $espaco, $altura);
                 //							$esquerda_aux = 0;
                 						}	*/
                 $esquerda += $espaco;
             }
             $aux = 91;
             $this->pdf->quadrado_relativo($esquerda, $this->page_y, $espaco - $aux, $altura);
             $this->pdf->escreve_relativo("TOTAL", $esquerda, $this->page_y + 5, $espaco - $aux, 100, $fonte, 10, $corTexto, 'center');
             $this->pdf->linha_relativa($esquerda, $this->page_y + 22, $espaco - $aux, 0);
             $this->pdf->escreve_relativo(eregi_replace("([^\n\r\t])", "\n\\1", "TOT TURMAS"), $esquerda, $this->page_y + 20, ($espaco - $aux) / 2, 100, $fonte, 6, $corTexto, 'center');
             $this->pdf->escreve_relativo(eregi_replace("([^\n\r\t])", "\n\\1", "TOT ALUNOS"), $esquerda + ($espaco - $aux) / 2, $this->page_y + 20, ($espaco - $aux) / 2, 100, $fonte, 6, $corTexto, 'center');
             $this->pdf->linha_relativa($esquerda + ($espaco - $aux) / 2, $this->page_y + 22, 0, $altura - 22);
             //					/*if (++$qtd_series > 4) {
             //						$this->novoCabecalho1($esquerda, $direita, $qtd_series, $espaco, $altura);
             //					}*/
         }
     }
     $this->page_y += $altura;
 }
 function renderHTML()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     foreach ($_POST as $key => $value) {
         $this->{$key} = $value;
     }
     $this->ref_cod_serie = $this->ref_ref_cod_serie;
     $fonte = 'arial';
     $corTexto = '#000000';
     if (!is_numeric($this->ref_cod_instituicao) || !is_numeric($this->ref_cod_escola) || !is_numeric($this->ref_cod_curso) || !is_numeric($this->ref_cod_serie) || !is_numeric($this->ref_cod_turma) || !is_numeric($this->ano)) {
         echo '
     <script>
       alert("A turma não possui nenhum aluno com situação final definida");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
     $sql = sprintf("\n      SELECT\n        cod_matricula,\n        aprovado,\n        ref_ref_cod_serie,\n        (SELECT\n           nome\n         FROM\n           pmieducar.aluno a,\n           cadastro.pessoa p\n         WHERE\n           a.cod_aluno = m.ref_cod_aluno\n           AND p.idpes = a.ref_idpes\n        ) AS nome\n      FROM\n        pmieducar.matricula m,\n        pmieducar.matricula_turma mt\n      WHERE\n        mt.ref_cod_turma = %d\n        AND mt.ref_cod_matricula = m.cod_matricula\n        AND m.ativo = 1\n        AND mt.ativo = 1\n        AND aprovado IN (1, 2)\n        AND ano = %d\n      ORDER BY\n        ref_ref_cod_serie, nome", $this->ref_cod_turma, $this->ano);
     //verificar se a turma é multiseriada
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $ref_ref_cod_serie_mult = $det_turma['ref_ref_cod_serie_mult'];
     $db = new clsBanco();
     $db->Consulta($sql);
     if (!$db->numLinhas()) {
         echo '
     <script>
       alert("A turma não possui nenhum aluno com situação final definida");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length - 1));
     </script>';
         return TRUE;
     }
     $numAlunos = $db->numLinhas();
     // Nome da instituição
     $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     // Nome da escola
     $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
     $det_escola = $obj_escola->detalhe();
     $this->nm_escola = $det_escola['nome'];
     // Nome do curso
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $this->nm_curso = $det_curso['nm_curso'];
     // Série
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $obj_serie->setOrderby('nm_serie');
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     // Seleciona a regra de avaliação da série
     $regraMapper = new RegraAvaliacao_Model_RegraDataMapper();
     $this->regra = $regraMapper->find($det_serie['regra_avaliacao_id']);
     // Carrega as definições de disciplina
     $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_turma);
     foreach ($componentes as $id => $componente) {
         $this->componentes[$id] = $componente;
     }
     $this->presencaGeral = $this->regra->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::GERAL;
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $obj_turma->setCamposLista('nm_turma, hora_inicial');
     $det_turma = $obj_turma->detalhe();
     if ($det_turma['hora_inicial'] < '12:00') {
         $this->nm_turno = 'Matutino';
     } elseif ($det_turma['hora_inicial'] < '18:00') {
         $this->nm_turno = 'Vespertino';
     } else {
         $this->nm_turno = 'Noturno';
     }
     $this->nm_turma = $det_turma["nm_turma"];
     $this->buscaDiasLetivos();
     asort($this->componentes);
     $this->pdf = new clsPDF('Ata de Resultado Final - ' . $this->ano, 'Ata de Resultado Final', 'A4', '', FALSE, FALSE);
     $this->pdf->largura = 842.0;
     $this->pdf->altura = 595.0;
     $this->pdf->OpenPage();
     $this->addCabecalho();
     $esquerda = 3;
     $direita = 834;
     $tam_texto = 10;
     $altura = 130;
     $altura += 50;
     $espessura_linha = 0.3;
     $alunos_matriculados = array();
     while ($db->ProximoRegistro()) {
         list($cod_matricula, $aprovado, $ref_cod_serie, $nome) = $db->Tupla();
         $alunos_matriculados[$cod_matricula] = array('aprovado' => $aprovado, 'nome' => $nome, 'ref_cod_serie' => $ref_cod_serie);
     }
     if (is_array($alunos_matriculados) && count($alunos_matriculados)) {
         $this->getAlunoNotasFaltasTable($alunos_matriculados, $det_curso, $curso_conceitual);
     }
     $this->rodape();
     $this->pdf->CloseFile();
     $this->get_link = $this->pdf->GetLink();
     echo sprintf("\n        <script>\n          window.onload=function() {\n            parent.EscondeDiv('LoadImprimir');\n            window.location='download.php?filename=%s'\n          }\n        </script>", $this->get_link);
     echo sprintf("\n        <html>\n          <center>\n            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>\n            <span style='font-size: 10px;'>\n              Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n              Clique na Imagem para Baixar o instalador<br><br>\n              <a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br>\n                <img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\">\n              </a>\n            </span>\n          </center>\n        </html>", $this->get_link);
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $this->ref_cod_modulo = explode('-', $this->ref_cod_modulo);
     $this->ref_cod_modulo = array_pop($this->ref_cod_modulo);
     $fonte = 'arial';
     $corTexto = '#000000';
     if (empty($this->ref_cod_turma)) {
         echo '<script>
          alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!");
          window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
        </script>';
         return TRUE;
     }
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
         $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     }
     $obj_calendario = new clsPmieducarEscolaAnoLetivo();
     $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $this->nm_turma = $det_turma['nm_turma'];
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     $obj_pessoa = new clsPessoa_($det_turma['ref_cod_regente']);
     $det = $obj_pessoa->detalhe();
     $this->nm_professor = $det['nome'];
     //
     $regraMapper = new RegraAvaliacao_Model_RegraDataMapper();
     $this->regra = $regraMapper->find($det_serie['regra_avaliacao_id']);
     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);
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $this->nm_curso = $det_curso['nm_curso'];
     // Seleciona os alunos da turma
     $obj_matricula_turma = new clsPmieducarMatriculaTurma();
     $obj_matricula_turma->setOrderby('nome_ascii');
     $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, NULL, array(1, 2, 3), NULL, NULL, $this->ano, NULL, NULL, NULL, NULL, TRUE, NULL, NULL, TRUE, NULL, $this->semestre);
     $componentes = $array_disc = $array_cab = array();
     if ('f' == $this->tipo && $this->regra->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::GERAL) {
         $array_disc = $array_cab = array("FALTAS");
     } else {
         try {
             $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_turma);
         } catch (App_Model_Exception $e) {
         }
     }
     if ($lst_matricula_turma) {
         $titulo = sprintf('Espelho de Notas Bimestral %dº Bimestre Ano %d', $this->ref_cod_modulo, $this->ano);
         $subtitulo = sprintf("%s\n%s\n%s\n%s -  Turma: %s             %s", $this->nm_instituicao, $this->nm_escola, $this->nm_curso, $this->nm_serie, $this->nm_turma, date('d/m/Y'));
         $relatorio = new relatorios($titulo, 210, FALSE, 'Espelho de Notas Bimestral', 'A4', $subtitulo);
         $relatorio->setMargem(20, 20, 50, 50);
         $relatorio->exibe_produzido_por = FALSE;
         if (0 == count($array_disc) && 0 < count($componentes)) {
             foreach ($componentes as $componente) {
                 $array_disc[$componente->id] = $componente;
                 $array_cab[] = str2upper($componente->abreviatura);
             }
             asort($array_disc);
             sort($array_cab);
         }
         $array_cab = array_merge(array('Cód.', 'Nome do Aluno'), $array_cab);
         $divisoes = array(40, 165);
         $divisoes_texto = array(40, 165);
         $tamanho_divisao = 32 + (10 - count($array_disc)) * 5;
         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);
         foreach ($lst_matricula_turma as $matricula) {
             $boletim = new Avaliacao_Service_Boletim(array('matricula' => $matricula['ref_cod_matricula'], 'RegraDataMapper' => $regraMapper));
             $tam_fonte = NULL;
             $tam_linha = 16;
             $componentes = $boletim->getComponentes();
             foreach ($array_disc as $cid => $componente) {
                 // Presença geral, seleciona apenas a quantidade de faltas da etapa
                 if (0 == $cid) {
                     $faltas[$cid] = $boletim->getFalta($this->ref_cod_modulo);
                     break;
                 }
                 if (!in_array($cid, array_keys($componentes))) {
                     $notas[$cid] = 'D';
                     $faltas[$cid] = 'D';
                     continue;
                 }
                 $notas[$cid] = $boletim->getNotaComponente($cid, $this->ref_cod_modulo);
                 $faltas[$cid] = $boletim->getFalta($this->ref_cod_modulo, $cid);
             }
             // @todo WTF?!
             if (strlen($matricula['nome']) > 24) {
                 $matricula['nome'] = explode(' ', $matricula['nome']);
                 if (is_array($matricula['nome'])) {
                     $nome_aluno = array_shift($matricula['nome']);
                 }
                 if (is_array($matricula['nome'])) {
                     $nome_aluno .= ' ' . array_shift($matricula['nome']);
                 }
                 if (is_array($matricula['nome'])) {
                     $nome_aluno .= ' ' . array_pop($matricula['nome']);
                 }
                 $matricula['nome'] = $nome_aluno;
             }
             unset($array_val);
             $array_val = array();
             $array_val[] = $matricula['ref_cod_aluno'];
             $array_val[] = $matricula['nome'];
             foreach ($array_disc as $cid => $disc) {
                 if ($this->tipo == 'n') {
                     $array_val[] = $notas[$cid]->notaArredondada;
                     continue;
                 } else {
                     $array_val[] = $faltas[$cid]->quantidade;
                     continue;
                 }
                 $array_val[] = '';
             }
             $relatorio->novalinha($array_val, 0, $tam_linha, FALSE, 'arial', $divisoes_texto, '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE, NULL, $tam_fonte);
         }
         $this->get_link = $relatorio->fechaPdf();
     }
     echo sprintf('
   <script>
     window.onload=function()
     {
       parent.EscondeDiv("LoadImprimir");
       window.location="download.php?filename=%s"
     }
   </script>', $this->get_link);
     echo sprintf('
   <html>
     <center>
       Se o download não iniciar automaticamente <br>
       <a target="blank" href="%s" style="font-size: 16px; color: #000000; text-decoration: underline;">clique aqui!</a><br><br>
       <span style="font-size: 10px;">
         Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
         Clique na Imagem para Baixar o instalador<br><br>
         <a href="http://www.adobe.com.br/products/acrobat/readstep2.html" target="new"><br><img src="imagens/acrobat.gif" width="88" height="31" border="0"></a>
       </span>
     </center>
   </html>', $this->get_link);
 }
    function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        //		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 renderHTML()
 {
     global $coreExt;
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     $this->temporario = isset($_POST['temporario']) ? TRUE : FALSE;
     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;
     }
     $modulo_sequencial = explode('-', $this->ref_cod_modulo);
     $this->ref_cod_modulo = $modulo_sequencial[0];
     $this->sequencial = $modulo_sequencial[1];
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
         $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     }
     $obj_calendario = new clsPmieducarEscolaAnoLetivo();
     $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $this->nm_turma = $det_turma['nm_turma'];
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     $regraId = $det_serie['regra_avaliacao_id'];
     $obj_pessoa = new clsPessoa_($det_turma['ref_cod_regente']);
     $det = $obj_pessoa->detalhe();
     $this->nm_professor = $det['nome'];
     if (!$lista_calendario) {
         echo '
     <script>
       alert("Escola não possui calendário definido para este ano");
       window.parent.fechaExpansivel(\'div_dinamico_\' + (window.parent.DOM_divs.length - 1));
     </script>';
         return TRUE;
     }
     $altura_linha = 23;
     $inicio_escrita_y = 175;
     $obj = new clsPmieducarSerie();
     $obj->setOrderby('cod_serie, etapa_curso');
     $lista_serie_curso = $obj->lista(NULL, NULL, NULL, $this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     // Seleciona a regra para verificar se a presença é geral
     $regraMapper = new RegraAvaliacao_Model_RegraDataMapper();
     $regra = $regraMapper->find($regraId);
     $presencaGeral = $regra->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::GERAL;
     // Seleciona o curso para ver se é padrão e decidir qual ano letivo pesquisar
     $db = new clsBanco();
     $consulta = sprintf('SELECT padrao_ano_escolar FROM pmieducar.curso WHERE cod_curso = \'%d\'', $this->ref_cod_curso);
     $padrao_ano_escolar = $db->CampoUnico($consulta);
     $total_semanas = 0;
     if ($padrao_ano_escolar) {
         // Seleciona o módulo do ano letivo da escola
         $data = $this->getDatasModulo($this->ref_cod_modulo, $this->sequencial, $this->ano, $this->ref_cod_escola);
     } else {
         // Seleciona o módulo do ano letivo da turma
         $data = $this->getDatasModulo($this->ref_cod_modulo, $this->sequencial, $this->ano, NULL, $this->ref_cod_turma);
     }
     $meses = $data['meses'];
     $dias = $data['dias'];
     if (!$this->data_ini) {
         $this->data_ini = $data['dataInicial'];
     }
     if (!$this->data_fim) {
         $this->data_fim = $data['dataFinal'];
     }
     $total_semanas = 0;
     for ($mes = $meses[0]; $mes <= $meses[1]; $mes++) {
         $mes_final = FALSE;
         if ($mes == $meses[0]) {
             $dia = $dias[0];
         } elseif ($mes == $meses[1]) {
             $dia = $dias[1];
             $mes_final = TRUE;
         } else {
             $dia = 1;
         }
         $total_semanas += $this->getNumeroDiasMes($this->ref_cod_turma, $dia, $mes, $this->ano, $mes_final);
         $total_semanas += $ndm;
     }
     $this->pdf = new clsPDF('Diário de Classe - ' . $this->ano, sprintf('Diário de Classe - %s até %s de %s', $this->data_ini, $this->data_fim, $this->ano), 'A4', '', FALSE, FALSE);
     $this->mes_inicial = (int) $meses[0];
     $this->mes_final = (int) $meses[1];
     $this->pdf->largura = 842.0;
     $this->pdf->altura = 595.0;
     $this->total = $total_semanas;
     if (!$this->em_branco) {
         $obj_matricula_turma = new clsPmieducarMatriculaTurma();
         $obj_matricula_turma->setOrderby('nome_ascii');
         $matriculaSituacao = array(App_Model_MatriculaSituacao::APROVADO, App_Model_MatriculaSituacao::REPROVADO, App_Model_MatriculaSituacao::EM_ANDAMENTO);
         $lista_matricula = $obj_matricula_turma->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, NULL, $matriculaSituacao, NULL, NULL, $this->ano, NULL, TRUE, NULL, NULL, TRUE);
     }
     if ($this->em_branco) {
         $lista_matricula = array();
         $this->numero_registros = $this->numero_registros ? $this->numero_registros : 20;
         for ($i = 0; $i < $this->numero_registros; $i++) {
             $lista_matricula[] = '';
         }
     }
     // Seleciona os componentes da escola/série
     $componentes = App_Model_IedFinder::getEscolaSerieDisciplina($this->ref_cod_serie, $this->ref_cod_escola);
     if (0 < count($componentes) && FALSE == $presencaGeral) {
         $this->total = $total_semanas = 0;
         foreach ($componentes as $componente) {
             $this->nm_disciplina = $componente->nome;
             $this->page_y = 125;
             if (FALSE == $presencaGeral) {
                 // Número de semanas dos meses
                 $obj_quadro = new clsPmieducarQuadroHorario();
                 $obj_quadro->setCamposLista('cod_quadro_horario');
                 $quadro_horario = $obj_quadro->lista(NULL, NULL, NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, 1);
                 $total_semanas = 0;
                 $this->indefinido = FALSE;
                 if (!$quadro_horario) {
                     echo '
           <script>
             alert(\'Turma não possui quadro de horários\');
             window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
           </script>';
                     die;
                 }
                 $obj_quadro_horarios = new clsPmieducarQuadroHorarioHorarios();
                 $obj_quadro_horarios->setCamposLista('dia_semana');
                 $obj_quadro_horarios->setOrderby('1 asc');
                 $lista_quadro_horarios = $obj_quadro_horarios->lista($quadro_horario[0], $this->ref_cod_serie, $this->ref_cod_escola, $componente->id, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
                 // Se não for retornado horário e o diário não for temporário, gera
                 // a lista para o próximo componente
                 if (FALSE == $lista_quadro_horarios && FALSE == $this->temporario) {
                     continue;
                 }
                 // Caso o diário seja temporário, gera lista de alunos para 30 dias
                 // por padrão
                 if (FALSE == $lista_quadro_horarios && TRUE == $this->temporario) {
                     $this->indefinido = TRUE;
                     $total_semanas = $coreExt['Config']->get($coreExt['Config']->report->diario_classe->dias_temporarios, 30);
                 }
                 for ($mes_ = $meses[0]; $mes_ <= $meses[1] && FALSE != $lista_quadro_horarios; $mes_++) {
                     $mes_final = FALSE;
                     foreach ($lista_quadro_horarios as $dia_semana) {
                         if ($mes_ == $meses[0]) {
                             $dia = $dias[0];
                         } elseif ($mes_ == $meses[1]) {
                             $dia = $dias[1];
                             $mes_final = TRUE;
                         } else {
                             $dia = 1;
                         }
                         $total_semanas += $this->getDiasSemanaMes($this->ref_cod_turma, $dia, $mes_, $this->ano, $dia_semana, $mes_final);
                     }
                 }
                 $this->total = $total_semanas;
             }
             if (!$this->total) {
                 continue;
             }
             $this->gerarListaAlunos($lista_matricula);
         }
     } else {
         $this->gerarListaAlunos($lista_matricula);
     }
     if ($this->total) {
         $this->pdf->CloseFile();
         $this->get_link = $this->pdf->GetLink();
     } else {
         $this->mensagem = 'Não existem dias letivos cadastrados para esta turma';
         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>
   </html>', $this->get_link);
 }
Exemplo n.º 14
0
 function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     $this->campoOculto('cod_turma', $this->cod_turma);
     // foreign keys
     $obrigatorio = FALSE;
     $instituicao_obrigatorio = TRUE;
     $escola_curso_obrigatorio = TRUE;
     $curso_obrigatorio = TRUE;
     $get_escola = TRUE;
     $get_escola_curso_serie = FALSE;
     $sem_padrao = TRUE;
     $get_curso = TRUE;
     $bloqueia = false;
     $anoVisivel = false;
     if (isset($this->ano) || !is_numeric($this->cod_turma)) {
         $anoVisivel = true;
     }
     if (!isset($this->cod_turma)) {
         $bloqueia = false;
     } else {
         if (is_numeric($this->cod_turma)) {
             $obj_matriculas_turma = new clsPmieducarMatriculaTurma();
             $obj_matriculas_turma->setOrderby('nome_aluno');
             $lst_matriculas_turma = $obj_matriculas_turma->lista(NULL, $this->cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, array(1, 2, 3), NULL, NULL, NULL, NULL, TRUE, NULL, 1, TRUE);
             if (is_array($lst_matriculas_turma) && count($lst_matriculas_turma) > 0) {
                 $bloqueia = true;
             }
         }
     }
     $desabilitado = $bloqueia;
     include 'include/pmieducar/educar_campo_lista.php';
     if ($this->ref_cod_escola) {
         $this->ref_ref_cod_escola = $this->ref_cod_escola;
     }
     $opcoes_serie = array('' => 'Selecione');
     // Editar
     if ($this->ref_cod_curso) {
         $obj_serie = new clsPmieducarSerie();
         $obj_serie->setOrderby('nm_serie ASC');
         $lst_serie = $obj_serie->lista(NULL, NULL, NULL, $this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         if (is_array($lst_serie) && count($lst_serie)) {
             foreach ($lst_serie as $serie) {
                 $opcoes_serie[$serie['cod_serie']] = $serie['nm_serie'];
             }
         }
     }
     if ($bloqueia) {
         $this->campoOculto('serie_param', $this->serie_param = $this->ref_ref_cod_serie);
         $this->campoOculto('escola_param', $this->escola_param = $this->ref_cod_escola);
     }
     $this->campoLista('ref_ref_cod_serie', 'Série', $opcoes_serie, $this->ref_ref_cod_serie, '', FALSE, '', NULL, $bloqueia);
     // o campo ano somente é exibido para turmas novas  ou cadastradas após inclusão deste campo.
     if ($anoVisivel) {
         $this->inputsHelper()->dynamic('anoLetivo', array('disabled' => $bloqueia));
         if ($bloqueia) {
             $this->inputsHelper()->hidden('ano_hidden', array('value' => $this->ano));
         }
     }
     // Infra prédio cômodo
     $opcoes = array('' => 'Selecione');
     // Editar
     if ($this->ref_ref_cod_escola) {
         $obj_infra_predio = new clsPmieducarInfraPredio();
         $obj_infra_predio->setOrderby('nm_predio ASC');
         $lst_infra_predio = $obj_infra_predio->lista(NULL, NULL, NULL, $this->ref_ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         if (is_array($lst_infra_predio) && count($lst_infra_predio)) {
             foreach ($lst_infra_predio as $predio) {
                 $obj_infra_predio_comodo = new clsPmieducarInfraPredioComodo();
                 $lst_infra_predio_comodo = $obj_infra_predio_comodo->lista(NULL, NULL, NULL, NULL, $predio['cod_infra_predio'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
                 if (is_array($lst_infra_predio_comodo) && count($lst_infra_predio_comodo)) {
                     foreach ($lst_infra_predio_comodo as $comodo) {
                         $opcoes[$comodo['cod_infra_predio_comodo']] = $comodo['nm_comodo'];
                     }
                 }
             }
         }
     }
     $this->campoLista('ref_cod_infra_predio_comodo', 'Sala', $opcoes, $this->ref_cod_infra_predio_comodo, NULL, NULL, NULL, NULL, NULL, FALSE);
     $array_servidor = array('' => 'Selecione um servidor');
     if ($this->ref_cod_regente) {
         $obj_pessoa = new clsPessoa_($this->ref_cod_regente);
         $det = $obj_pessoa->detalhe();
         $array_servidor[$this->ref_cod_regente] = $det['nome'];
     }
     $this->campoListaPesq('ref_cod_regente', 'Professor/Regente', $array_servidor, $this->ref_cod_regente, '', '', FALSE, '', '', NULL, NULL, '', TRUE, FALSE, FALSE);
     // Turma tipo
     $opcoes = array('' => 'Selecione');
     // Editar
     if ($this->ref_cod_instituicao) {
         $objTemp = new clsPmieducarTurmaTipo();
         $objTemp->setOrderby('nm_tipo ASC');
         $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes[$registro['cod_turma_tipo']] = $registro['nm_tipo'];
             }
         }
     }
     $this->campoLista('ref_cod_turma_tipo', 'Tipo de Turma', $opcoes, $this->ref_cod_turma_tipo, '', FALSE, '', NULL);
     $this->campoTexto('nm_turma', 'Turma', $this->nm_turma, 30, 255, TRUE);
     $this->campoTexto('sgl_turma', 'Sigla', $this->sgl_turma, 15, 15, FALSE);
     $this->campoNumero('max_aluno', 'Máximo de Alunos', $this->max_aluno, 3, 3, TRUE);
     $this->inputsHelper()->date('data_fechamento', array('required' => false, 'label' => 'Data de fechamento', 'value' => Portabilis_Date_Utils::pgSQLToBr($this->data_fechamento)));
     $ativo = isset($this->cod_turma) ? dbBool($this->visivel) : true;
     $this->campoCheck('visivel', 'Ativo', $ativo);
     $this->campoCheck('multiseriada', 'Multi-Seriada', $this->multiseriada, '', FALSE, FALSE);
     $this->campoLista('ref_ref_cod_serie_mult', 'Série', array('' => 'Selecione'), '', '', FALSE, '', '', '', FALSE);
     $this->campoOculto('ref_ref_cod_serie_mult_', $this->ref_ref_cod_serie_mult);
     $this->campoQuebra2();
     // hora
     $this->campoHora('hora_inicial', 'Hora Inicial', $this->hora_inicial, FALSE);
     $this->campoHora('hora_final', 'Hora Final', $this->hora_final, FALSE);
     $this->campoHora('hora_inicio_intervalo', Portabilis_String_Utils::toLatin1('Hora Início Intervalo'), $this->hora_inicio_intervalo, FALSE);
     $this->campoHora('hora_fim_intervalo', 'Hora Fim Intervalo', $this->hora_fim_intervalo, FALSE);
     $this->inputsHelper()->turmaTurno();
     // modelos boletim
     require_once 'Portabilis/Model/Report/TipoBoletim.php';
     require_once 'Portabilis/Array/Utils.php';
     $tiposBoletim = Portabilis_Model_Report_TipoBoletim::getInstance()->getEnums();
     $tiposBoletim = Portabilis_Array_Utils::insertIn(null, "Selecione um modelo", $tiposBoletim);
     $this->campoLista('tipo_boletim', Portabilis_String_Utils::toLatin1('Modelo relatório boletim'), $tiposBoletim, $this->tipo_boletim);
     $this->campoQuebra2();
     if ($this->ref_ref_cod_serie) {
         require_once 'ComponenteCurricular/Model/ComponenteDataMapper.php';
         require_once 'ComponenteCurricular/Model/AnoEscolarDataMapper.php';
         require_once 'ComponenteCurricular/Model/TurmaDataMapper.php';
         $disciplinas = '';
         $conteudo = '';
         // Instancia o mapper de componente curricular
         $mapper = new ComponenteCurricular_Model_ComponenteDataMapper();
         // Instancia o mapper de ano escolar
         $anoEscolar = new ComponenteCurricular_Model_AnoEscolarDataMapper();
         $lista = $anoEscolar->findComponentePorSerie($this->ref_ref_cod_serie);
         // Instancia o mapper de turma
         $componenteTurmaMapper = new ComponenteCurricular_Model_TurmaDataMapper();
         $componentesTurma = array();
         if (isset($this->cod_turma) && is_numeric($this->cod_turma)) {
             $componentesTurma = $componenteTurmaMapper->findAll(array(), array('turma' => $this->cod_turma));
         }
         $componentes = array();
         foreach ($componentesTurma as $componenteTurma) {
             $componentes[$componenteTurma->get('componenteCurricular')] = $componenteTurma;
         }
         unset($componentesTurma);
         $this->escola_serie_disciplina = array();
         if (is_array($lista) && count($lista)) {
             $conteudo .= '<div style="margin-bottom: 10px;">';
             $conteudo .= '  <span style="display: block; float: left; width: 250px;">Nome</span>';
             $conteudo .= '  <span style="display: block; float: left; width: 100px;">' . Portabilis_String_Utils::toLatin1('Carga horária') . '</span>';
             $conteudo .= '  <span style="display: block; float: left">' . Portabilis_String_Utils::toLatin1('Usar padrão do componente?') . '</span>';
             $conteudo .= '</div>';
             $conteudo .= '<br style="clear: left" />';
             foreach ($lista as $registro) {
                 $checked = '';
                 $usarComponente = FALSE;
                 if (isset($componentes[$registro->id])) {
                     $checked = 'checked="checked"';
                 }
                 if (is_null($componentes[$registro->id]->cargaHoraria) || 0 == $componentes[$registro->id]->cargaHoraria) {
                     $usarComponente = TRUE;
                 } else {
                     $cargaHoraria = $componentes[$registro->id]->cargaHoraria;
                 }
                 $cargaComponente = $registro->cargaHoraria;
                 $conteudo .= '<div style="margin-bottom: 10px; float: left">';
                 $conteudo .= "  <label style='display: block; float: left; width: 250px'><input type=\"checkbox\" {$checked} name=\"disciplinas[{$registro->id}]\" id=\"disciplinas[]\" value=\"{$registro->id}\">{$registro}</label>";
                 $conteudo .= "  <label style='display: block; float: left; width: 100px;'><input type='text' name='carga_horaria[{$registro->id}]' value='{$cargaHoraria}' size='5' maxlength='7'></label>";
                 $conteudo .= "  <label style='display: block; float: left'><input type='checkbox' name='usar_componente[{$registro->id}]' value='1' " . ($usarComponente == TRUE ? $checked : '') . ">({$cargaComponente} h)</label>";
                 $conteudo .= '</div>';
                 $conteudo .= '<br style="clear: left" />';
                 $cargaHoraria = '';
             }
             $disciplinas = '<table cellspacing="0" cellpadding="0" border="0">';
             $disciplinas .= sprintf('<tr align="left"><td>%s</td></tr>', $conteudo);
             $disciplinas .= '</table>';
         } else {
             $disciplinas = Portabilis_String_Utils::toLatin1('A série/ano escolar não possui componentes curriculares cadastrados.');
         }
     }
     $componentes = $help = array();
     try {
         $componentes = App_Model_IedFinder::getEscolaSerieDisciplina($this->ref_ref_cod_serie, $this->ref_cod_escola);
     } catch (Exception $e) {
     }
     foreach ($componentes as $componente) {
         $help[] = sprintf('%s (%.0f h)', $componente->nome, $componente->cargaHoraria);
     }
     if (count($componentes)) {
         $help = '<ul><li>' . implode('</li><li>', $help) . '</li></ul>';
     } else {
         $help = '';
     }
     $label = 'Componentes curriculares:<br />' . '<strong>Observa&ccedil;&atilde;o:</strong> caso n&atilde;o defina os componentes<br />' . 'curriculares para a turma, esta usar&aacute; a defini&ccedil;&atilde;o<br />' . 'da s&eacute;rie/ano escolar da escola:' . '<span id="_escola_serie_componentes">%s</span>';
     $label = sprintf($label, $help);
     $this->campoRotulo('disciplinas_', $label, "<div id='disciplinas'>{$disciplinas}</div>");
     $this->campoQuebra2();
     if ($_POST['turma_modulo']) {
         $this->turma_modulo = unserialize(urldecode($_POST['turma_modulo']));
     }
     $qtd_modulo = count($this->turma_modulo) == 0 ? 1 : count($this->turma_modulo) + 1;
     if (is_numeric($this->cod_turma) && !$_POST) {
         $obj = new clsPmieducarTurmaModulo();
         $registros = $obj->lista($this->cod_turma);
         if ($registros) {
             foreach ($registros as $campo) {
                 $this->turma_modulo[$campo[$qtd_modulo]]['sequencial_'] = $campo['sequencial'];
                 $this->turma_modulo[$campo[$qtd_modulo]]['ref_cod_modulo_'] = $campo['ref_cod_modulo'];
                 $this->turma_modulo[$campo[$qtd_modulo]]['data_inicio_'] = dataFromPgToBr($campo['data_inicio']);
                 $this->turma_modulo[$campo[$qtd_modulo]]['data_fim_'] = dataFromPgToBr($campo['data_fim']);
                 $qtd_modulo++;
             }
         }
     }
     if ($_POST["ref_cod_modulo"] && $_POST["data_inicio"] && $_POST["data_fim"]) {
         $this->turma_modulo[$qtd_modulo]["sequencial_"] = $qtd_modulo;
         $this->turma_modulo[$qtd_modulo]["ref_cod_modulo_"] = $_POST["ref_cod_modulo"];
         $this->turma_modulo[$qtd_modulo]["data_inicio_"] = $_POST["data_inicio"];
         $this->turma_modulo[$qtd_modulo]["data_fim_"] = $_POST["data_fim"];
         $qtd_modulo++;
         unset($this->ref_cod_modulo);
         unset($this->data_inicio);
         unset($this->data_fim);
     }
     $this->campoOculto("excluir_modulo", "");
     $qtd_modulo = 1;
     unset($aux);
     if ($this->turma_modulo) {
         foreach ($this->turma_modulo as $campo) {
             if ($this->excluir_modulo == $campo['sequencial_']) {
                 $this->turma_modulo[$campo['sequencial']] = NULL;
                 $this->excluir_modulo = NULL;
             } else {
                 $obj_modulo = new clsPmieducarModulo($campo['ref_cod_modulo_']);
                 $det_modulo = $obj_modulo->detalhe();
                 $nm_tipo_modulo = $det_modulo['nm_tipo'];
                 $this->campoTextoInv('ref_cod_modulo_' . $campo['sequencial_'], '', $nm_tipo_modulo, 30, 255, FALSE, FALSE, TRUE, '', '', '', '', 'ref_cod_modulo');
                 $this->campoTextoInv('data_inicio_' . $campo['sequencial_'], '', $campo['data_inicio_'], 10, 10, FALSE, FALSE, TRUE, '', '', '', '', '');
                 $this->campoTextoInv('data_fim_' . $campo['sequencial_'], '', $campo['data_fim_'], 10, 10, FALSE, FALSE, FALSE, '', "<a href='#' onclick=\"document.getElementById('excluir_modulo').value = '{$campo["sequencial_"]}'; document.getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>", '', '', '');
                 $aux[$qtd_modulo]['sequencial_'] = $qtd_modulo;
                 $aux[$qtd_modulo]['ref_cod_modulo_'] = $campo['ref_cod_modulo_'];
                 $aux[$qtd_modulo]['data_inicio_'] = $campo['data_inicio_'];
                 $aux[$qtd_modulo]['data_fim_'] = $campo['data_fim_'];
                 $qtd_modulo++;
             }
         }
         unset($this->turma_modulo);
         $this->turma_modulo = $aux;
     }
     $this->campoOculto('turma_modulo', serialize($this->turma_modulo));
     // Módulo
     // foreign keys
     $opcoes = array('' => 'Selecione');
     // Editar
     if ($this->ref_cod_instituicao) {
         $objTemp = new clsPmieducarModulo();
         $objTemp->setOrderby('nm_tipo ASC');
         $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes[$registro['cod_modulo']] = $registro['nm_tipo'];
             }
         }
     }
     $this->campoLista('ref_cod_modulo', Portabilis_String_utils::toLatin1('Módulo'), $opcoes, $this->ref_cod_modulo, NULL, NULL, NULL, NULL, NULL, FALSE);
     $this->campoData('data_inicio', Portabilis_String_utils::toLatin1('Data Início'), $this->data_inicio, FALSE);
     $this->campoData('data_fim', 'Data Fim', $this->data_fim, FALSE);
     $this->campoOculto('incluir_modulo', '');
     $this->campoRotulo('bt_incluir_modulo', Portabilis_String_utils::toLatin1('Módulo'), "<a href='#' onclick=\"document.getElementById('incluir_modulo').value = 'S'; document.getElementById('tipoacao').value = ''; acao();\"><img src='imagens/nvp_bot_adiciona.gif' alt='adicionar' title='Incluir' border=0></a>");
     $this->campoQuebra2();
     if ($_POST['turma_dia_semana']) {
         $this->turma_dia_semana = unserialize(urldecode($_POST['turma_dia_semana']));
     }
     if (is_numeric($this->cod_turma) && !$_POST) {
         $obj = new clsPmieducarTurmaDiaSemana();
         $registros = $obj->lista(NULL, $this->cod_turma);
         if ($registros) {
             foreach ($registros as $campo) {
                 $aux['dia_semana_'] = $campo['dia_semana'];
                 $aux['hora_inicial_'] = $campo['hora_inicial'];
                 $aux['hora_final_'] = $campo['hora_final'];
                 $this->turma_dia_semana[] = $aux;
             }
         }
     }
     unset($aux);
     if ($_POST['dia_semana'] && $_POST['ds_hora_inicial'] && $_POST['ds_hora_final']) {
         $aux['dia_semana_'] = $_POST['dia_semana'];
         $aux['hora_inicial_'] = $_POST['ds_hora_inicial'];
         $aux['hora_final_'] = $_POST['ds_hora_final'];
         $this->turma_dia_semana[] = $aux;
         unset($this->dia_semana);
         unset($this->ds_hora_inicial);
         unset($this->ds_hora_final);
     }
     $this->campoOculto('excluir_dia_semana', '');
     unset($aux);
     if ($this->turma_dia_semana) {
         foreach ($this->turma_dia_semana as $key => $dias_semana) {
             if ($this->excluir_dia_semana == $dias_semana['dia_semana_']) {
                 unset($this->turma_dia_semana[$key]);
                 unset($this->excluir_dia_semana);
             } else {
                 $nm_dia_semana = $this->dias_da_semana[$dias_semana['dia_semana_']];
                 $this->campoTextoInv('dia_semana_' . $dias_semana['dia_semana_'], '', $nm_dia_semana, 8, 8, FALSE, FALSE, TRUE, '', '', '', '', 'dia_semana');
                 $this->campoTextoInv('hora_inicial_' . $dias_semana['dia_semana_'], '', $dias_semana['hora_inicial_'], 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_inicial_');
                 $this->campoTextoInv('hora_final_' . $dias_semana['dia_semana_'], '', $dias_semana['hora_final_'], 5, 5, FALSE, FALSE, FALSE, '', "<a href='#' onclick=\"document.getElementById('excluir_dia_semana').value = '{$dias_semana["dia_semana_"]}'; document.getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>", '', '', 'ds_hora_final_');
                 $aux['dia_semana_'] = $dias_semana['dia_semana_'];
                 $aux['hora_inicial_'] = $dias_semana['hora_inicial_'];
                 $aux['hora_final_'] = $dias_semana['hora_final_'];
             }
         }
     }
     $this->campoOculto('turma_dia_semana', serialize($this->turma_dia_semana));
     if (class_exists('clsPmieducarTurmaDiaSemana')) {
         $opcoes = $this->dias_da_semana;
     } else {
         echo '<!--\\nErro\\nClasse clsPmieducarTurmaDiaSemana não encontrada\\n-->';
         $opcoes = array('' => Portabilis_String_utils::toLatin1('Erro na geração'));
     }
     $this->campoLista('dia_semana', 'Dia Semana', $opcoes, $this->dia_semana, NULL, false, '', '', false, false);
     $this->campoHora('ds_hora_inicial', 'Hora Inicial', $this->ds_hora_inicial, FALSE);
     $this->campoHora('ds_hora_final', 'Hora Final', $this->ds_hora_final, FALSE);
     $this->campoOculto('incluir_dia_semana', '');
     $this->campoRotulo('bt_incluir_dia_semana', 'Dia Semana', "<a href='#' onclick=\"document.getElementById('incluir_dia_semana').value = 'S'; document.getElementById('tipoacao').value = ''; acao();\"><img src='imagens/nvp_bot_adiciona.gif' alt='adicionar' title='Incluir' border=0></a>");
     $this->campoOculto('padrao_ano_escolar', $this->padrao_ano_escolar);
     $this->acao_enviar = 'valida()';
 }
 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';
     $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>";
 }
Exemplo n.º 17
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "S&eacute;rie - Listagem";
     // passa todos os valores obtidos no GET para atributos do objeto
     foreach ($_GET as $var => $val) {
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $lista_busca = array('S&eacute;rie', 'Curso');
     $obj_permissoes = new clsPermissoes();
     $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = 'Institui&ccedil;&atilde;o';
     }
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     $get_curso = true;
     include 'include/pmieducar/educar_campo_lista.php';
     // outros Filtros
     $this->campoTexto('nm_serie', 'S&eacute;rie', $this->nm_serie, 30, 255, FALSE);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_serie = new clsPmieducarSerie();
     $obj_serie->setOrderby("nm_serie ASC");
     $obj_serie->setLimite($this->limite, $this->offset);
     $lista = $obj_serie->lista(NULL, NULL, NULL, $this->ref_cod_curso, $this->nm_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $total = $obj_serie->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // Pega detalhes de foreign_keys
             $obj_ref_cod_curso = new clsPmieducarCurso($registro["ref_cod_curso"]);
             $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
             $registro["ref_cod_curso"] = $det_ref_cod_curso["nm_curso"];
             $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
             $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
             $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             $lista_busca = array("<a href=\"educar_serie_det.php?cod_serie={$registro["cod_serie"]}\">{$registro["nm_serie"]}</a>", "<a href=\"educar_serie_det.php?cod_serie={$registro["cod_serie"]}\">{$registro["ref_cod_curso"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_serie_det.php?cod_serie={$registro["cod_serie"]}\">{$registro["ref_cod_instituicao"]}</a>";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_serie_lst.php", $total, $_GET, $this->nome, $this->limite);
     if ($obj_permissoes->permissao_cadastra(583, $this->pessoa_logada, 3)) {
         $this->acao = "go(\"educar_serie_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de s&eacute;ries"));
     $this->enviaLocalizacao($localizacao->montar());
 }
    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>";
    }