From c46f18f654621f54ef55836d98c0e56c80a74bd7 Mon Sep 17 00:00:00 2001 From: erick.sato Date: Thu, 28 Apr 2016 18:18:49 -0300 Subject: [PATCH] [Redmine Atendimento #4709]Permitir alterar status bem patrimonial pelo tratamento de inconstencia do inventario --- citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java | 2 ++ citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/BemPatrimonialServiceImpl.java | 24 +++++++++++++++++++++--- citgrp-patrimonio-api/src/main/java/br/com/centralit/api/viewHelper/TratamentoInconsistenciaVH.java | 71 +++++++++++++++++++++++++++++++++-------------------------------------- citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/BemPatrimonialController.java | 15 ++++++++++++++- citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java | 2 ++ citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/BemPatrimonialRepository.js | 5 +++++ citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- 8 files changed, 261 insertions(+), 46 deletions(-) diff --git a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java index e3f6b37..3da9209 100644 --- a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java +++ b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/BemPatrimonialService.java @@ -903,4 +903,6 @@ public interface BemPatrimonialService extends GenericService buscaIdBensPorEntradaItem(Long entradaItemId); + + void alterarStatusBemPatrimonialInventario(Dominio novoStatus, Long idBem); } diff --git a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/BemPatrimonialServiceImpl.java b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/BemPatrimonialServiceImpl.java index f9f2b91..5deeaee 100644 --- a/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/BemPatrimonialServiceImpl.java +++ b/citgrp-patrimonio-api/src/main/java/br/com/centralit/api/service/impl/BemPatrimonialServiceImpl.java @@ -206,7 +206,7 @@ public class BemPatrimonialServiceImpl extends GenericServiceImpl

+ *

+ * + *

* - *

Company: Central IT - Governança Corporativa -

+ *

+ * Company: Central IT - Governança Corporativa - + *

* - *

Title:

+ *

+ * Title: + *

* - *

Description:

+ *

+ * Description: + *

* - *

Iniciativa(s): NUMERO_INICIATIVA

+ *

+ * Iniciativa(s): NUMERO_INICIATIVA + *

* - *

Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO

+ *

+ * Regra(s) de negócio: NUMERO_REGRA_DE_NEGOCIO + *

* * @since 13/11/2015 - 13:16:22 * @@ -70,6 +82,9 @@ public class TratamentoInconsistenciaVH implements Serializable { @JsonView({ Views.DadosBemPatrimonialEditView.class }) private Inventario inventario; + @JsonView({ Views.InventarioBemPatrimonialInconsistenciaMapView.class }) + private Dominio novoStatusBem; + /** * Retorna o valor do atributo transferencia * @@ -80,7 +95,6 @@ public class TratamentoInconsistenciaVH implements Serializable { return transferencia; } - /** * Define o valor do atributo transferencia. * @@ -91,7 +105,6 @@ public class TratamentoInconsistenciaVH implements Serializable { this.transferencia = transferencia; } - /** * Retorna o valor do atributo listaInventarioBem * @@ -102,7 +115,6 @@ public class TratamentoInconsistenciaVH implements Serializable { return listaInventarioBem; } - /** * Define o valor do atributo listaInventarioBem. * @@ -113,7 +125,6 @@ public class TratamentoInconsistenciaVH implements Serializable { this.listaInventarioBem = listaInventarioBem; } - /** * Retorna o valor do atributo idEstruturaOrganizacional * @@ -124,7 +135,6 @@ public class TratamentoInconsistenciaVH implements Serializable { return idEstruturaOrganizacional; } - /** * Define o valor do atributo idEstruturaOrganizacional. * @@ -135,8 +145,6 @@ public class TratamentoInconsistenciaVH implements Serializable { this.idEstruturaOrganizacional = idEstruturaOrganizacional; } - - /** * Retorna o valor do atributo saidaTemporaria * @@ -147,8 +155,6 @@ public class TratamentoInconsistenciaVH implements Serializable { return saidaTemporaria; } - - /** * Define o valor do atributo saidaTemporaria. * @@ -159,8 +165,6 @@ public class TratamentoInconsistenciaVH implements Serializable { this.saidaTemporaria = saidaTemporaria; } - - /** * Retorna o valor do atributo baixa * @@ -171,8 +175,6 @@ public class TratamentoInconsistenciaVH implements Serializable { return baixa; } - - /** * Define o valor do atributo baixa. * @@ -183,8 +185,6 @@ public class TratamentoInconsistenciaVH implements Serializable { this.baixa = baixa; } - - /** * Retorna o valor do atributo bemPatrimonial * @@ -195,8 +195,6 @@ public class TratamentoInconsistenciaVH implements Serializable { return bemPatrimonial; } - - /** * Define o valor do atributo bemPatrimonial. * @@ -207,47 +205,44 @@ public class TratamentoInconsistenciaVH implements Serializable { this.bemPatrimonial = bemPatrimonial; } - public Long getCodigoDominioTratamentoEscolhido() { return codigoDominioTratamentoEscolhido; } - - public void setCodigoDominioTratamentoEscolhido( - Long codigoDominioTratamentoEscolhido) { + public void setCodigoDominioTratamentoEscolhido(Long codigoDominioTratamentoEscolhido) { this.codigoDominioTratamentoEscolhido = codigoDominioTratamentoEscolhido; } - public List getListaDadosBemPatrimonial() { return listaDadosBemPatrimonial; } - - public void setListaDadosBemPatrimonial( - List listaDadosBemPatrimonial) { + public void setListaDadosBemPatrimonial(List listaDadosBemPatrimonial) { this.listaDadosBemPatrimonial = listaDadosBemPatrimonial; } - public DadosBemPatrimonial getDadosBemPatrimonialSelecionado() { return dadosBemPatrimonialSelecionado; } - - public void setDadosBemPatrimonialSelecionado( - DadosBemPatrimonial dadosBemPatrimonialSelecionado) { + public void setDadosBemPatrimonialSelecionado(DadosBemPatrimonial dadosBemPatrimonialSelecionado) { this.dadosBemPatrimonialSelecionado = dadosBemPatrimonialSelecionado; } - public Inventario getInventario() { return inventario; } - public void setInventario(Inventario inventario) { this.inventario = inventario; } + public Dominio getNovoStatusBem() { + return novoStatusBem; + } + + public void setNovoStatusBem(Dominio novoStatusBem) { + this.novoStatusBem = novoStatusBem; + } + } 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 5699ffa..823c246 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 @@ -25,6 +25,7 @@ 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.DominioService; import br.com.centralit.api.service.EntradaItemService; import br.com.centralit.api.service.OrganizacaoService; import br.com.centralit.api.service.TransferenciaService; @@ -60,6 +61,9 @@ public class BemPatrimonialController extends GenericController @Autowired private TransferenciaService transferenciaService; + @Autowired + private DominioService dominioService; + public BemPatrimonialController() { super(); @@ -573,7 +577,8 @@ public class BemPatrimonialController extends GenericController Organizacao organizacao = this.organizacaoService.find(this.getUsuario().getOrganizacao().getId()); - if (!organizacao.getEmFechamento() && UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getBaixa())) { + if (!organizacao.getEmFechamento() && (UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getBaixa()) || UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getNovoStatusBem())) + || UtilObjeto.isReferencia(tratamentoInconsistenciaVH.getSaidaTemporaria()) ) { ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.bemPatrimonialService.alterarListaBemInconsistenciaTipo1(tratamentoInconsistenciaVH), getEditView()); @@ -705,4 +710,12 @@ public class BemPatrimonialController extends GenericController } } + @RequestMapping(value = "/alterarStatusBemPatrimonialInventario", method = RequestMethod.GET, produces = "application/json") + @ResponseBody + public Boolean alterarStatusBemPatrimonialInventario(@RequestParam(value = "idDominioStatusBem") Long idDominioStatusBem, @RequestParam(value = "idBemPatrimonial") Long idBemPatrimonial) { + this.bemPatrimonialService.alterarStatusBemPatrimonialInventario(this.dominioService.find(idDominioStatusBem), idBemPatrimonial); + return true; + } + + } diff --git a/citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java b/citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java index 2e1ebb9..1d71899 100644 --- a/citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java +++ b/citgrp-patrimonio-web/src/main/java/br/com/centralit/listener/StartupListenerPatrimonio.java @@ -591,6 +591,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_GERAL_RESUMO_CONTA_CONTABIL", "Relatório Inventário Geral – Resumo por Contas", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TITULO_INVENTARIO_QUANTITATIVO_LEVANTAMENTO", "Relatório Quantitativo Por Levantamento", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.TRANSFERENCIA_CANCELADA", "Transferência cancelada", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.LABEL.ALTERAR_STATUS", "Alteração de status", dominio, modulo)); } @@ -755,6 +756,7 @@ public class StartupListenerPatrimonio extends UtilStartup implements Applicatio internacionalizacaoList.add(new Internacionalizacao("HISTORICO_SAIDA_COM_PREVISAO" , "Bem está em saída temporária com o objetivo: :OBJETIVOSAIDA:. Data Prevista para Retorno: :DATARETORNO:.", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.DATA_FORA_REFERENCIA_EXCLUSAO_ENTRADA" , "Essa entrada não pode ser excluída porque ela não foi contabilizada na referência vigente.", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("VALIDACAO.EXCLUSAO_TRANSFERENCIA_IMPOSSIVEL" , "Não é possível excluir a transferência, pois houve movimentação após a transferência!", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("PATRIMONIO.MSG.ACAO_ALTERAR_STATUS", "Esta ação irá realizar uma alteração de status do bem patrimonial", dominio, modulo)); } } diff --git a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js index e0ed0a4..338f894 100644 --- a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js +++ b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/controller/InventarioController.js @@ -2812,7 +2812,7 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ } }; - + $scope.baixa = function(desfazimentoComissao, dataBaixa) { $scope.desfazimentoComissao = desfazimentoComissao; @@ -3839,6 +3839,41 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ }; + + $scope.alterarStatusBemMultipla = function(dominioStatusBem) { + + $scope.codigoDominioTratamentoEscolhido = 3; + $scope.dominioStatusBem = dominioStatusBem.originalElement; + $scope.setLoadingSalva(true); + + var listaIds = []; + var idInventarioEstrutura = 0; + + angular.forEach($scope.inconsistenciaTipo1, function(item){ + idInventarioEstrutura = item.dadosBemPatrimonial.inventarioEstruturaOrganizacional.id; + listaIds.push(item.dadosBemPatrimonial.bemPatrimonial.id); + }); + + DadosBemPatrimonialRepository.existeBemAguardandoTratamentoList(listaIds, $scope.inventario.id, idInventarioEstrutura).then(function(result) { + if(result){ + $scope.$openModalConfirm({ + message: $translate.instant("PATRIMONIO.MSG.EXISTE_BEM_EXISTENTE_OUTRA_ESTRUTURA_INVENTARIO_TRATAMENTO"), + callback: function () { + $scope.executarSaidaTemporariaModalConfirm = true; + $scope.$modalConfirmInstance.dismiss('cancel'); + $scope.$modalInstance.dismiss('cancel'); + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus(); + } + }); + }else{ + $scope.$modalInstance.dismiss('cancel'); + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus(); + } + }); + + $scope.setLoading(false); + + }; $scope.alteracaoBemPatrimonialTipo1ListaSaida = function() { @@ -3893,6 +3928,36 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ }); }; + + $scope.alteracaoBemPatrimonialTipo1ListaAlteracaoStatus = function() { + + $scope.setLoadingSalva(true); + + var tratamentoInconsistencia = { + novoStatusBem : $scope.dominioStatusBem, + listaInventarioBem : $scope.inconsistenciaTipo1, + idEstruturaOrganizacional : getIdInventarioEstruturaOrganizacionalPorEstruturaSelecionada(), + codigoDominioTratamentoEscolhido : $scope.codigoDominioTratamentoEscolhido + }; + + BemPatrimonialRepository.alterarListaBemInconsistenciaTipo1(tratamentoInconsistencia).then(function(result){ + if (result.originalElement && result.originalElement.status != undefined && !result.originalElement.status && result.originalElement.mensagens) { + $scope.setLoading(false); + angular.forEach(result.originalElement.mensagens, function (mensagem) { + $scope.showAlert(mensagem.tipoMensagem, $translate.instant(mensagem.mensagem)); + }); + } else { + alterarDominioStatusInventarioEstrutura(result); + $scope.setLoading(false); + $scope.scrollToCadastro('#atualizarMultiplosBensPatrimoniais'); + $scope.showAlert("success", $translate.instant("MSG.MG001")); + $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); + $scope.$modalInstance.dismiss('cancel'); + $scope.irParaFim(); + } + }); + + }; $scope.abrirModalEntradaSalvaMultipla = function(item) { $scope.itemSelecionado = item; @@ -3963,6 +4028,22 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ $scope.$openModal('modal-baixa.html', 'md'); }; + + $scope.abrirModalAlterarStatus = function(dominioInconsistencia){ + + $scope.dominioInconsistencia = dominioInconsistencia; + + DominioRepository.findAllDominio('tipoStatusBem').then(function(result) { + $scope.dominiosStatusBem = []; + angular.forEach(result, function (dominio) { + if(dominio.codigo == 7 || dominio.codigo == 10 || dominio.codigo == 9){ + $scope.dominiosStatusBem.push(dominio); + } + }); + }); + + $scope.$openModal('modal-alterar-status.html', 'md'); + }; $scope.desabilitaCampoFisicaStatus = function(){ $scope.desabilitaBemNaoEncontrado = $scope.bemNaoEncontradoModel; @@ -4080,7 +4161,61 @@ citApp.controller('InventarioController', ['$scope', '$filter', '$translate', '$ $scope.getBensPatrimoniaisEstruturaOrganizacional($scope.estruturaOrganizacional); $scope.irParaFim(); }); + }; + + $scope.alterarStatusBemUnico = function(dominioStatusBem) { + + var idInventarioEstrutura = $scope.dadosBemPatrimonialSelecionado['inventarioEstruturaOrganizacional.id'] ? $scope.dadosBemPatrimonialSelecionado['inventarioEstruturaOrganizacional.id'] : $scope.dadosBemPatrimonialSelecionado.inventarioEstruturaOrganizacional.id; + var idBem = $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] ? $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] : $scope.dadosBemPatrimonialSelecionado.bemPatrimonial.id; + // Obtem DadosBemPatrimonial aguardado tratamento para o mesmo bem + DadosBemPatrimonialRepository.existeBemAguardandoTratamento(idBem, $scope.inventario.id, idInventarioEstrutura).then(function(result) { + + $scope.obterNomeEstruturasDoBemInventariado(result); + $scope.resultDadosBemPatrimonial = result; + $scope.executarAlteracaoStatusBemModalConfirm = false; + + // HA ESTRUTURAS QUE ESTAO AGUARDANDO TRATAMENTO PARA O MESMO BEM + if($scope.nomesEstruturasBemInventariado !== "") { + $scope.$modalInstance.dismiss('cancel'); + $scope.$openModalConfirm({ + message: $translate.instant("PATRIMONIO.MSG.BEM_EXISTENTE_OUTRA_ESTRUTURA_INVENTARIO_TRATAMENTO").concat($scope.nomesEstruturasBemInventariado), + callback: function () { + $scope.executarAlteracaoStatusBemModalConfirm = true; + $scope.executarAlteracaoStatusBem(dominioStatusBem); + } + }); + + } else { + $scope.executarAlteracaoStatusBem(dominioStatusBem); + } + + }); + }; + + $scope.executarAlteracaoStatusBem = function(dominioStatusBem) { + + $scope.setLoadingSalva(true); + var idBem = $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] ? $scope.dadosBemPatrimonialSelecionado['bemPatrimonial.id'] : $scope.dadosBemPatrimonialSelecionado.bemPatrimonial.id; + // Salva a baixa + BemPatrimonialRepository.alterarStatusBemPatrimonialInventario(dominioStatusBem.id, idBem).then(function(result) { + $timeout(function(){ + // Salva a alteração do dominío inconsistência - Data tratamento + DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoTratamentoInconsistencia').then(function(result) { + $scope.dominioInconsistencia.dominioTrataInconsistencia = result.originalElement; + alterarDominioInconsistencia($scope.dominioInconsistencia); + }); + }); + + if($scope.executarAlteracaoStatusBemModalConfirm){ + $scope.$modalConfirmInstance.dismiss('cancel'); + $scope.tratarInconsistenciasAutomaticamente(); + } else { + $scope.$modalInstance.dismiss('cancel'); + $scope.setLoading(false); + } + }); + + }; - }; }]); \ No newline at end of file diff --git a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/BemPatrimonialRepository.js b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/BemPatrimonialRepository.js index 078c98b..edcbffe 100644 --- a/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/BemPatrimonialRepository.js +++ b/citgrp-patrimonio-web/src/main/webapp/assets/js/angular/custom/repository/BemPatrimonialRepository.js @@ -152,6 +152,11 @@ citApp.factory('BemPatrimonialRepository', ['RestangularPatrimonio', 'AbstractRe this.veirificaTransferenciaMaisRecenteBemPatrimonial = function(idBem) { return restangularPatrimonio.one(this.route+"/veirificaTransferenciaMaisRecenteBemPatrimonial").get({"idBem": idBem}).then(); }; + + this.alterarStatusBemPatrimonialInventario = function(idStatusBem, idBem) { + return restangularPatrimonio.one(this.route+"/alterarStatusBemPatrimonialInventario").get({"idDominioStatusBem": idStatusBem , "idBemPatrimonial": idBem}).then(); + }; + } AbstractRepository.extend(BemPatrimonialRepository); diff --git a/citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html b/citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html index 5681d4f..0164407 100644 --- a/citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html +++ b/citgrp-patrimonio-web/src/main/webapp/html/inventario/inventarioEdit.html @@ -1203,6 +1203,11 @@ PATRIMONIO.LABEL.BAIXA + + PATRIMONIO.LABEL.ALTERAR_STATUS + + PATRIMONIO.LABEL.ALTERAR_STATUS + PATRIMONIO.LABEL.TRANSFERENCIA_INTERNA @@ -1496,6 +1501,10 @@ PATRIMONIO.LABEL.BAIXA +