Commit e33075ed44796fa5183727edcb9652d98fc0fd51
1 parent
b810adb2
Exists in
master
Redmine Atendimento #3822
Showing
5 changed files
with
36 additions
and
10 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
@@ -204,8 +204,7 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -204,8 +204,7 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
204 | 204 | ||
205 | public void setAtendimentoRequisicaoConsumoItemFIFOs( | 205 | public void setAtendimentoRequisicaoConsumoItemFIFOs( |
206 | Collection<AtendimentoRequisicaoConsumoItemFIFO> atendimentoRequisicaoConsumoItemFIFOs) { | 206 | Collection<AtendimentoRequisicaoConsumoItemFIFO> atendimentoRequisicaoConsumoItemFIFOs) { |
207 | - this.atendimentoRequisicaoConsumoItemFIFOs.clear(); | ||
208 | - this.atendimentoRequisicaoConsumoItemFIFOs.addAll(atendimentoRequisicaoConsumoItemFIFOs); | 207 | + this.atendimentoRequisicaoConsumoItemFIFOs = atendimentoRequisicaoConsumoItemFIFOs; |
209 | } | 208 | } |
210 | 209 | ||
211 | } | 210 | } |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java
@@ -92,7 +92,11 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | @@ -92,7 +92,11 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | ||
92 | if(quantidade == null){ | 92 | if(quantidade == null){ |
93 | quantidadeAnterior = BigDecimal.ZERO; | 93 | quantidadeAnterior = BigDecimal.ZERO; |
94 | }else{ | 94 | }else{ |
95 | - quantidadeAnterior = quantidade; | 95 | + if(atendimentoRequisicaoConsumoItem == null || atendimentoRequisicaoConsumoItem.getAtendimentoRequisicaoConsumo() == null || atendimentoRequisicaoConsumoItem.getAtendimentoRequisicaoConsumo().getDataInativo() != null){ |
96 | + quantidadeAnterior = BigDecimal.ZERO; | ||
97 | + }else{ | ||
98 | + quantidadeAnterior = quantidade; | ||
99 | + } | ||
96 | } | 100 | } |
97 | } | 101 | } |
98 | 102 |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java
@@ -195,7 +195,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | @@ -195,7 +195,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | ||
195 | 195 | ||
196 | @Override | 196 | @Override |
197 | public ValidacaoAtendimentoRequisicaoConsumoVH validarQuantidadesAtendidas(AtendimentoRequisicaoConsumo entity) { | 197 | public ValidacaoAtendimentoRequisicaoConsumoVH validarQuantidadesAtendidas(AtendimentoRequisicaoConsumo entity) { |
198 | - Map<MaterialLocalEstoque, BigDecimal> somatorioQuantidadesAtentidasPorMaterial = new HashMap<MaterialLocalEstoque, BigDecimal>(); | 198 | + final int QUANTIDADE_ATENDIDA = 0; |
199 | + final int QUANTIDADE_ATENDIDA_ANTERIOR = 1; | ||
200 | + | ||
201 | + Map<MaterialLocalEstoque, BigDecimal[]> somatorioQuantidadesAtentidasPorMaterial = new HashMap<MaterialLocalEstoque, BigDecimal[]>(); | ||
199 | 202 | ||
200 | for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ | 203 | for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ |
201 | for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ | 204 | for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ |
@@ -204,10 +207,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | @@ -204,10 +207,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | ||
204 | if(somatorioQuantidadesAtentidasPorMaterial.containsKey(itemEndereco.getMaterialLocalEstoque())){ | 207 | if(somatorioQuantidadesAtentidasPorMaterial.containsKey(itemEndereco.getMaterialLocalEstoque())){ |
205 | 208 | ||
206 | somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), | 209 | somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), |
207 | - somatorioQuantidadesAtentidasPorMaterial.get(itemEndereco.getMaterialLocalEstoque()).add(itemEndereco.getQuantidade())); | 210 | + new BigDecimal[]{somatorioQuantidadesAtentidasPorMaterial.get(itemEndereco.getMaterialLocalEstoque())[QUANTIDADE_ATENDIDA].add(itemEndereco.getQuantidade()), itemEndereco.getQuantidadeAnterior()}); |
208 | 211 | ||
209 | }else{ | 212 | }else{ |
210 | - somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), itemEndereco.getQuantidade()); | 213 | + somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), new BigDecimal[]{itemEndereco.getQuantidade(), itemEndereco.getQuantidadeAnterior()}); |
211 | } | 214 | } |
212 | } | 215 | } |
213 | } | 216 | } |
@@ -216,9 +219,9 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | @@ -216,9 +219,9 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | ||
216 | 219 | ||
217 | List<MaterialLocalEstoque> materiaisRejeitados = new ArrayList<MaterialLocalEstoque>(); | 220 | List<MaterialLocalEstoque> materiaisRejeitados = new ArrayList<MaterialLocalEstoque>(); |
218 | 221 | ||
219 | - for(Entry<MaterialLocalEstoque, BigDecimal> somaItem : somatorioQuantidadesAtentidasPorMaterial.entrySet()){ | 222 | + for(Entry<MaterialLocalEstoque, BigDecimal[]> somaItem : somatorioQuantidadesAtentidasPorMaterial.entrySet()){ |
220 | 223 | ||
221 | - if(somaItem.getValue().compareTo(somaItem.getKey().getQuantidade()) > 0){ | 224 | + if(somaItem.getValue()[QUANTIDADE_ATENDIDA].compareTo(somaItem.getKey().getQuantidade().add(somaItem.getValue()[QUANTIDADE_ATENDIDA_ANTERIOR])) > 0){ |
222 | materiaisRejeitados.add(materialLocalEstoqueService.find(somaItem.getKey().getId())); | 225 | materiaisRejeitados.add(materialLocalEstoqueService.find(somaItem.getKey().getId())); |
223 | } | 226 | } |
224 | } | 227 | } |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
@@ -448,6 +448,10 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -448,6 +448,10 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
448 | $scope.atendimentoRequisicaoConsumoForm.$submitted = false; | 448 | $scope.atendimentoRequisicaoConsumoForm.$submitted = false; |
449 | angular.element('#searchAtendimentoRequisicaoConsumo').scope().fetchResult(); | 449 | angular.element('#searchAtendimentoRequisicaoConsumo').scope().fetchResult(); |
450 | $scope.resetForm(); | 450 | $scope.resetForm(); |
451 | + | ||
452 | + $scope.$showPageSearchWorkspace($scope.workspace); | ||
453 | + $scope.atualizaPaginaPesquisa(); | ||
454 | + | ||
451 | $scope.setLoading(false); | 455 | $scope.setLoading(false); |
452 | }); | 456 | }); |
453 | } | 457 | } |
@@ -491,6 +495,22 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -491,6 +495,22 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
491 | }); | 495 | }); |
492 | } | 496 | } |
493 | 497 | ||
498 | + $scope.validarQuantidadeAtendidaMaiorQuantidadeRequisitada = function(atendimentoItem){ | ||
499 | + atendimentoItem.$somaQtdAtendida = 0; | ||
500 | + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(atendimentoItemEndereco){ | ||
501 | + atendimentoItem.$somaQtdAtendida += parseFloat(atendimentoItemEndereco.quantidade); | ||
502 | + }); | ||
503 | + | ||
504 | + if(atendimentoItem.$somaQtdAtendida > atendimentoItem.requisicaoConsumoItem.quantidade){ | ||
505 | + $scope.showAlert("error", "Deu erro ai cara, arruma sáporra aew", " ", false); | ||
506 | + } | ||
507 | + } | ||
508 | + | ||
509 | + $scope.validarQuantidades = function(atendimentoItem){ | ||
510 | + $scope.validarQuantidadesAtendidas(); | ||
511 | + $scope.validarQuantidadeAtendidaMaiorQuantidadeRequisitada(atendimentoItem); | ||
512 | + } | ||
513 | + | ||
494 | function limparLinhasComErro(){ | 514 | function limparLinhasComErro(){ |
495 | $scope.atendimentos.forEach(function(atendimento){ | 515 | $scope.atendimentos.forEach(function(atendimento){ |
496 | atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){ | 516 | atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){ |
@@ -687,7 +707,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -687,7 +707,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
687 | var mensagemErro = $translate.instant('ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDER_SUPERIOR_SALDO_ESTOQUE'); | 707 | var mensagemErro = $translate.instant('ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDER_SUPERIOR_SALDO_ESTOQUE'); |
688 | $scope.atendimentoItemEmEdicao.$somaQtdAtendida = 0; | 708 | $scope.atendimentoItemEmEdicao.$somaQtdAtendida = 0; |
689 | $scope.listaEnderecosAdicionados.forEach(function(item){ | 709 | $scope.listaEnderecosAdicionados.forEach(function(item){ |
690 | - if(item.materialLocalEstoque.quantidade < parseFloat(item.quantidade)){ | 710 | + if(item.materialLocalEstoque.quantidade + parseFloat(item.quantidadeAnterior) < parseFloat(item.quantidade)){ |
691 | hasError = true; | 711 | hasError = true; |
692 | mensagemErro += "<br />" + item.materialLocalEstoque.endereco.descricao; | 712 | mensagemErro += "<br />" + item.materialLocalEstoque.endereco.descricao; |
693 | } | 713 | } |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
@@ -158,7 +158,7 @@ | @@ -158,7 +158,7 @@ | ||
158 | </td> | 158 | </td> |
159 | 159 | ||
160 | <td ng-if="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length <= 1" class="text-center"> | 160 | <td ng-if="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length <= 1" class="text-center"> |
161 | - <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-evento-blur="aplicarValidacaoDecimal" ng-evento-keyup="validarQuantidadesAtendidas()" | 161 | + <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-evento-blur="aplicarValidacaoDecimal" ng-evento-keyup="validarQuantidades(atendimentoRequisicaoConsumoItem)" |
162 | ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0].quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" | 162 | ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0].quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" |
163 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> | 163 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> |
164 | </td> | 164 | </td> |