Commit 01054cd3fe20cec1a9d1748a3b40375266490c46

Authored by Ronan Tavares Camargo
1 parent 270cbfcf
Exists in master

Atendimento #4999

cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
... ... @@ -441,6 +441,53 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController',
441 441 }
442 442  
443 443 };
  444 +
  445 + $scope.validarQuantidadesAtendidas = function(){
  446 + $scope.setLoading(true);
  447 + $scope.atendimentoRequisicaoConsumo.atendimentos = [];
  448 + angular.copy($scope.atendimentos, $scope.atendimentoRequisicaoConsumo.atendimentos);
  449 +
  450 + limparLinhasComErro();
  451 +
  452 + AtendimentoRequisicaoConsumoRepository.validaQuantidadesAtendidas($scope.atendimentoRequisicaoConsumo).then(function(result){
  453 + if(result.materiaisLocalEstoque.length > 0){
  454 + $scope.atendimentos.forEach(function(atendimento){
  455 + atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){
  456 + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(itemEndereco){
  457 + result.materiaisLocalEstoque.forEach(function(localEstoque){
  458 + if(itemEndereco.materialLocalEstoque.id === localEstoque.id){
  459 + atendimentoItem.$hasError = true;
  460 + itemEndereco.$hasError = true;
  461 + }
  462 + });
  463 + });
  464 + });
  465 + });
  466 + $scope.showAlert("error", result.mensagemErro, " ", false);
  467 + $scope.setLoading(false);
  468 + }
  469 +
  470 + $scope.setLoading(false);
  471 + });
  472 + }
  473 +
  474 + function limparLinhasComErro(){
  475 + $scope.atendimentos.forEach(function(atendimento){
  476 + atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){
  477 + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(itemEndereco){
  478 + atendimentoItem.$hasError = false;
  479 + itemEndereco.$hasError = false;
  480 + });
  481 + });
  482 + });
  483 + }
  484 +
  485 + $scope.teste = function(item){
  486 + if(item){
  487 + $scope.aplicarValidacaoDecimal(item);
  488 + $scope.validarQuantidadesAtendidas();
  489 + }
  490 + }
444 491  
445 492 $scope.saveEdit = function(isFinalizado){
446 493 $scope.atendimentoRequisicaoConsumoForm.$submitted = true;
... ... @@ -570,19 +617,19 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController',
570 617 enderecosItem.forEach(function(enderecoItem){
571 618 enderecosAdicionados.forEach(function(enderecoAdicionado){
572 619 if(enderecoItem.materialLocalEstoque.id != enderecoAdicionado.materialLocalEstoque.id){
573   - $scope.listaEnderecosSelect.push(angular.copy(enderecoItem));
  620 + $scope.listaEnderecosSelect.push(enderecoItem);
574 621 }
575 622 });
576 623 });
577 624 }else{
578   - $scope.listaEnderecosSelect = angular.copy(enderecosItem);
  625 + $scope.listaEnderecosSelect = enderecosItem;
579 626 }
580 627 }else{
581 628 enderecosAdicionados = [];
582   - $scope.listaEnderecosSelect = angular.copy(enderecosItem);
  629 + $scope.listaEnderecosSelect = enderecosItem;
583 630 }
584 631  
585   - $scope.listaEnderecosAdicionados = angular.copy(enderecosAdicionados);
  632 + $scope.listaEnderecosAdicionados = enderecosAdicionados;
586 633 $scope.$openModal('modal-atendimento-item-enderecos.html', 'md');
587 634 }
588 635  
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
... ... @@ -158,7 +158,7 @@
158 158 </td>
159 159  
160 160 <td ng-if="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade != atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida && atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length <= 1" class="text-center">
161   - <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-evento-blur="aplicarValidacaoDecimal" ng-evento-change="atendimentoRequisicaoConsumoItem.$hasError = false"
  161 + <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-evento-blur="aplicarValidacaoDecimal" ng-evento-keyup="validarQuantidadesAtendidas()"
162 162 ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0].quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}"
163 163 ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" />
164 164 </td>
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html
... ... @@ -55,7 +55,7 @@
55 55 <td class="text-center">{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.quantidade}}</td>
56 56 <td class="text-center">
57 57 <label-input-decimal ng-id="atendimentoRequisicaoConsumoItemEndereco.quantidade" ng-obrigatorio="true" ng-evento-blur="aplicarValidacaoDecimal"
58   - ng-model="atendimentoRequisicaoConsumoItemEndereco.quantidade" form="atendimentoRequisicaoConsumoForm" ng-evento-blur="atendimentoRequisicaoConsumoItemEndereco.$hasError = false"
  58 + ng-model="atendimentoRequisicaoConsumoItemEndereco.quantidade" form="atendimentoRequisicaoConsumoForm" ng-evento-keyup="validarQuantidadesAtendidas()"
59 59 ng-custom-maxlength="{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.materialEstoque.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}"
60 60 ng-precisao="{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.materialEstoque.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" />
61 61 </td>
... ...