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 | 204 | |
205 | 205 | public void setAtendimentoRequisicaoConsumoItemFIFOs( |
206 | 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 | 92 | if(quantidade == null){ |
93 | 93 | quantidadeAnterior = BigDecimal.ZERO; |
94 | 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 | 195 | |
196 | 196 | @Override |
197 | 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 | 203 | for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ |
201 | 204 | for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ |
... | ... | @@ -204,10 +207,10 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
204 | 207 | if(somatorioQuantidadesAtentidasPorMaterial.containsKey(itemEndereco.getMaterialLocalEstoque())){ |
205 | 208 | |
206 | 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 | 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 | 219 | |
217 | 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 | 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 | 448 | $scope.atendimentoRequisicaoConsumoForm.$submitted = false; |
449 | 449 | angular.element('#searchAtendimentoRequisicaoConsumo').scope().fetchResult(); |
450 | 450 | $scope.resetForm(); |
451 | + | |
452 | + $scope.$showPageSearchWorkspace($scope.workspace); | |
453 | + $scope.atualizaPaginaPesquisa(); | |
454 | + | |
451 | 455 | $scope.setLoading(false); |
452 | 456 | }); |
453 | 457 | } |
... | ... | @@ -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 | 514 | function limparLinhasComErro(){ |
495 | 515 | $scope.atendimentos.forEach(function(atendimento){ |
496 | 516 | atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){ |
... | ... | @@ -687,7 +707,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
687 | 707 | var mensagemErro = $translate.instant('ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDER_SUPERIOR_SALDO_ESTOQUE'); |
688 | 708 | $scope.atendimentoItemEmEdicao.$somaQtdAtendida = 0; |
689 | 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 | 711 | hasError = true; |
692 | 712 | mensagemErro += "<br />" + item.materialLocalEstoque.endereco.descricao; |
693 | 713 | } | ... | ... |
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.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 | 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> | ... | ... |