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 6  
7 7 UPDATE menufile
8 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 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 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 106 Organizacao organizacao = this.organizacaoService.find(requisicaoFechamento.get("organizacao"));
107 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 171 \ No newline at end of file
... ...