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
+