From 8b156462dee449e92967feb8882b2c1a8eceba05 Mon Sep 17 00:00:00 2001 From: geovane.filho Date: Thu, 12 May 2016 14:09:19 -0300 Subject: [PATCH] Redmine #4783 Validações --- cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java | 13 +++++++++++++ cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java | 2 ++ cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoListController.js | 23 ++++++++++++++++++++--- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java index 8f16821..8bb43e2 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java @@ -284,6 +284,19 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl caracs = material.getMaterialCaracteristicas(); + Collection matCarac = new ArrayList(); + + for (MaterialCaracteristica materialCaracteristica : caracs) { + BemAlmoxarifadoCaracteristica carac = new BemAlmoxarifadoCaracteristica(); + carac.setMaterialCaracteristica(materialCaracteristica); + matCarac.add(carac); + } + entradaAlmoxarifadoItem.setCaracteristicas(matCarac); + } + for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) { bemAlmoxarifadoCaracteristica.setCaracteristica(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getCaracteristica()); 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 0463a50..45adc94 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 @@ -352,6 +352,8 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.ENTRADA_DESCONTABILIZACAO_COM_SAIDAS", "Você não pode descontabilizar esta entrada pois existem as seguintes saídas com materiais da mesma: ", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_ALTERADA_SAIDAS", "Você não pode alterar a data de contabilização após realizar atendimentos e baixas em materiais desta entrada!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_DATA_RECEBIMENTO", "A data de contabilização não pode ser menor que a data de recebimento!", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_CONTABIL", "Você só pode editar entradas sem data contabil ou com data maior ou igual ao do mês de referência!", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_COM_SAIDAS", "Você não pode editar esta entrada pois existem as seguintes saídas com materiais da mesma: ", dominio, modulo)); } private void gerarMensagem(Dominio dominio, Modulo modulo, List internacionalizacaoList) { diff --git a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoListController.js b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoListController.js index bfe2a5c..3b901a3 100644 --- a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoListController.js +++ b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoListController.js @@ -1,6 +1,8 @@ 'use strict'; -citApp.controller('EntradaAlmoxarifadoListController', ['$scope', 'EntradaAlmoxarifadoRepository', '$translate', '$timeout', 'DominioRepository', function EntradaAlmoxarifadoListController($scope, EntradaAlmoxarifadoRepository, $translate, $timeout, DominioRepository) { +citApp.controller('EntradaAlmoxarifadoListController', ['$scope', 'EntradaAlmoxarifadoRepository', '$translate', '$timeout', 'DominioRepository', 'MovimentoEstoqueRepository', + function EntradaAlmoxarifadoListController($scope, EntradaAlmoxarifadoRepository, $translate, $timeout, DominioRepository, + MovimentoEstoqueRepository) { $scope.$showAdvancedFilters = false; $scope.resetForm = function() { @@ -42,8 +44,23 @@ citApp.controller('EntradaAlmoxarifadoListController', ['$scope', 'EntradaAlmoxa $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO')); return; } - angular.element('#entradaAlmoxarifadoControllerId').scope().getEntradaAlmoxarifado(entradaAlmoxarifado, edit); - $scope.$showPageEditWorkspace($scope.workspace); + + var dtContabil = entradaAlmoxarifado.dataContabil; + + if (edit && (dtContabil && !$scope.isDataUSMaiorOuIgualReferenciaVigente(converterStringUSemDate(dtContabil)))) { + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_CONTABIL')); + return; + } + + MovimentoEstoqueRepository.buscarMovimentosSaidaComMateriaisDaEntrada(entradaAlmoxarifado.id).then(function(result) { + if (result.saidas) { + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_COM_SAIDAS') + result.saidas); + return; + } else { + angular.element('#entradaAlmoxarifadoControllerId').scope().getEntradaAlmoxarifado(entradaAlmoxarifado, edit); + $scope.$showPageEditWorkspace($scope.workspace); + } + }); }; $scope.gerarRelatorio = function(){ -- libgit2 0.21.2