Commit c20ca40fac3ba7e4f0e1e56aede19ed650b03747

Authored by Lucas Schmoeller da Silva
1 parent 9189a442
Exists in master

Adicionado nota necessária exame no diário

portabilis/ieducar#96
ieducar/modules/Avaliacao/Assets/Javascripts/Diario.js
... ... @@ -624,6 +624,15 @@ function notaExameField(matriculaId, componenteCurricularId, value) {
624 624 value);
625 625 }
626 626  
  627 +function notaNecessariaField(matriculaId, componenteCurricularId, value){
  628 + if (value=='' || value==undefined) value = '-';
  629 + var $notaNecessariaField = $j('<span />').addClass('nn-matricula-cc')
  630 + .addClass('nn-matricula-' + matriculaId + '-cc')
  631 + .attr('id', 'nn-matricula-' + matriculaId + '-cc-' + componenteCurricularId)
  632 + .text(value);
  633 + setNextTabIndex($notaNecessariaField);
  634 + return $j('<td />').html($notaNecessariaField).addClass('center');
  635 +}
627 636  
628 637 function faltaField(matriculaId, componenteCurricularId, value) {
629 638 var $faltaField = $j('<input />').addClass('falta-matricula-cc')
... ... @@ -676,10 +685,17 @@ function updateComponenteCurricular($targetElement, matriculaId, cc) {
676 685 if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()) {
677 686 var $fieldNotaExame = notaExameField(matriculaId, cc.id, cc.nota_exame);
678 687  
679   - if (cc.nota_exame == '' && safeToLowerCase(cc.situacao) != 'em exame')
  688 + var $fieldNN = notaNecessariaField(matriculaId, cc.id, cc.nota_necessaria_exame);
  689 +
  690 + if (cc.nota_exame == '' && safeToLowerCase(cc.situacao) != 'em exame'){
680 691 $fieldNotaExame.children().hide();
  692 + $fieldNN.children().text('-');
  693 + }
681 694  
682 695 $fieldNotaExame.appendTo($targetElement);
  696 +
  697 + // Adiciona campo com nota necessária
  698 + $fieldNN.appendTo($targetElement);
683 699 }
684 700  
685 701 }
... ... @@ -699,8 +715,10 @@ function updateComponenteCurricularHeaders($targetElement, $tagElement) {
699 715 if (useNota) {
700 716 $tagElement.clone().addClass('center').html('Nota').appendTo($targetElement);
701 717  
702   - if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val())
  718 + if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()){
703 719 $tagElement.clone().addClass('center').html('Nota exame').appendTo($targetElement);
  720 + $tagElement.clone().addClass('center').html(safeUtf8Decode('Nota necessária no exame')).appendTo($targetElement);
  721 + }
