diff --git a/cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java b/cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java index c3742a8..abd141e 100644 --- a/cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java +++ b/cit-adm-materiais-web/src/main/java/br/com/centralit/listener/StartupListenerAdmMaterial.java @@ -245,6 +245,7 @@ public class StartupListenerAdmMaterial extends UtilStartup implements Applicati internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.EDITA_LOCAL_ESTOQUE_MATERIAL_PRINCIPAL", "Para definir esse endereço de estoque como não sendo principal, primeiramente informe outro endereço de estoque como principal para o almoxarifado.", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.LOCAL_SALVA_ESTOQUE_MATERIAL_COMO_PRINCIPAL_PARA_ALMOXARIFADO", "Este endereço de estoque é o principal do almoxarifado ", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.LOCAL_ESTOQUE_JA_VINCULADO_MATERIAL", "Este endereço de estoque já possui vínculo ao material.", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ADMINISTRACAODEMATERIAIS.MSG.REMOVER_LOCAL_ESTOQUE_MATERIAL_VINCULADO_ENTRADA_ALMOX_ITEM", "Não é possível remover esse vínculo de endereço de estoque com o material, pois o endereço selecionado foi utilizado em um item de entrada do almoxarifado.", dominio, modulo)); } } \ No newline at end of file diff --git a/cit-adm-materiais-web/src/main/webapp/assets/js/angular/custom/controller/MaterialController.js b/cit-adm-materiais-web/src/main/webapp/assets/js/angular/custom/controller/MaterialController.js index ec65bc6..83c361b 100644 --- a/cit-adm-materiais-web/src/main/webapp/assets/js/angular/custom/controller/MaterialController.js +++ b/cit-adm-materiais-web/src/main/webapp/assets/js/angular/custom/controller/MaterialController.js @@ -696,7 +696,8 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi $scope.MaterialLocalEstoqueRepository = $injector.get(["MaterialLocalEstoqueRepository"]); $scope.EstruturaOrganizacionalAlmoxarifadoRepository = $injector.get(["EstruturaOrganizacionalAlmoxarifadoRepository"]); $scope.EnderecoEstoqueRepository = $injector.get(["EnderecoEstoqueRepository"]); - + $scope.EntradaAlmoxarifadoItemRepository = $injector.get(["EntradaAlmoxarifadoItemRepository"]); + $scope.EstruturaOrganizacionalAlmoxarifadoRepository.getAlmoxarifadoPadrao($scope.usuarioLogado.organizacao.id).then(function(result){ $scope.almoxarifadoTemp = result.originalElement.estruturaOrganizacional; }); @@ -740,10 +741,20 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi return; } } - $scope.MaterialLocalEstoqueRepository.remove($scope.matEndEstoqueCheck).then(function(result) { - $scope.listaLocaisEstoqueMaterial(); - $scope.setLoading(false); + + $scope.EntradaAlmoxarifadoItemRepository.existeItemVinculadoAMaterialLocalEstoque($scope.matEndEstoqueCheck.id).then(function(result) { + if(result){ + $scope.showAlert("warning", $translate.instant('ADMINISTRACAODEMATERIAIS.MSG.REMOVER_LOCAL_ESTOQUE_MATERIAL_VINCULADO_ENTRADA_ALMOX_ITEM')); + $scope.setLoading(false); + $scope.$modalConfirmInstance.dismiss('cancel'); + return; + } + $scope.MaterialLocalEstoqueRepository.remove($scope.matEndEstoqueCheck).then(function(result) { + $scope.listaLocaisEstoqueMaterial(); + $scope.setLoading(false); + }); }); + $scope.$modalConfirmInstance.dismiss('cancel'); }); } @@ -771,22 +782,27 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi }); }; - $scope.salvarMaterialEnderecoEstoque = function(materialLocalEstoque, almoxarifadoTemp){ - $scope.almoxarifadoTemp = almoxarifadoTemp; - $scope.setLoading(true); - if(!materialLocalEstoque.materialEstoque){ - materialLocalEstoque.materialEstoque = {material : $scope.material}; - } - materialLocalEstoque.endereco.estoque = {almoxarifado : $scope.almoxarifadoTemp}; - $scope.MaterialLocalEstoqueRepository.save(materialLocalEstoque).then(function(result) { - if( result.originalElement.localPrincipal){ - $scope.showAlert("warning", $translate.instant('ADMINISTRACAODEMATERIAIS.MSG.LOCAL_SALVA_ESTOQUE_MATERIAL_COMO_PRINCIPAL_PARA_ALMOXARIFADO') + $scope.almoxarifadoTemp.codigoENome); + $scope.salvarMaterialEnderecoEstoque = function(formDialogMaterialEnderecoEstoque, materialLocalEstoque, almoxarifadoTemp){ + formDialogMaterialEnderecoEstoque.$submitted = true; + if (formDialogMaterialEnderecoEstoque.$invalid) { + $scope.showAlert('error', $translate.instant('MSG.MN001')); + } else { + $scope.almoxarifadoTemp = almoxarifadoTemp; + $scope.setLoading(true); + if(!materialLocalEstoque.materialEstoque){ + materialLocalEstoque.materialEstoque = {material : $scope.material}; } - $scope.$modalInstance.dismiss('cancel'); - $scope.listaLocaisEstoqueMaterial(); - $scope.editEnderecoEstoque = false; - $scope.setLoading(false); - }); + materialLocalEstoque.endereco.estoque = {almoxarifado : $scope.almoxarifadoTemp}; + $scope.MaterialLocalEstoqueRepository.save(materialLocalEstoque).then(function(result) { + if( result.originalElement.localPrincipal){ + $scope.showAlert("warning", $translate.instant('ADMINISTRACAODEMATERIAIS.MSG.LOCAL_SALVA_ESTOQUE_MATERIAL_COMO_PRINCIPAL_PARA_ALMOXARIFADO') + $scope.almoxarifadoTemp.codigoENome); + } + $scope.$modalInstance.dismiss('cancel'); + $scope.listaLocaisEstoqueMaterial(); + $scope.editEnderecoEstoque = false; + $scope.setLoading(false); + }); + } }; $scope.listaLocaisEstoqueMaterial = function(){ @@ -795,6 +811,7 @@ citApp.controller('MaterialController', ['$scope', 'MaterialRepository', 'Classi $scope.MaterialLocalEstoqueRepository.listarMaterialEstoquePorMaterial($scope.material.id).then(function(result) { $scope.listaMaterialEnderecoEstoque = result; $scope.matEndEstoqueCheck = null; + $scope.alternaTipoNumericoUnidadeMedida(); $scope.setLoading(false); }); }; diff --git a/cit-adm-materiais-web/src/main/webapp/html/material/materialEnderecoEstoque.html b/cit-adm-materiais-web/src/main/webapp/html/material/materialEnderecoEstoque.html index 6371af3..41f7ca1 100644 --- a/cit-adm-materiais-web/src/main/webapp/html/material/materialEnderecoEstoque.html +++ b/cit-adm-materiais-web/src/main/webapp/html/material/materialEnderecoEstoque.html @@ -81,9 +81,12 @@