diff --git a/citgrp-patrimonio-api/src/main/resources/scripts-bd/postgres/v1.13.0/01-cit-patrimonio-v1.13.0-postgres.sql b/citgrp-patrimonio-api/src/main/resources/scripts-bd/postgres/v1.13.0/01-cit-patrimonio-v1.13.0-postgres.sql index 3a7a877..47f6ccf 100644 --- a/citgrp-patrimonio-api/src/main/resources/scripts-bd/postgres/v1.13.0/01-cit-patrimonio-v1.13.0-postgres.sql +++ b/citgrp-patrimonio-api/src/main/resources/scripts-bd/postgres/v1.13.0/01-cit-patrimonio-v1.13.0-postgres.sql @@ -6,4 +6,9 @@ UPDATE menufile UPDATE menufile SET caminho = '/citgrp-patrimonio-web/assets/js/angular/custom/repository/OrganizacaoPatrimonioRepository.min.js' - WHERE caminho = '/cit-adm-materiais-web/assets/js/angular/custom/repository/OrganizacaoAdmMateriaisRepository.min.js'; \ No newline at end of file + WHERE caminho = '/cit-adm-materiais-web/assets/js/angular/custom/repository/OrganizacaoAdmMateriaisRepository.min.js'; + + +-- Geovane 13/04/2016 +-- Adicionando atributo para verificação de quando a organização estiver em fechamento de mês +ALTER TABLE organizacao ADD COLUMN emFechamento boolean NOT NULL default(false); \ No newline at end of file diff --git a/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java b/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java index b3f3485..f566723 100644 --- a/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java +++ b/citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java @@ -106,53 +106,65 @@ public class OrganizacaoPatrimonioController { Organizacao organizacao = this.organizacaoService.find(requisicaoFechamento.get("organizacao")); Long tipoDepreciacaoCodigo = requisicaoFechamento.get("tipoDepreciacao"); - MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus(); - - MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus(); + if (!organizacao.getEmFechamento()) { + this.organizacaoService.iniciarFechamentoDeMes(organizacao.getId()); - retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId()); - retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO")); - - if(!retornoBensNaEstruturaAlmoxarifado.status) { - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class); - return responseBody; - } - - retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId()); - - MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); - retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao); - - if (retornoFechamentoBens.status && retornoFechamentoContas.status) { - MyRetornoStatus retornoDepreciacao = new MyRetornoStatus(); - - Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo); + MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus(); - Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId()); + MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus(); + + retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId()); + retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO")); - if (depreciacao != null) { - retornoDepreciacao = new MyRetornoStatus(depreciacao); - } else { - if (tipoDepreciacao == null) { - MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO"); - retornoDepreciacao.mensagens.add(mensagem); - } + if(!retornoBensNaEstruturaAlmoxarifado.status) { + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class); + return responseBody; } + + retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId()); + + MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); + retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao); + + if (retornoFechamentoBens.status && retornoFechamentoContas.status) { + MyRetornoStatus retornoDepreciacao = new MyRetornoStatus(); + + Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo); + + Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId()); + + if (depreciacao != null) { + retornoDepreciacao = new MyRetornoStatus(depreciacao); + } else { + if (tipoDepreciacao == null) { + MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO"); + retornoDepreciacao.mensagens.add(mensagem); + } + } - if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO")); - organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1); - this.organizacaoService.merge(organizacao); - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA")); - } else { - retornoFechamentoContas.status = retornoDepreciacao.status; - retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens); + if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO")); + organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1); + this.organizacaoService.merge(organizacao); + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA")); + } else { + retornoFechamentoContas.status = retornoDepreciacao.status; + retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens); + } } - } - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); + this.organizacaoService.terminarFechamentoDeMes(organizacao.getId()); - return responseBody; + return responseBody; + } else { + MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus(); + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES")); + + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); + + return responseBody; + } } } \ No newline at end of file -- libgit2 0.21.2