704 722 }
705 723  
706 724 $tagElement.clone().addClass('center').html('Falta').appendTo($targetElement);
... ... @@ -779,6 +797,7 @@ function updateResourceRow(dataResponse) {
779 797  
780 798 var $situacaoField = $j('#situacao-matricula-' + matriculaId + '-cc-' + ccId);
781 799 var $fieldNotaExame = $j('#nota-exame-matricula-' + matriculaId + '-cc-' + ccId);
  800 + var $fieldNN = $j('#nn-matricula-' + matriculaId + '-cc-' + ccId);
782 801  
783 802 $situacaoField.html(dataResponse.situacao);
784 803 colorizeSituacaoTd($situacaoField.closest('td'), dataResponse.situacao);
... ... @@ -788,9 +807,14 @@ function updateResourceRow(dataResponse) {
788 807  
789 808 $fieldNotaExame.show();
790 809 $fieldNotaExame.focus();
  810 + $fieldNN.text(dataResponse.nota_necessaria_exame);
791 811 }
792   - else if($fieldNotaExame.val() == '' && safeToLowerCase(dataResponse.situacao) != 'em exame')
  812 + else if($fieldNotaExame.val() == '' && safeToLowerCase(dataResponse.situacao) != 'em exame'){
793 813 $fieldNotaExame.hide();
  814 + $fieldNN.text('-');
  815 + }else{
  816 + $fieldNN.text(dataResponse.nota_necessaria_exame);
  817 + }
794 818 }
795 819  
796 820 function colorizeSituacaoTd(tdElement, situacao) {
... ...
ieducar/modules/Avaliacao/Service/Boletim.php
... ... @@ -2269,6 +2269,7 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable
2269 2269 */
2270 2270 public function preverNotaRecuperacao($id)
2271 2271 {
  2272 + /*
2272 2273 if (is_null($this->getRegra()->formulaRecuperacao) || !isset($this->_notasComponentes[$id])) {
2273 2274 return NULL;
2274 2275 }
... ... @@ -2293,7 +2294,36 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable
2293 2294 $data['formulaValues']['E' . $nota->etapa] = $nota->nota;
2294 2295 }
2295 2296  
2296   - return $this->getRegra()->tabelaArredondamento->predictValue($formula, $data);
  2297 + return $this->getRegra()->tabelaArredondamento->predictValue($formula, $data); */
  2298 +
  2299 + if (is_null($this->getRegra()->formulaRecuperacao) || !isset($this->_notasComponentes[$id])) {
  2300 + return NULL;
  2301 + }
  2302 +
  2303 + $notas = $this->_notasComponentes[$id];
  2304 +
  2305 + unset($notas[$this->getOption('etapas')]);
  2306 +
  2307 + $somaEtapas = array_sum(CoreExt_Entity::entityFilterAttr($notas, 'etapa', 'nota'));
  2308 +
  2309 + $formula = $this->getRegra()->formulaRecuperacao;
  2310 +
  2311 + $data = array(
  2312 + 'Se' => $somaEtapas,
  2313 + 'Et' => $this->getOption('etapas'),
  2314 + 'Rc' => NULL );
  2315 +
  2316 + foreach ($notas as $nota) {
  2317 + $data['E' . $nota->etapa] = $nota->nota;
  2318 + }
  2319 +
  2320 + for($i = 0.1 ; $i<=10; $i+=0.1){
  2321 + $data['Rc']=$i;
  2322 + if ($this->getRegra()->formulaRecuperacao->execFormulaMedia($data) >= $this->getRegra()->mediaRecuperacao)
  2323 + return $i;
  2324 + }
  2325 +
  2326 + return null;
2297 2327 }
2298 2328  
2299 2329 /**
... ...
ieducar/modules/Avaliacao/Views/DiarioApiController.php
... ... @@ -404,6 +404,7 @@ class DiarioApiController extends ApiCoreController
404 404 $this->appendResponse('componente_curricular_id', $this->getRequest()->componente_curricular_id);
405 405 $this->appendResponse('matricula_id', $this->getRequest()->matricula_id);
406 406 $this->appendResponse('situacao', $this->getSituacaoMatricula());
  407 + $this->appendResponse('nota_necessaria_exame', $this->getNotaNecessariaExame($this->getRequest()->componente_curricular_id));
407 408 }
408 409  
409 410  
... ... @@ -752,7 +753,7 @@ class DiarioApiController extends ApiCoreController
752 753 $componente['nome'] = $this->safeString(strtoupper($_componente->get('nome')), false);
753 754 $componente['nota_atual'] = $this->getNotaAtual($etapa = null, $componente['id']);
754 755 $componente['nota_exame'] = $this->getNotaExame($componente['id']);
755   - //$componente['nota_necessaria_exame'] = $this->getNotaNecessariaExame($componente['id']);
  756 + $componente['nota_necessaria_exame'] = ($componente['situacao'] != 'Em andamento' ? $this->getNotaNecessariaExame($componente['id']) : null );
756 757 $componente['falta_atual'] = $this->getFaltaAtual($etapa = null, $componente['id']);
757 758 $componente['parecer_atual'] = $this->getParecerAtual($componente['id']);
758 759 $componente['situacao'] = $this->getSituacaoMatricula($componente['id']);
... ...
ieducar/modules/Portabilis/Assets/Version.php
... ... @@ -4,7 +4,7 @@
4 4 usado pelo metodos loadJavascript e loadStylesheet do helper Portabilis_View_Helper_Application */
5 5  
6 6 class Portabilis_Assets_Version {
7   - const VERSION = '5';
  7 + const VERSION = '6';
8 8 }
9 9  
10 10 ?>
... ...