Commit ce466b41cc041054e1d3214f5718c216dd9b6344

Authored by geovane.filho
1 parent baef5a8e
Exists in master

Redmine #4483 Iniciando bloqueio ao estiver fechando mês de referência

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 @@ -6,4 +6,9 @@ UPDATE menufile
6 6
7 UPDATE menufile 7 UPDATE menufile
8 SET caminho = '/citgrp-patrimonio-web/assets/js/angular/custom/repository/OrganizacaoPatrimonioRepository.min.js' 8 SET caminho = '/citgrp-patrimonio-web/assets/js/angular/custom/repository/OrganizacaoPatrimonioRepository.min.js'
9 - WHERE caminho = '/cit-adm-materiais-web/assets/js/angular/custom/repository/OrganizacaoAdmMateriaisRepository.min.js';  
10 \ No newline at end of file 9 \ No newline at end of file
  10 + WHERE caminho = '/cit-adm-materiais-web/assets/js/angular/custom/repository/OrganizacaoAdmMateriaisRepository.min.js';
  11 +
  12 +
  13 +-- Geovane 13/04/2016
  14 +-- Adicionando atributo para verificação de quando a organização estiver em fechamento de mês
  15 +ALTER TABLE organizacao ADD COLUMN emFechamento boolean NOT NULL default(false);
11 \ No newline at end of file 16 \ No newline at end of file
citgrp-patrimonio-web/src/main/java/br/com/centralit/controller/OrganizacaoPatrimonioController.java
@@ -106,53 +106,65 @@ public class OrganizacaoPatrimonioController { @@ -106,53 +106,65 @@ public class OrganizacaoPatrimonioController {
106 Organizacao organizacao = this.organizacaoService.find(requisicaoFechamento.get("organizacao")); 106 Organizacao organizacao = this.organizacaoService.find(requisicaoFechamento.get("organizacao"));
107 Long tipoDepreciacaoCodigo = requisicaoFechamento.get("tipoDepreciacao"); 107 Long tipoDepreciacaoCodigo = requisicaoFechamento.get("tipoDepreciacao");
108 108
109 - MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus();  
110 -  
111 - MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus(); 109 + if (!organizacao.getEmFechamento()) {
  110 + this.organizacaoService.iniciarFechamentoDeMes(organizacao.getId());
112 111
113 - retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId());  
114 - retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO"));  
115 -  
116 - if(!retornoBensNaEstruturaAlmoxarifado.status) {  
117 - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class);  
118 - return responseBody;  
119 - }  
120 -  
121 - retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId());  
122 -  
123 - MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus();  
124 - retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao);  
125 -  
126 - if (retornoFechamentoBens.status && retornoFechamentoContas.status) {  
127 - MyRetornoStatus retornoDepreciacao = new MyRetornoStatus();  
128 -  
129 - Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo); 112 + MyRetornoStatus retornoFechamentoBens = new MyRetornoStatus();
130 113
131 - Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId()); 114 + MyRetornoStatus retornoBensNaEstruturaAlmoxarifado = new MyRetornoStatus();
  115 +
  116 + retornoBensNaEstruturaAlmoxarifado.status = this.bemPatrimonialService.validarBensNaEstruturaAlmoxarifado(organizacao.getId());
  117 + retornoBensNaEstruturaAlmoxarifado.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.BENS_NA_ESTRUTURA_ALMOXARIFADO"));
132 118
133 - if (depreciacao != null) {  
134 - retornoDepreciacao = new MyRetornoStatus(depreciacao);  
135 - } else {  
136 - if (tipoDepreciacao == null) {  
137 - MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO");  
138 - retornoDepreciacao.mensagens.add(mensagem);  
139 - } 119 + if(!retornoBensNaEstruturaAlmoxarifado.status) {
  120 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoBensNaEstruturaAlmoxarifado, Views.EstruturaOrganizacionalEditView.class);
  121 + return responseBody;
140 } 122 }
  123 +
  124 + retornoFechamentoBens.status = this.bemPatrimonialService.fecharValoresBens(organizacao.getId(), user.getId());
  125 +
  126 + MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus();
  127 + retornoFechamentoContas.status = this.contaContabilSaldoService.fechaSaldoContasContabeisTipoPermanente(organizacao);
  128 +
  129 + if (retornoFechamentoBens.status && retornoFechamentoContas.status) {
  130 + MyRetornoStatus retornoDepreciacao = new MyRetornoStatus();
  131 +
  132 + Dominio tipoDepreciacao = this.dominioService.findByChaveAndCodigo(Dominio.TIPO_DEPRECIACAO, tipoDepreciacaoCodigo);
  133 +
  134 + Depreciacao depreciacao = this.depreciacaoService.geraDepreciacao(organizacao, tipoDepreciacao, user.getId());
  135 +
  136 + if (depreciacao != null) {
  137 + retornoDepreciacao = new MyRetornoStatus(depreciacao);
  138 + } else {
  139 + if (tipoDepreciacao == null) {
  140 + MyMensagemRetorno mensagem = new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.error, "MSG.FECHAR_MES_REFERENCIA_SEM_DEPRECIACAO");
  141 + retornoDepreciacao.mensagens.add(mensagem);
  142 + }
  143 + }
141 144
142 - if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia  
143 - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO"));  
144 - organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1);  
145 - this.organizacaoService.merge(organizacao);  
146 - retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA"));  
147 - } else {  
148 - retornoFechamentoContas.status = retornoDepreciacao.status;  
149 - retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens); 145 + if (retornoDepreciacao.status) { // Se a depreciação foi realizada com sucesso eu atualizo o mês de referencia
  146 + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_DEPRECIACAO"));
  147 + organizacao.getDataReferenciaVigente().add(Calendar.MONTH, 1);
  148 + this.organizacaoService.merge(organizacao);
  149 + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.success, "MSG.SUCESSO_MES_REFERENCIA"));
  150 + } else {
  151 + retornoFechamentoContas.status = retornoDepreciacao.status;
  152 + retornoFechamentoContas.mensagens.addAll(retornoDepreciacao.mensagens);
  153 + }
150 } 154 }
151 - }  
152 155
153 - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class); 156 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class);
  157 + this.organizacaoService.terminarFechamentoDeMes(organizacao.getId());
154 158
155 - return responseBody; 159 + return responseBody;
  160 + } else {
  161 + MyRetornoStatus retornoFechamentoContas = new MyRetornoStatus();
  162 + retornoFechamentoContas.mensagens.add(new MyMensagemRetorno(MyMensagemRetorno.TipoMensagemRetorno.warning, "MSG.ORGANIZACAO_EM_FECHAMENTO_MES"));
  163 +
  164 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(retornoFechamentoContas, Views.EstruturaOrganizacionalEditView.class);
  165 +
  166 + return responseBody;
  167 + }
156 } 168 }
157 169
158 } 170 }
159 \ No newline at end of file 171 \ No newline at end of file