diff --git a/ieducar/modules/Avaliacao/Assets/Javascripts/Diario.js b/ieducar/modules/Avaliacao/Assets/Javascripts/Diario.js index 91055e0..f049ffa 100644 --- a/ieducar/modules/Avaliacao/Assets/Javascripts/Diario.js +++ b/ieducar/modules/Avaliacao/Assets/Javascripts/Diario.js @@ -624,6 +624,15 @@ function notaExameField(matriculaId, componenteCurricularId, value) { value); } +function notaNecessariaField(matriculaId, componenteCurricularId, value){ + if (value=='' || value==undefined) value = '-'; + var $notaNecessariaField = $j('').addClass('nn-matricula-cc') + .addClass('nn-matricula-' + matriculaId + '-cc') + .attr('id', 'nn-matricula-' + matriculaId + '-cc-' + componenteCurricularId) + .text(value); + setNextTabIndex($notaNecessariaField); + return $j('').html($notaNecessariaField).addClass('center'); +} function faltaField(matriculaId, componenteCurricularId, value) { var $faltaField = $j('').addClass('falta-matricula-cc') @@ -676,10 +685,17 @@ function updateComponenteCurricular($targetElement, matriculaId, cc) { if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()) { var $fieldNotaExame = notaExameField(matriculaId, cc.id, cc.nota_exame); - if (cc.nota_exame == '' && safeToLowerCase(cc.situacao) != 'em exame') + var $fieldNN = notaNecessariaField(matriculaId, cc.id, cc.nota_necessaria_exame); + + if (cc.nota_exame == '' && safeToLowerCase(cc.situacao) != 'em exame'){ $fieldNotaExame.children().hide(); + $fieldNN.children().text('-'); + } $fieldNotaExame.appendTo($targetElement); + + // Adiciona campo com nota necessária + $fieldNN.appendTo($targetElement); } } @@ -699,8 +715,10 @@ function updateComponenteCurricularHeaders($targetElement, $tagElement) { if (useNota) { $tagElement.clone().addClass('center').html('Nota').appendTo($targetElement); - if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()) + if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()){ $tagElement.clone().addClass('center').html('Nota exame').appendTo($targetElement); + $tagElement.clone().addClass('center').html(safeUtf8Decode('Nota necessária no exame')).appendTo($targetElement); + } } $tagElement.clone().addClass('center').html('Falta').appendTo($targetElement); @@ -779,6 +797,7 @@ function updateResourceRow(dataResponse) { var $situacaoField = $j('#situacao-matricula-' + matriculaId + '-cc-' + ccId); var $fieldNotaExame = $j('#nota-exame-matricula-' + matriculaId + '-cc-' + ccId); + var $fieldNN = $j('#nn-matricula-' + matriculaId + '-cc-' + ccId); $situacaoField.html(dataResponse.situacao); colorizeSituacaoTd($situacaoField.closest('td'), dataResponse.situacao); @@ -788,9 +807,14 @@ function updateResourceRow(dataResponse) { $fieldNotaExame.show(); $fieldNotaExame.focus(); + $fieldNN.text(dataResponse.nota_necessaria_exame); } - else if($fieldNotaExame.val() == '' && safeToLowerCase(dataResponse.situacao) != 'em exame') + else if($fieldNotaExame.val() == '' && safeToLowerCase(dataResponse.situacao) != 'em exame'){ $fieldNotaExame.hide(); + $fieldNN.text('-'); + }else{ + $fieldNN.text(dataResponse.nota_necessaria_exame); + } } function colorizeSituacaoTd(tdElement, situacao) { diff --git a/ieducar/modules/Avaliacao/Service/Boletim.php b/ieducar/modules/Avaliacao/Service/Boletim.php index 9a95c1a..0445c1b 100644 --- a/ieducar/modules/Avaliacao/Service/Boletim.php +++ b/ieducar/modules/Avaliacao/Service/Boletim.php @@ -2269,6 +2269,7 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable */ public function preverNotaRecuperacao($id) { + /* if (is_null($this->getRegra()->formulaRecuperacao) || !isset($this->_notasComponentes[$id])) { return NULL; } @@ -2293,7 +2294,36 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable $data['formulaValues']['E' . $nota->etapa] = $nota->nota; } - return $this->getRegra()->tabelaArredondamento->predictValue($formula, $data); + return $this->getRegra()->tabelaArredondamento->predictValue($formula, $data); */ + + if (is_null($this->getRegra()->formulaRecuperacao) || !isset($this->_notasComponentes[$id])) { + return NULL; + } + + $notas = $this->_notasComponentes[$id]; + + unset($notas[$this->getOption('etapas')]); + + $somaEtapas = array_sum(CoreExt_Entity::entityFilterAttr($notas, 'etapa', 'nota')); + + $formula = $this->getRegra()->formulaRecuperacao; + + $data = array( + 'Se' => $somaEtapas, + 'Et' => $this->getOption('etapas'), + 'Rc' => NULL ); + + foreach ($notas as $nota) { + $data['E' . $nota->etapa] = $nota->nota; + } + + for($i = 0.1 ; $i<=10; $i+=0.1){ + $data['Rc']=$i; + if ($this->getRegra()->formulaRecuperacao->execFormulaMedia($data) >= $this->getRegra()->mediaRecuperacao) + return $i; + } + + return null; } /** diff --git a/ieducar/modules/Avaliacao/Views/DiarioApiController.php b/ieducar/modules/Avaliacao/Views/DiarioApiController.php index faa0403..d523f08 100644 --- a/ieducar/modules/Avaliacao/Views/DiarioApiController.php +++ b/ieducar/modules/Avaliacao/Views/DiarioApiController.php @@ -404,6 +404,7 @@ class DiarioApiController extends ApiCoreController $this->appendResponse('componente_curricular_id', $this->getRequest()->componente_curricular_id); $this->appendResponse('matricula_id', $this->getRequest()->matricula_id); $this->appendResponse('situacao', $this->getSituacaoMatricula()); + $this->appendResponse('nota_necessaria_exame', $this->getNotaNecessariaExame($this->getRequest()->componente_curricular_id)); } @@ -752,7 +753,7 @@ class DiarioApiController extends ApiCoreController $componente['nome'] = $this->safeString(strtoupper($_componente->get('nome')), false); $componente['nota_atual'] = $this->getNotaAtual($etapa = null, $componente['id']); $componente['nota_exame'] = $this->getNotaExame($componente['id']); - //$componente['nota_necessaria_exame'] = $this->getNotaNecessariaExame($componente['id']); + $componente['nota_necessaria_exame'] = ($componente['situacao'] != 'Em andamento' ? $this->getNotaNecessariaExame($componente['id']) : null ); $componente['falta_atual'] = $this->getFaltaAtual($etapa = null, $componente['id']); $componente['parecer_atual'] = $this->getParecerAtual($componente['id']); $componente['situacao'] = $this->getSituacaoMatricula($componente['id']); diff --git a/ieducar/modules/Portabilis/Assets/Version.php b/ieducar/modules/Portabilis/Assets/Version.php index 449d9ef..ea0eeff 100644 --- a/ieducar/modules/Portabilis/Assets/Version.php +++ b/ieducar/modules/Portabilis/Assets/Version.php @@ -4,7 +4,7 @@ usado pelo metodos loadJavascript e loadStylesheet do helper Portabilis_View_Helper_Application */ class Portabilis_Assets_Version { - const VERSION = '5'; + const VERSION = '6'; } ?> -- libgit2 0.21.2