/** * @see Core_Controller_Page_EditController#_save() */ protected function _save() { // Instancia o objeto correto e passa para o service if ($this->_regra->get('parecerDescritivo') == RegraAvaliacao_Model_TipoParecerDescritivo::ANUAL_COMPONENTE) { $parecer = new Avaliacao_Model_ParecerDescritivoComponente(array('componenteCurricular' => $this->getRequest()->componenteCurricular, 'parecer' => $this->getRequest()->parecer, 'etapa' => $this->getRequest()->etapa)); } else { $parecer = new Avaliacao_Model_ParecerDescritivoGeral(array('parecer' => $this->getRequest()->parecer, 'etapa' => $this->getRequest()->etapa)); } $this->_service->addParecer($parecer); try { $this->_service->save(); } catch (CoreExt_Service_Exception $e) { // Ok. Não pode promover por se tratar de progressão manual ou por estar em andamento } catch (Exception $e) { $this->mensagem = 'Erro no preenchimento do formulário. '; return FALSE; } return TRUE; }
/** * @see Core_Controller_Page_EditController#_save() */ protected function _save() { $nota = new Avaliacao_Model_NotaComponente(array('componenteCurricular' => $this->getRequest()->componenteCurricular, 'nota' => urldecode($this->getRequest()->nota), 'etapa' => $this->getRequest()->etapa)); $this->_service->addNota($nota); if ($this->_regra->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::POR_COMPONENTE) { $quantidade = 0 < $this->getRequest()->falta ? (int) $this->getRequest()->falta : 0; $falta = new Avaliacao_Model_FaltaComponente(array('componenteCurricular' => $this->getRequest()->componenteCurricular, 'quantidade' => $quantidade, 'etapa' => $this->getRequest()->etapa)); $this->_service->addFalta($falta); } if (trim($this->getRequest()->parecer) != '' && $this->_regra->get('parecerDescritivo') == RegraAvaliacao_Model_TipoParecerDescritivo::ETAPA_COMPONENTE) { $parecer = new Avaliacao_Model_ParecerDescritivoComponente(array('componenteCurricular' => $this->getRequest()->componenteCurricular, 'parecer' => $this->getRequest()->parecer, 'etapa' => $this->getRequest()->etapa)); $this->_service->addParecer($parecer); } try { $this->_service->save(); } catch (CoreExt_Service_Exception $e) { // Ok. Não pode promover por se tratar de progressão manual ou por estar em andamento } catch (Exception $e) { $this->mensagem = 'Erro no preenchimento do formulário. '; return FALSE; } return TRUE; }
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); }
/** * Finder para instâncias de TabelaArredondamento_Model_Tabela. Utiliza * o valor de instituição por instâncias que referenciem a mesma instituição. * * @param RegraAvaliacao_Model_Regra $instance * @return array */ public function findTabelaArredondamento(RegraAvaliacao_Model_Regra $instance) { $where = array(); if (isset($instance->instituicao)) { $where['instituicao'] = $instance->instituicao; } if (isset($instance->tipoNota)) { $where['tipoNota'] = $instance->get('tipoNota'); } return $this->getTabelaDataMapper()->findAll(array(), $where); }