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,6 +624,15 @@ function notaExameField(matriculaId, componenteCurricularId, value) {
624 value); 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 function faltaField(matriculaId, componenteCurricularId, value) { 637 function faltaField(matriculaId, componenteCurricularId, value) {
629 var $faltaField = $j('<input />').addClass('falta-matricula-cc') 638 var $faltaField = $j('<input />').addClass('falta-matricula-cc')
@@ -676,10 +685,17 @@ function updateComponenteCurricular($targetElement, matriculaId, cc) { @@ -676,10 +685,17 @@ function updateComponenteCurricular($targetElement, matriculaId, cc) {
676 if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()) { 685 if ($tableSearchDetails.data('details').quantidade_etapas == $j('#etapa').val()) {
677 var $fieldNotaExame = notaExameField(matriculaId, cc.id, cc.nota_exame); 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 $fieldNotaExame.children().hide(); 691 $fieldNotaExame.children().hide();
  692 + $fieldNN.children().text('-');
  693 + }
681 694
682 $fieldNotaExame.appendTo($targetElement); 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,8 +715,10 @@ function updateComponenteCurricularHeaders($targetElement, $tagElement) {
699 if (useNota) { 715 if (useNota) {
700 $tagElement.clone().addClass('center').html('Nota').appendTo($targetElement); 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 $tagElement.clone().addClass('center').html('Nota exame').appendTo($targetElement); 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 $tagElement.clone().addClass('center').html('Falta').appendTo($targetElement); 724 $tagElement.clone().addClass('center').html('Falta').appendTo($targetElement);
@@ -779,6 +797,7 @@ function updateResourceRow(dataResponse) { @@ -779,6 +797,7 @@ function updateResourceRow(dataResponse) {
779 797
780 var $situacaoField = $j('#situacao-matricula-' + matriculaId + '-cc-' + ccId); 798 var $situacaoField = $j('#situacao-matricula-' + matriculaId + '-cc-' + ccId);
781 var $fieldNotaExame = $j('#nota-exame-matricula-' + matriculaId + '-cc-' + ccId); 799 var $fieldNotaExame = $j('#nota-exame-matricula-' + matriculaId + '-cc-' + ccId);
  800 + var $fieldNN = $j('#nn-matricula-' + matriculaId + '-cc-' + ccId);
782 801
783 $situacaoField.html(dataResponse.situacao); 802 $situacaoField.html(dataResponse.situacao);
784 colorizeSituacaoTd($situacaoField.closest('td'), dataResponse.situacao); 803 colorizeSituacaoTd($situacaoField.closest('td'), dataResponse.situacao);
@@ -788,9 +807,14 @@ function updateResourceRow(dataResponse) { @@ -788,9 +807,14 @@ function updateResourceRow(dataResponse) {
788 807
789 $fieldNotaExame.show(); 808 $fieldNotaExame.show();
790 $fieldNotaExame.focus(); 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 $fieldNotaExame.hide(); 813 $fieldNotaExame.hide();
  814 + $fieldNN.text('-');
  815 + }else{
  816 + $fieldNN.text(dataResponse.nota_necessaria_exame);
  817 + }
794 } 818 }
795 819
796 function colorizeSituacaoTd(tdElement, situacao) { 820 function colorizeSituacaoTd(tdElement, situacao) {
ieducar/modules/Avaliacao/Service/Boletim.php
@@ -2269,6 +2269,7 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable @@ -2269,6 +2269,7 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable
2269 */ 2269 */
2270 public function preverNotaRecuperacao($id) 2270 public function preverNotaRecuperacao($id)
2271 { 2271 {
  2272 + /*
2272 if (is_null($this->getRegra()->formulaRecuperacao) || !isset($this->_notasComponentes[$id])) { 2273 if (is_null($this->getRegra()->formulaRecuperacao) || !isset($this->_notasComponentes[$id])) {
2273 return NULL; 2274 return NULL;
2274 } 2275 }
@@ -2293,7 +2294,36 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable @@ -2293,7 +2294,36 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable
2293 $data['formulaValues']['E' . $nota->etapa] = $nota->nota; 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,6 +404,7 @@ class DiarioApiController extends ApiCoreController
404 $this->appendResponse('componente_curricular_id', $this->getRequest()->componente_curricular_id); 404 $this->appendResponse('componente_curricular_id', $this->getRequest()->componente_curricular_id);
405 $this->appendResponse('matricula_id', $this->getRequest()->matricula_id); 405 $this->appendResponse('matricula_id', $this->getRequest()->matricula_id);
406 $this->appendResponse('situacao', $this->getSituacaoMatricula()); 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,7 +753,7 @@ class DiarioApiController extends ApiCoreController
752 $componente['nome'] = $this->safeString(strtoupper($_componente->get('nome')), false); 753 $componente['nome'] = $this->safeString(strtoupper($_componente->get('nome')), false);
753 $componente['nota_atual'] = $this->getNotaAtual($etapa = null, $componente['id']); 754 $componente['nota_atual'] = $this->getNotaAtual($etapa = null, $componente['id']);
754 $componente['nota_exame'] = $this->getNotaExame($componente['id']); 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 $componente['falta_atual'] = $this->getFaltaAtual($etapa = null, $componente['id']); 757 $componente['falta_atual'] = $this->getFaltaAtual($etapa = null, $componente['id']);
757 $componente['parecer_atual'] = $this->getParecerAtual($componente['id']); 758 $componente['parecer_atual'] = $this->getParecerAtual($componente['id']);
758 $componente['situacao'] = $this->getSituacaoMatricula($componente['id']); 759 $componente['situacao'] = $this->getSituacaoMatricula($componente['id']);
ieducar/modules/Portabilis/Assets/Version.php
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 usado pelo metodos loadJavascript e loadStylesheet do helper Portabilis_View_Helper_Application */ 4 usado pelo metodos loadJavascript e loadStylesheet do helper Portabilis_View_Helper_Application */
5 5
6 class Portabilis_Assets_Version { 6 class Portabilis_Assets_Version {
7 - const VERSION = '5'; 7 + const VERSION = '6';
8 } 8 }
9 9
10 ?> 10 ?>