From 0416ac3fe3a3c8cf6de9b64d60b810eb41a8bb1c Mon Sep 17 00:00:00 2001 From: geovane.filho Date: Sun, 15 May 2016 18:23:23 -0300 Subject: [PATCH] Redmine #4783 terminando regras da reestruturação da entrada de materiais --- cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java | 31 +++++++++++++++++++++++++------ cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java | 1 + cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js | 9 +++++++++ 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java index 1630683..bbb7bbd 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java @@ -83,6 +83,8 @@ import br.com.centralit.framework.util.UtilObjeto; @Service("movimentoEstoqueService") public class MovimentoEstoqueServiceImpl extends GenericServiceImpl implements MovimentoEstoqueService { + private static final int MAXIMO_SAIDAS = 10; + private static final int IGUAL = 0; private static int SCALE_DIVISOR_DECIMAL = 4; @@ -623,18 +625,35 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl baixas = this.baixaAlmoxarifadoItemService.buscarBaixasComMateriaisDaEntrada(entrada); String retorno = ""; + int totalSaidas = 0; if (!atendimentos.isEmpty()) { retorno = retorno + this.internacionalizacaoService.getTranslate("ALMOXARIFADO.LABEL.ATENDIMENTO_S", idioma) + ": "; - for (String atendimento : atendimentos) { - retorno = retorno + atendimento + "; "; + + if (atendimentos.size() >= MAXIMO_SAIDAS) { + for (int i = 0; i < MAXIMO_SAIDAS; i++) { + retorno = retorno + atendimentos.get(i) + "; "; + totalSaidas++; + } + } else { + for (String atendimento : atendimentos) { + retorno = retorno + atendimento + "; "; + totalSaidas++; + } } } - if (!baixas.isEmpty()) { - retorno = retorno + this.internacionalizacaoService.getTranslate("ALMOXARIFADO.LABEL.BAIXA_S", idioma) + ": "; - for (String baixa : baixas) { - retorno = retorno + baixa + "; "; + if (!baixas.isEmpty() && (totalSaidas < MAXIMO_SAIDAS)) { + retorno = retorno + this.internacionalizacaoService.getTranslate("ALMOXARIFADO.LABEL.BAIXA_S", idioma) + ": "; + + if (baixas.size() >= (MAXIMO_SAIDAS - totalSaidas)) { + for (int i = 0; i < (MAXIMO_SAIDAS - totalSaidas); i++) { + retorno = retorno + baixas.get(i) + "; "; + } + } else { + for (String baixa : baixas) { + retorno = retorno + baixa + "; "; + } } } diff --git a/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java b/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java index 275169c..8540c15 100644 --- a/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java +++ b/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java @@ -396,6 +396,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.MATERIAL_SEM_ENDERECO_CADASTRE", "Não existem endereços de estoque do almoxarifado selecionado para esta entrada vinculados a este material, favor vincular no cadastro do material!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ENTRADA_ENDERECOS_ESTOQUE_DESVINCULADOS_MATERIAL", "Todos os materiais desta entrada tiveram seu endereço de estoque retirados!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ENTRADA_ENDERECOS_ESTOQUE_PADRAO_VINCULADOS_MATERIAL", "Todos os materiais desta entrada que tinham endereços padrões neste almoxarifado foram vinculados a ele!", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.EXCLUSAO_ULTIMO_ITEM_ENTRADA", "É necessário existir ao menos um item nesta lista, para continuar exclua a entrada inteira ou adicione outro item primeiro!", dominio, modulo)); } } diff --git a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js index e0b553f..70a9cdc 100644 --- a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js +++ b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js @@ -436,10 +436,16 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp }; $scope.removerEntradaItem = function(){ + // recupera os itens da entrada selecionados var itensSelecionados = $scope.getEntradaItemChecked(); if (itensSelecionados.length > 0) { + if ($scope.entradaAlmoxarifado.entradasItem.length == 1) { + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.MSG.EXCLUSAO_ULTIMO_ITEM_ENTRADA')); + return; + } + $scope.$openModalConfirm({ message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), callback: function() { @@ -875,6 +881,9 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp //Watch para controlar as mudanças de almoxarifado $scope.setAlmoxarifado = function() { $timeout(function() { + if (!$scope.edit) { + return; + } if ($scope.entradaAlmoxarifado.almoxarifado) { if ($scope.entradaAlmoxarifado.entradasItem && $scope.entradaAlmoxarifado.entradasItem.length > 0) { for (var i = 0; i < $scope.entradaAlmoxarifado.entradasItem.length; i++) { -- libgit2 0.21.2