diff --git a/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java b/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java index 8616063..5699ffa 100644 --- a/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java +++ b/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java @@ -22,10 +22,12 @@ import br.com.centralit.api.model.EntradaPatrimonioItem; import br.com.centralit.api.model.InventarioBemPatrimonial; import br.com.centralit.api.model.MyMensagemRetorno; import br.com.centralit.api.model.MyRetornoStatus; +import br.com.centralit.api.model.Transferencia; import br.com.centralit.api.service.AdicaoBemPrincipalService; import br.com.centralit.api.service.BemPatrimonialService; import br.com.centralit.api.service.EntradaItemService; import br.com.centralit.api.service.OrganizacaoService; +import br.com.centralit.api.service.TransferenciaService; import br.com.centralit.api.service.UsuarioService; import br.com.centralit.api.viewHelper.AlteracaoBemVH; import br.com.centralit.api.viewHelper.BemPatrimonialVH; @@ -54,7 +56,10 @@ public class BemPatrimonialController extends GenericController @Autowired private OrganizacaoService organizacaoService; - + + @Autowired + private TransferenciaService transferenciaService; + public BemPatrimonialController() { super(); @@ -688,4 +693,16 @@ public class BemPatrimonialController extends GenericController return responseBody; } + @RequestMapping(value = "/veirificaTransferenciaMaisRecenteBemPatrimonial", method = RequestMethod.GET, produces = "application/json") + @ResponseBody + public boolean veirificaTransferenciaMaisRecenteBemPatrimonial(Long idBem) { + Transferencia transferenciaMaisRecente = transferenciaService.obterTransferenciaMaisRecenteBem(idBem); + + if(transferenciaMaisRecente == null) { + return false; + } else { + return true; + } + } + } diff --git a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BemPatrimonialController.js b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BemPatrimonialController.js index 5fdfe9e..ac37944 100644 --- a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BemPatrimonialController.js +++ b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/BemPatrimonialController.js @@ -11,7 +11,7 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito }; $scope.diferenca = null; $scope.novoValorResidual = 0; - + // Limpa formulário para novo cadastro $scope.resetForm = function() { $scope.limparAlteracao(); @@ -256,12 +256,53 @@ citApp.controller('BemPatrimonialController', ['$scope', 'BemPatrimonialReposito }); function preencherTiposAlteracaoEdit() { - $scope.tiposAlteracao = []; - DominioRepository.buscaDominioByCodigoAndChave(1, 'tipoAlteracaoBemPatrimonialIndividual').then(function(result) { - $scope.tiposAlteracao.push(result.originalElement); + var isTodosTiposAlteracao = true; + + BemPatrimonialRepository.veirificaTransferenciaMaisRecenteBemPatrimonial($scope.bemPatrimonial.id).then(function(result){ + if(validarDataTransferencia() && result) { + isTodosTiposAlteracao = false; + $scope.tiposAlteracao = []; + if(isTodosTiposAlteracao) { + DominioRepository.findAllDominio('tipoAlteracaoBemPatrimonialIndividual').then(function(result) { + angular.forEach(result, function(tipoAlt) { + if(tipoAlt.originalElement.codigo != 6){ + $scope.tiposAlteracao.push(tipoAlt.originalElement); + } + }); + }); + } else { + DominioRepository.buscaDominioByCodigoAndChave(1, 'tipoAlteracaoBemPatrimonialIndividual').then(function(result) { + $scope.tiposAlteracao.push(result.originalElement); + }); + } + } }); }; + // Método responsável por validar se da data da transferência escolhida é válida em relação a referência vigente antes da inclusão + function validarDataTransferencia() { + + var dataContabilizacaoBemPatrimonial; + + // Se já for a data preenchida automaticamente ao entrar na interface de inclusão, ela vem no formato DD/MM/YYYY + try { + + dataContabilizacaoBemPatrimonial = angular.copy(converterStringEmDate($scope.bemPatrimonial.dataContabil)); + + } catch(err) { + + //Usuário altera a data no componente, ela já fica no formato date + dataContabilizacaoBemPatrimonial = angular.copy($scope.bemPatrimonial.dataContabil); + } + // Converte em Date e inicializa dia e hora das datas a serem comparadas. Só valida MM/YYYY + var dataVigencia = converterStringEmDate($scope.usuarioLogado.organizacao.dataReferenciaVigente); + dataContabilizacaoBemPatrimonial.setDate(1); + dataVigencia.setDate(1); + + return dataContabilizacaoBemPatrimonial.getTime() == dataVigencia.getTime(); + } + + DominioRepository.findAllDominio('tipoMotivoAlteracaoBem').then(function(result) { $scope.tiposMotivoAlteracao = []; -- libgit2 0.21.2