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; } $fonte = 'arial'; $corTexto = '#000000'; if (!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)) { print $this->getError(); return; } // Instituição $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao); $nm_instituicao = $obj_instituicao->detalhe(); $nm_instituicao = $nm_instituicao['nm_instituicao']; // Escola $obj_escola = new clsPmieducarEscola($this->ref_cod_escola); $nm_escola = $obj_escola->detalhe(); $nm_escola = $nm_escola['nome']; // Curso $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); $obj_curso->setCamposLista('media, media_exame, nm_curso'); $det_curso = $obj_curso->detalhe(); $nm_curso = $det_curso['nm_curso']; // Série $obj_serie = new clsPmieducarSerie($this->ref_cod_serie); $obj_serie->setCamposLista('nm_serie'); $det_serie = $obj_serie->detalhe(); $nm_serie = $det_serie['nm_serie']; $regraId = $det_serie['regra_avaliacao_id']; // Turma $obj_turma = new clsPmieducarTurma($this->ref_cod_turma); $obj_turma->setCamposLista('nm_turma'); $det_turma = $obj_turma->detalhe(); $nm_turma = $det_turma['nm_turma']; // Situação da matrícula do aluno (aprovado) $situacao = $this->ano == date('Y') ? App_Model_MatriculaSituacao::EM_ANDAMENTO : implode(', ', array(App_Model_MatriculaSituacao::APROVADO, App_Model_MatriculaSituacao::REPROVADO, App_Model_MatriculaSituacao::EM_ANDAMENTO)); $sql = sprintf(' SELECT m.cod_matricula, ( SELECT nome FROM pmieducar.aluno al, cadastro.pessoa WHERE al.cod_aluno = m.ref_cod_aluno AND al.ref_idpes = pessoa.idpes ) AS nome FROM pmieducar.matricula m, pmieducar.matricula_turma mt WHERE mt.ref_cod_turma = %d AND mt.ref_cod_matricula = m.cod_matricula AND m.aprovado IN (%s) AND mt.ativo = 1 AND m.ativo = 1 AND m.ano = %d ORDER BY nome', $this->ref_cod_turma, $situacao, $this->ano); $db = new clsBanco(); $db->Consulta($sql); // Mappers $regraMapper = new RegraAvaliacao_Model_RegraDataMapper(); $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); $regra = $regraMapper->find($regraId); if (is_null($regra->formulaRecuperacao)) { $regra = 'A regra de avaliação dessa série não possui uma fórmula de cálculo de recuperação.'; } else { $regra = sprintf('Recuperação: %s; fórmula: %s.', $regra->formulaRecuperacao, $regra->formulaRecuperacao->formulaMedia); } if ($db->Num_Linhas()) { $alunos = array(); // Instancia objeto de relatório padrão $detalhes = sprintf('%s%s%s%s%s%s%s - Turma: %s %s', $nm_instituicao, "\n", $nm_escola, "\n", $nm_curso, "\n", $nm_serie, $nm_turma, date('d/m/Y')); $relatorio = new relatorios('Relação de alunos em exame', 210, FALSE, 'Relação de alunos em exame', 'A4', $detalhes); $relatorio->exibe_produzido_por = FALSE; $relatorio->setMargem(20, 20, 20, 20); $relatorio->novalinha(array(sprintf('Nome Escola: %s Ano: %d', $nm_escola, $this->ano)), 0, 12, TRUE, 'arial', FALSE, '#000000', '#d3d3d3', '#FFFFFF', FALSE, TRUE); $relatorio->novalinha(array(sprintf('Curso: %s Ano/Série: %s Turma: %s', $nm_curso, $nm_serie, $nm_turma)), 0, 12, TRUE, 'arial', FALSE, '#000000', '#d3d3d3', '#FFFFFF', FALSE, TRUE); $relatorio->novalinha(array(sprintf('%s Data: %s', $regra, date('d/m/Y'))), 0, 12, TRUE, 'arial', FALSE, '#000000', '#d3d3d3', '#FFFFFF', FALSE, TRUE); $relatorio->novalinha(array('Mat.', 'Nome Aluno', 'Componentes', 'Média', 'Nota necessária (mín.)'), 0, 12, TRUE, 'arial', array(30, 180, 150, 60), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE); while ($db->ProximoRegistro()) { list($cod_matricula, $nome_aluno) = $db->Tupla(); $boletim = new Avaliacao_Service_Boletim(array('matricula' => $cod_matricula, 'RegraDataMapper' => $regraMapper, 'ComponenteDataMapper' => $componenteMapper)); $componentes = $boletim->getComponentes(); $medias = $boletim->getMediasComponentes(); $situacao = $boletim->getSituacaoComponentesCurriculares(); if ($situacao->situacao != App_Model_MatriculaSituacao::EM_EXAME) { continue; } foreach ($situacao->componentesCurriculares as $id => $situacaoComponente) { if ($situacaoComponente->situacao != App_Model_MatriculaSituacao::EM_EXAME) { continue; } $mediaRecuperacao = $boletim->preverNotaRecuperacao($id); if (!is_null($mediaRecuperacao)) { $previsao = sprintf('%s (%.2f)', $mediaRecuperacao->nome, $mediaRecuperacao->valorMinimo); } else { $previsao = 'Nenhuma nota possível.'; } $data = array($cod_matricula, $nome_aluno, $componentes[$id], $medias[$id][0]->mediaArredondada, $previsao); $relatorio->novalinha($data, 0, 12, FALSE, 'arial', array(30, 180, 150, 60), '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE); } } } else { print $this->getError(); return; } $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); }