function renderHTML() { if ($_POST) { foreach ($_POST as $key => $value) { $this->{$key} = $value; } } if (empty($this->cursos)) { echo '<script> alert("Erro ao gerar relatório!\\nNenhum curso selecionado!"); window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1)); </script>'; return true; } //Dias previstos do mes // Qual o primeiro dia do mes $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano); // Quantos dias tem o mes $NumeroDiasMes = date('t', $primeiroDiaDoMes); //informacoes primeiro dia do mes $dateComponents = getdate($primeiroDiaDoMes); // What is the name of the month in question? $NomeMes = $mesesDoAno[$dateComponents['mon']]; // What is the index value (0-6) of the first day of the // month in question. $DiaSemana = $dateComponents['wday']; $cursos_in = ''; $conc = ''; foreach ($this->cursos as $curso) { $cursos_in .= "{$conc}{$curso}"; $conc = ","; } $db = new clsbanco(); $consulta = "SELECT (SELECT coalesce(min(s.idade_inicial),0) as min\n\t\t\t\t\t\t\t\t FROM pmieducar.serie s\n\t\t\t\t\t\t\t\t ,pmieducar.turma t\n\t\t\t\t\t\t\t\t WHERE s.cod_serie = t.ref_ref_cod_serie\n\t\t\t\t\t\t\t\t AND s.ref_cod_curso in ({$cursos_in} )) as min\n\t\t\t\t\t\t\t\t,\n\t\t\t\t\t\t\t\t(SELECT coalesce(max(s.idade_final),0) as max\n\t\t\t\t\t\t\t\t FROM pmieducar.serie s\n\t\t\t\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in})) as max"; $db->Consulta($consulta); $db->ProximoRegistro(); $max_min = $db->Tupla(); $consulta = "SELECT distinct\n\t\t\t\t\t coalesce(s.idade_inicial,0) as min\n\t\t\t\t\t ,coalesce(s.idade_final,0) as max\n\t\t\t\t\t FROM pmieducar.serie s\n\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in} )"; $faixa_min_max = array(); $db->Consulta($consulta); while ($db->ProximoRegistro()) { $numeros[] = $db->Tupla(); } $faixa_min_max = array($numeros[0][0], $numeros[count($numeros) - 1][1]); $consulta2 = "SELECT distinct\n\t\t\t\t\t s.idade_inicial\n\t\t\t\t\t FROM pmieducar.serie s\n\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in} )\n\n\t\t\t \t\t UNION\n\n\t\t\t\t\t SELECT distinct\n\t\t\t\t\t s.idade_final\n\t\t\t\t\t FROM pmieducar.serie s\n\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in} ) "; $idades = array(); $db->Consulta($consulta2); while ($db->ProximoRegistro()) { $idades[] = array_shift($db->Tupla()); } $consulta3 = "SELECT distinct\n\t\t\t\t\t s.idade_inicial\n\t\t\t\t\t FROM pmieducar.serie s\n\t\t\t\t\t WHERE s.ref_cod_curso in ( {$cursos_in} )"; $db->Consulta($consulta3); while ($db->ProximoRegistro()) { $faixa[] = $db->Tupla(); } $ultima_idade = null; while (sizeof($idades)) { $idade = array_shift($idades); if ($idade == $faixa_min_max[0]) { $ultima_idade = array_shift($idades); $this->array_ano_idade[] = array('ano' => $this->ano - $idade . " - " . ($this->ano - $ultima_idade), 'idade' => $idade . " - " . $ultima_idade, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); if (!empty($idades)) { $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 1, 'idade' => $ultima_idade + 1, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 2, 'idade' => $ultima_idade + 2, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 3, 'idade' => $ultima_idade + 3, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $ultima_idade = $ultima_idade + 3; while ($ultima_idade > $idades[0] + 3) { $ultima_idade = array_shift($idades); } } elseif (sizeof($this->array_ano_idade) == 1) { $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 1, 'idade' => $ultima_idade + 1, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 2, 'idade' => $ultima_idade + 2, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $this->array_ano_idade[] = array('ano' => $this->ano - $ultima_idade - 3, 'idade' => $ultima_idade + 3, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $ultima_idade = $ultima_idade + 3; } } foreach ($faixa as $key => $value) { for ($ct = $ultima_idade + 1; $ct <= $idade + 3; $ct++) { $this->array_ano_idade[] = array('ano' => $this->ano - $ct, 'idade' => (sizeof($idades) === 0 && $ct == $idade + 3 ? "" : "") . $ct, 'total_serie' => 0, 'total_geral' => 0, 'total_geral_ambos' => 0); $ultima_idade = $ct; } break; } $ultima_idade = idade > $ultima_idade ? $idade : $ultima_idade; } $altura2 = 300; $altura = 50; $expande = 24; $flag_defasado = 1; $fonte = 'arial'; $corTexto = '#000000'; $obj_lst_escola = new clsPmieducarEscola(); $lst_escola = $obj_lst_escola->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1); if ($lst_escola) { $this->pdf = new clsPDF("Demonstrativo de Alunos Defasados Idade/Série - {$this->ano}", "Demonstrativo de Alunos Defasados Idade/Série - {$this->ano}", "A4", "", false, false); $this->pdf->largura = 842.0; $this->pdf->altura = 595.0; $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao); $det_instituicao = $obj_instituicao->detalhe(); $this->nm_instituicao = $det_instituicao['nm_instituicao']; for ($ct_analfabeto = 0; $ct_analfabeto <= 2; $ct_analfabeto++) { // $total_geral_alunos = 0; // $total_geral_turmas = 0; // $total_turmas_serie = 0; // $total_alunos_serie = 0; $this->pdf->OpenPage(); $this->addCabecalho(); $this->novaPagina($ct_analfabeto); if ($ct_analfabeto <= 1) { $total_geral_alunos = 0; $total_geral_turmas = 0; } foreach ($this->array_ano_idade as $key => $value) { $this->array_ano_idade[$key]['total_geral'] = 0; $this->array_ano_idade[$key]['total_serie'] = 0; } $altura_linha = 23; $inicio_escrita_y = 175; foreach ($this->cursos as $curso) { $obj = new clsPmieducarSerie(); $obj->setOrderby("idade_inicial,idade_final"); $lista_serie_curso = $obj->lista(null, null, null, $curso, null, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao); //$obj_curso = new clsPmieducarCurso($curso); //$det_curso = $obj_curso->detalhe(); if ($lista_serie_curso) { foreach ($lista_serie_curso as $serie) { foreach ($this->array_ano_idade as $key => $value) { $this->array_ano_idade[$key]['total_serie'] = 0; } $total_turmas_serie = 0; //$total_alunos_serie = 0; $flagTurmas = 0; $flagAlunos = 0; foreach ($lst_escola as $escola) { $this->ref_cod_escola = $escola['cod_escola']; $obj_calendario = new clsPmieducarEscolaAnoLetivo(); $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null); if (!$lista_calendario) { continue; } /** * busca todas as matriculas de cada curso */ if (empty($serie['idade_inicial']) || empty($serie['idade_final'])) { continue; } //$subtotal_serie = 0; $total_turmas_serie = 0; // $total_alunos_serie = 0; if ($ct_analfabeto <= 1) { $obj_turma = new clsPmieducarTurma(); if (!empty($_POST["ref_cod_escola"])) { $turmas = count($obj_turma->lista(null, null, null, $serie['cod_serie'], $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1)); $total_geral_turmas = $total_geral_turmas + $turmas; } else { if ($flagTurmas == 0) { $turmas = count($obj_turma->lista(null, null, null, $serie['cod_serie'], null, null, null, null, null, null, null, null, null, null, 1)); $total_geral_turmas = $total_geral_turmas + $turmas; } $flagTurmas++; } //$total_geral_turmas = $total_geral_turmas + $turmas; $total_turmas_serie = $turmas; $total_geral_turmas_ambos = $total_geral_turmas; $obj_matricula = new clsPmieducarMatricula(); $lista_matricula_serie = $obj_matricula->lista(null, null, $this->ref_cod_escola, $serie['cod_serie'], null, null, null, array(1, 2, 3), null, null, null, null, 1, $this->ano, $curso, $this->ref_cod_instituicao, null, null, null, $ct_analfabeto, null, null, null, null, null, null, null, $this->mes, true); $total_geral_alunos += $obj_matricula->_total; $total_alunos_serie = $obj_matricula->_total; $total_geral_alunos_ambos = (int) $total_geral_alunos_ambos + $obj_matricula->_total; if ($ct_analfabeto == 1) { $analfabetos[$serie['cod_serie']] = $analfabetos[$serie['cod_serie']] + $total_alunos_serie; } $total_alunos_serie_ambos[$serie['cod_serie']] = (int) $total_alunos_serie_ambos[$serie['cod_serie']] + $obj_matricula->_total; $total_turmas_serie_ambos[$serie['cod_serie']] = $turmas; } if ($lista_matricula_serie && $ct_analfabeto <= 1) { /** * busca dados da matricula de um aluno de uma turma de uma serie =p */ foreach ($lista_matricula_serie as $matricula) { //$obj_aluno = new clsPmieducarAluno(); //$det_aluno = array_shift($obj_aluno->lista($matricula['ref_cod_aluno'],null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true )); //$obj_fisica = new clsFisica($det_aluno['ref_idpes']); //$det_fisica = $obj_fisica->detalhe(); if ($matricula['data_nasc']) { $ano_nasc = explode("-", $matricula['data_nasc']); // $idade_aluno = date("Y") - $ano_nasc[0]; // <-- modificado $idade_aluno = $this->ano - $ano_nasc[0]; } //$obj_matricula_turma = new clsPmieducarMatriculaTurma(); //$det_matricula_turma = $obj_matricula_turma->lista($matricula['cod_matricula'],null,null,null,null,null,null,null,1,$serie['cod_serie'],$curso,$this->ref_cod_escola,$this->ref_cod_instituicao); foreach ($this->array_ano_idade as $key => $value) { if (strpos($value['idade'], "-") && is_numeric($idade_aluno)) { $idade = explode("-", $value['idade']); if ($idade_aluno > $serie['idade_final'] + $flag_defasado && $idade_aluno >= $idade[0] && $idade_aluno <= $idade[1] || $idade_aluno > $serie['idade_final'] + $flag_defasado && $key == count($this->array_ano_idade) - 1) { $this->array_ano_idade[$key]['total_serie'] += 1; $this->array_ano_idade[$key]['total_geral'] += 1; $this->array_ano_idade[$key]['total_geral_ambos'] += 1; break; } } elseif (is_numeric($idade_aluno)) { $idade = $value['idade']; if ($idade_aluno > $serie['idade_final'] + $flag_defasado && $idade_aluno == $idade || $idade_aluno >= $idade && $key == count($this->array_ano_idade) - 1) { $this->array_ano_idade[$key]['total_serie'] += 1; $this->array_ano_idade[$key]['total_geral'] += 1; $this->array_ano_idade[$key]['total_geral_ambos'] += 1; break; } } } } } } /** * linha */ $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 782, $altura_linha); //linha alfabetizados $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 695 + $expande, $altura_linha); //linha numero de alunos $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 90 + $expande, $altura_linha); //linha numero de turmas $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 60 + $expande, $altura_linha); //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura); //linha serie $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 55, $altura_linha); //posicao serie $serie_x = 35; $this->pdf->escreve_relativo($serie['nm_serie'], $serie_x, $inicio_escrita_y + 5, 50, 50, $fonte, 6, $corTexto, 'left'); //posicao numero turmas $turma_x = 30 + $expande; $total = $ct_analfabeto <= 1 ? $total_turmas_serie : $total_turmas_serie_ambos[$serie['cod_serie']]; $this->pdf->escreve_relativo($total, $turma_x - 5, $inicio_escrita_y + 5, 100, 50, $fonte, 10, $corTexto, 'center'); //posicao numero alunos $alunos_x = 40 + $expande; if (empty($_POST["ref_cod_escola"])) { $total = $total_alunos_serie_ambos[$serie['cod_serie']]; $total_alunos_serie = $total_alunos_serie_ambos[$serie['cod_serie']]; if ($ct_analfabeto == 1) { $total = $analfabetos[$serie['cod_serie']]; } } else { $total = $ct_analfabeto <= 1 ? $total_alunos_serie : $total_alunos_serie_ambos[$serie['cod_serie']]; } $this->pdf->escreve_relativo($total, $alunos_x + 15, $inicio_escrita_y + 5, 100, 40, $fonte, 10, $corTexto, 'center'); // $largura_quadrado = $incremental-5; //$this->qt_anos = 1; $largura_anos = 615; //$this->idade_inicial = 6; $array_ano_idade = array(); //$incremental = (int)($largura_anos/ $this->qt_anos); if (sizeof($this->array_ano_idade)) { $incremental = (int) ($largura_anos / sizeof($this->array_ano_idade)); } else { $incremental = 0; } $reta_ano_x = $alunos_x + 80; $largura_quadrado = $incremental - 5; //$incremental = (int)($largura_anos/ $this->qt_anos); // $reta_ano_x = $alunos_x + 85; $ajuste = 0; //for($ct = $this->ano - $this->idade_inicial ;$ct > $this->ano - $this->idade_inicial - $this->qt_anos;$ct--) foreach ($this->array_ano_idade as $key => $ano) { //ajuste2 $ajuste = 5; $total_valor = $ct_analfabeto <= 1 ? $ano["total_serie"] : $total_serie_ano["{$serie['cod_serie']}"][$key]; if ($ano['idade'] <= $serie['idade_final'] + $flag_defasado && $key < sizeof($this->array_ano_idade) - 1) { $this->pdf->quadrado_relativo($reta_ano_x, $inicio_escrita_y, $largura_quadrado + $ajuste + ($key == sizeof($this->array_ano_idade) - 1 ? -5 : 0), $altura_linha, 0.5, "#A1B3BD", ""); } else { $this->pdf->escreve_relativo($total_valor, $reta_ano_x + 1, $inicio_escrita_y + 5, $incremental, $altura_linha, $fonte, 10, $corTexto, 'center'); } $total_serie_ano["{$serie['cod_serie']}"][$key] = (int) $total_serie_ano["{$serie['cod_serie']}"][$key] + $ano["total_serie"]; //$anos_x += $incremental; $reta_ano_x += $incremental; //reta if ($key < sizeof($this->array_ano_idade) - 1) { $this->pdf->linha_relativa($reta_ano_x, $inicio_escrita_y, 0, $altura_linha); } else { $largura_quadrado += 4.5; } } $total_defasado_serie = 0; foreach ($this->array_ano_idade as $key => $value) { $total_defasado_serie += $this->array_ano_idade[$key]['total_serie']; } $total_alunos_serie = $total_alunos_serie == 0 ? 1 : $total_alunos_serie; if ($ct_analfabeto <= 1) { $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] = (int) $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] + $total_defasado_serie; $total_defasado_serie_ambos = (int) $total_defasado_serie_ambos + $total_defasado_serie; } $total_defasado_serie = $ct_analfabeto <= 1 ? $total_defasado_serie : $total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"]; //escreve total defasado serie $this->pdf->escreve_relativo($total_defasado_serie, 750, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); if (empty($_POST["ref_cod_escola"])) { if ($ct_analfabeto < 1) { $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } elseif ($ct_analfabeto == 1) { $total_alunos_serie = $analfabetos[$serie['cod_serie']]; $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } else { $this->pdf->escreve_relativo(round($total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] / $total_alunos_serie_ambos[$serie['cod_serie']] * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } } else { //escreve porcentagem if ($ct_analfabeto <= 1) { if ($total_alunos_serie) { $this->pdf->escreve_relativo(round($total_defasado_serie / $total_alunos_serie * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } else { $this->pdf->escreve_relativo(0 . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } } else { if ($total_alunos_serie_ambos[$serie['cod_serie']]) { $this->pdf->escreve_relativo(round($total_serie_ano["{$serie['cod_serie']}"]["total_defasado_serie"] / $total_alunos_serie_ambos[$serie['cod_serie']] * 100) . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } else { $this->pdf->escreve_relativo(0 . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); } } } $this->pdf->linha_relativa(780, $inicio_escrita_y, 0, 23); $inicio_escrita_y += 20; /** * */ } } } /** * TOTAL */ $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 782, $altura_linha); //linha alfabetizados $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 695 + $expande, $altura_linha); //linha numero de alunos $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 90 + $expande, $altura_linha); //linha numero de turmas $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 60 + $expande, $altura_linha); //$this->pdf->quadrado_relativo( 30, 125, 170 + $expande + 30, $altura); //linha serie $this->pdf->quadrado_relativo(30, $inicio_escrita_y, 55, $altura_linha); //posicao serie $serie_x = 35; if ($ct_analfabeto <= 1) { $texto = $ct_analfabeto == 0 ? "Total\nAlfabetizado" : "Total\nNão-Alfabetizado"; } else { $texto = "Total Geral"; } $this->pdf->escreve_relativo($texto, $serie_x, $inicio_escrita_y + 5, 50, 50, $fonte, 6, $corTexto, 'left'); //posicao numero turmas $turma_x = 25 + $expande; $this->pdf->escreve_relativo($total_geral_turmas, $turma_x, $inicio_escrita_y + 5, 100, 50, $fonte, 10, $corTexto, 'center'); //posicao numero alunos $alunos_x = 40 + $expande; $total_geral_alunos = $ct_analfabeto <= 1 ? $total_geral_alunos : $total_geral_alunos_ambos; $this->pdf->escreve_relativo($total_geral_alunos, $alunos_x + 15, $inicio_escrita_y + 5, 100, 40, $fonte, 10, $corTexto, 'center'); $total_defasados = 0; $campo_total = $ct_analfabeto <= 1 ? "total_geral" : "total_geral_ambos"; foreach ($this->array_ano_idade as $key => $value) { $total_defasados += $this->array_ano_idade[$key]["{$campo_total}"]; } if ($total_geral_alunos > 0) { $media = $total_defasados / $total_geral_alunos * 100; } else { $media = 0; } $this->pdf->escreve_relativo($total_defasados, 750, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); $this->pdf->escreve_relativo($media . "%", 780, $inicio_escrita_y + 5, 30, $altura, $fonte, 10, $corTexto, 'center'); //$this->qt_anos = 1; $largura_anos = 615; //$this->idade_inicial = 6; $array_ano_idade = array(); //$incremental = (int)($largura_anos/ $this->qt_anos); if (sizeof($this->array_ano_idade) > 0) { $incremental = (int) ($largura_anos / sizeof($this->array_ano_idade)); } else { $incremental = 0; } $reta_ano_x = $alunos_x + 80; $largura_quadrado = $incremental - 5; //$incremental = (int)($largura_anos/ $this->qt_anos); $reta_ano_x = $alunos_x + 85; $ajuste = 0; //for($ct = $this->ano - $this->idade_inicial ;$ct > $this->ano - $this->idade_inicial - $this->qt_anos;$ct--) $campo_total = $ct_analfabeto <= 1 ? "total_geral" : "total_geral_ambos"; foreach ($this->array_ano_idade as $key => $ano) { //ajuste2 $this->pdf->escreve_relativo($ano["{$campo_total}"], $reta_ano_x - 5, $inicio_escrita_y + 5, $incremental, $altura_linha, $fonte, 10, $corTexto, 'center'); //$this->pdf->quadrado_relativo( $reta_ano_x - $ajuste,$inicio_escrita_y, $largura_quadrado + $ajuste + ($key == sizeof($array_ano_idade)-1? 5 : 0), $altura_linha,0.5,"#A1B3BD",""); $ajuste = 5; //$anos_x += $incremental; $reta_ano_x += $incremental; //reta if ($key < sizeof($this->array_ano_idade) - 1) { $this->pdf->linha_relativa($reta_ano_x - 5, $inicio_escrita_y, 0, $altura_linha); } else { $largura_quadrado += 4.5; } } $this->pdf->linha_relativa(780, $inicio_escrita_y, 0, 23); $inicio_escrita_y += 20; /** * */ // }//* *akiii if ($ct_analfabeto == 1) { $this->rodape(); } $this->pdf->ClosePage(); /** * */ } } $this->get_link = $this->pdf->GetLink(); //header( "location: " . $this->pdf->GetLink() ); $this->pdf->CloseFile(); echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>"; echo "<html><center>Se o download não iniciar automaticamente <br /><a target='blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>"; }
function 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>"; }