Ejemplo n.º 1
0
 /**
  * @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;
 }
Ejemplo n.º 2
0
 /**
  * @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;
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }
 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);
 }
Ejemplo n.º 5
0
 public function testGetRegraAvaliacaoPorMatricula()
 {
     $expected = new RegraAvaliacao_Model_Regra(array('id' => 1, 'nome' => 'Regra geral', 'tipoNota' => RegraAvaliacao_Model_Nota_TipoValor::NUMERICA, 'tipoProgressao' => RegraAvaliacao_Model_TipoProgressao::CONTINUADA, 'tipoPresenca' => RegraAvaliacao_Model_TipoPresenca::POR_COMPONENTE, 'media' => 6, 'tabelaArredondamento' => $this->_getTabelaArredondamento()));
     // Marca como "old", para indicar que foi recuperado via CoreExt_DataMapper
     $expected->markOld();
     // Retorna para matrícula
     $returnMatricula = array('cod_matricula' => 1, 'ref_ref_cod_escola' => 1, 'ref_ref_cod_serie' => 1, 'ref_cod_curso' => 1, 'aprovado' => 1);
     // Mock para clsPmieducarMatricula
     $matriculaMock = $this->getCleanMock('clsPmieducarMatricula');
     $matriculaMock->expects($this->any())->method('detalhe')->will($this->returnValue($returnMatricula));
     // Registra a instância no repositório de classes de CoreExt_Entity
     App_Model_IedFinder::addClassToStorage('clsPmieducarMatricula', $matriculaMock, NULL, TRUE);
     // Mock para RegraAvaliacao_Model_DataMapper
     $mapperMock = $this->getCleanMock('RegraAvaliacao_Model_RegraDataMapper');
     $mapperMock->expects($this->once())->method('find')->with(1)->will($this->returnValue($expected));
     $regraAvaliacao = App_Model_IedFinder::getRegraAvaliacaoPorMatricula(1, $mapperMock);
     $this->assertEquals($expected, $regraAvaliacao, '::getRegraAvaliacaoPorMatricula() retorna a regra de avaliação de uma matrícula.');
 }