diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java index 4b1d1ef..a6ff699 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java @@ -204,8 +204,7 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan public void setAtendimentoRequisicaoConsumoItemFIFOs( Collection atendimentoRequisicaoConsumoItemFIFOs) { - this.atendimentoRequisicaoConsumoItemFIFOs.clear(); - this.atendimentoRequisicaoConsumoItemFIFOs.addAll(atendimentoRequisicaoConsumoItemFIFOs); + this.atendimentoRequisicaoConsumoItemFIFOs = atendimentoRequisicaoConsumoItemFIFOs; } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java index 5d74745..3d78042 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java @@ -92,7 +92,11 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { if(quantidade == null){ quantidadeAnterior = BigDecimal.ZERO; }else{ - quantidadeAnterior = quantidade; + if(atendimentoRequisicaoConsumoItem == null || atendimentoRequisicaoConsumoItem.getAtendimentoRequisicaoConsumo() == null || atendimentoRequisicaoConsumoItem.getAtendimentoRequisicaoConsumo().getDataInativo() != null){ + quantidadeAnterior = BigDecimal.ZERO; + }else{ + quantidadeAnterior = quantidade; + } } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java index 9c7fc4c..618942d 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java @@ -195,7 +195,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< @Override public ValidacaoAtendimentoRequisicaoConsumoVH validarQuantidadesAtendidas(AtendimentoRequisicaoConsumo entity) { - Map somatorioQuantidadesAtentidasPorMaterial = new HashMap(); + final int QUANTIDADE_ATENDIDA = 0; + final int QUANTIDADE_ATENDIDA_ANTERIOR = 1; + + Map somatorioQuantidadesAtentidasPorMaterial = new HashMap(); for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ @@ -204,10 +207,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< if(somatorioQuantidadesAtentidasPorMaterial.containsKey(itemEndereco.getMaterialLocalEstoque())){ somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), - somatorioQuantidadesAtentidasPorMaterial.get(itemEndereco.getMaterialLocalEstoque()).add(itemEndereco.getQuantidade())); + new BigDecimal[]{somatorioQuantidadesAtentidasPorMaterial.get(itemEndereco.getMaterialLocalEstoque())[QUANTIDADE_ATENDIDA].add(itemEndereco.getQuantidade()), itemEndereco.getQuantidadeAnterior()}); }else{ - somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), itemEndereco.getQuantidade()); + somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), new BigDecimal[]{itemEndereco.getQuantidade(), itemEndereco.getQuantidadeAnterior()}); } } } @@ -216,9 +219,9 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< List materiaisRejeitados = new ArrayList(); - for(Entry somaItem : somatorioQuantidadesAtentidasPorMaterial.entrySet()){ + for(Entry somaItem : somatorioQuantidadesAtentidasPorMaterial.entrySet()){ - if(somaItem.getValue().compareTo(somaItem.getKey().getQuantidade()) > 0){ + if(somaItem.getValue()[QUANTIDADE_ATENDIDA].compareTo(somaItem.getKey().getQuantidade().add(somaItem.getValue()[QUANTIDADE_ATENDIDA_ANTERIOR])) > 0){ materiaisRejeitados.add(materialLocalEstoqueService.find(somaItem.getKey().getId())); } } diff --git a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js index e9e80d0..19bf16a 100644 --- a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js +++ b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js @@ -448,6 +448,10 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', $scope.atendimentoRequisicaoConsumoForm.$submitted = false; angular.element('#searchAtendimentoRequisicaoConsumo').scope().fetchResult(); $scope.resetForm(); + + $scope.$showPageSearchWorkspace($scope.workspace); + $scope.atualizaPaginaPesquisa(); + $scope.setLoading(false); }); } @@ -491,6 +495,22 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', }); } + $scope.validarQuantidadeAtendidaMaiorQuantidadeRequisitada = function(atendimentoItem){ + atendimentoItem.$somaQtdAtendida = 0; + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(atendimentoItemEndereco){ + atendimentoItem.$somaQtdAtendida += parseFloat(atendimentoItemEndereco.quantidade); + }); + + if(atendimentoItem.$somaQtdAtendida > atendimentoItem.requisicaoConsumoItem.quantidade){ + $scope.showAlert("error", "Deu erro ai cara, arruma sáporra aew", " ", false); + } + } + + $scope.validarQuantidades = function(atendimentoItem){ + $scope.validarQuantidadesAtendidas(); + $scope.validarQuantidadeAtendidaMaiorQuantidadeRequisitada(atendimentoItem); + } + function limparLinhasComErro(){ $scope.atendimentos.forEach(function(atendimento){ atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){ @@ -687,7 +707,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', var mensagemErro = $translate.instant('ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDER_SUPERIOR_SALDO_ESTOQUE'); $scope.atendimentoItemEmEdicao.$somaQtdAtendida = 0; $scope.listaEnderecosAdicionados.forEach(function(item){ - if(item.materialLocalEstoque.quantidade < parseFloat(item.quantidade)){ + if(item.materialLocalEstoque.quantidade + parseFloat(item.quantidadeAnterior) < parseFloat(item.quantidade)){ hasError = true; mensagemErro += "
" + item.materialLocalEstoque.endereco.descricao; } diff --git a/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html b/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html index f7d6d81..dc9e625 100644 --- a/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html +++ b/cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html @@ -158,7 +158,7 @@ - -- libgit2 0.21.2