Subversion Repositories Integrator Subversion

Rev

Rev 110 | Rev 114 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.controller.managedbean;
2
 
3
import java.io.Serializable;
4
import java.util.List;
5
 
6
import javax.inject.Inject;
7
import javax.inject.Named;
8
 
9
import org.primefaces.model.chart.LineChartModel;
10
import org.springframework.context.annotation.Scope;
11
 
12
import br.com.ec.domain.dto.ConsolidadoGestaoDTO;
13
import br.com.ec.domain.dto.DetalhamentoCaixaDTO;
14
import br.com.ec.domain.dto.FluxoDeCaixaCategoriaDTO;
15
import br.com.ec.domain.dto.FluxoDeCaixaDTO;
16
import br.com.ec.domain.dto.ParametrosConsultaLancamentosDTO;
17
import br.com.ec.domain.dto.ProvisaoCaixaDTO;
18
import br.com.ec.domain.model.Categoria;
19
import br.com.ec.domain.model.Parcela;
20
import br.com.ec.domain.model.tipos.TipoCategoria;
21
import br.com.ec.domain.service.acompanhamento.AcompanhamentoService;
22
import br.com.ec.domain.service.parcela.ParcelaService;
23
import br.edu.cesmac.core.generic.GenericService;
24
import br.edu.cesmac.core.util.DataUtils;
25
import br.edu.cesmac.core.util.VerificadorUtil;
26
import br.edu.cesmac.web.generic.AbstractBean;
27
 
28
@Named
29
@Scope("view")
30
public class FluxoDeCaixaBean extends AbstractBean<ConsolidadoGestaoDTO> implements Serializable {
31
 
32
        private static final long serialVersionUID = 1L;
33
 
34
        private FluxoDeCaixaDTO fluxoDeCaixa;
35
        private List<FluxoDeCaixaCategoriaDTO> receitas;
36
        private List<FluxoDeCaixaCategoriaDTO> despesas;
37
 
38
        private List<Parcela> parcelas;
39
        private LineChartModel graficoCaixa;
40
        private List<DetalhamentoCaixaDTO> provisaoDetalhamentoCaixa;
41
 
42
        private AcompanhamentoService acompanhamentoService;
43
        private ParcelaService parcelaService;
44
 
45
        @Inject
46
        public FluxoDeCaixaBean(AcompanhamentoService acompanhamentoService, ParcelaService parcelaService) {
47
                this.acompanhamentoService = acompanhamentoService;
48
                this.parcelaService = parcelaService;
49
        }
50
 
51
        @Override
52
        public void limparEntidade() {
53
                setEntidade(new ConsolidadoGestaoDTO());
54
        }
55
 
56
        @Override
57
        public GenericService<ConsolidadoGestaoDTO> getService() {
58
                return null;
59
        }
60
 
61
        @Override
62
        public ConsolidadoGestaoDTO getEntidade() {
63
                return entidade;
64
        }
65
 
66
        @Override
67
        public ConsolidadoGestaoDTO getId() {
68
                return getEntidade();
69
        }
70
 
71
        public FluxoDeCaixaDTO getFluxoDeCaixa() {
72
                return fluxoDeCaixa;
73
        }
74
        public void setFluxoDeCaixa(FluxoDeCaixaDTO fluxoDeCaixa) {
75
                this.fluxoDeCaixa = fluxoDeCaixa;
76
        }
77
 
78
        public List<FluxoDeCaixaCategoriaDTO> getReceitas() {
79
                return receitas;
80
        }
81
        public void setReceitas(List<FluxoDeCaixaCategoriaDTO> receitas) {
82
                this.receitas = receitas;
83
        }
84
 
85
        public List<FluxoDeCaixaCategoriaDTO> getDespesas() {
86
                return despesas;
87
        }
88
        public void setDespesas(List<FluxoDeCaixaCategoriaDTO> despesas) {
89
                this.despesas = despesas;
90
        }
91
 
92
        public List<Parcela> getParcelas() {
93
                return parcelas;
94
        }
95
        public void setParcelas(List<Parcela> parcelas) {
96
                this.parcelas = parcelas;
97
        }
98
        public Double getTotalValoresParcelas() {
99
                Double valorTotal = new Double(0.0);
100
                if (VerificadorUtil.naoEstaNuloOuVazio(getParcelas())) {
101
                        for (Parcela parcela : getParcelas()) {
102
                                valorTotal = valorTotal + parcela.getValor();
103
                        }
104
                }
105
                return valorTotal;
106
        }
107
 
108
        public LineChartModel getGraficoCaixa() {
109
                return graficoCaixa;
110
        }
111
        public void setGraficoCaixa(LineChartModel graficoCaixa) {
112
                this.graficoCaixa = graficoCaixa;
113
        }
114
 
115
        public List<DetalhamentoCaixaDTO> getProvisaoDetalhamentoCaixa() {
116
                return provisaoDetalhamentoCaixa;
117
        }
118
        public void setProvisaoDetalhamentoCaixa(List<DetalhamentoCaixaDTO> provisaoDetalhamentoCaixa) {
119
                this.provisaoDetalhamentoCaixa = provisaoDetalhamentoCaixa;
120
        }
121
 
122
        /********************************************************************/
123
 
124
        @Override
125
        public void preCarregamento() {
126
                try {
127
                        setFluxoDeCaixa(new FluxoDeCaixaDTO(DataUtils.getPrimeiroDiaDoMesAtual(), DataUtils.getUltimoDiaDoMesAtual()));
128
                        consultarFluxoDeCaixa();
129
                } catch (Exception e) {
130
                        e.printStackTrace();
131
                }
132
        }
133
 
134
        public void consultarFluxoDeCaixa() {
135
                setFluxoDeCaixa(acompanhamentoService.consultarFluxoDeCaixa(getFluxoDeCaixa()));
136
                setReceitas(acompanhamentoService.consultarFluxoDeCaixaPorCategoria(getFluxoDeCaixa(), TipoCategoria.RECEITAS.getValor()));
137
                setDespesas(acompanhamentoService.consultarFluxoDeCaixaPorCategoria(getFluxoDeCaixa(), TipoCategoria.DESPESAS.getValor()));
110 espaco 138
        }
139
 
140
        public void consultarProvisaoCaixa() {
106 espaco 141
                ProvisaoCaixaDTO provisaoCaixa = acompanhamentoService.consultarGraficoCaixa(getFluxoDeCaixa().getDataInicial(), getFluxoDeCaixa().getDataFinal());
142
                setGraficoCaixa(provisaoCaixa.getGrafico());
143
                setProvisaoDetalhamentoCaixa(provisaoCaixa.getDetalhamentos());
144
        }
145
 
146
        public Double getValorTotalReceitas() {
147
                Double valorTotal = new Double(0.0);
148
                for (FluxoDeCaixaCategoriaDTO filhas : getReceitas()) {
149
                        valorTotal = valorTotal + filhas.getValor();
150
                }
151
                return valorTotal;
152
        }
153
 
154
        public Double getValorTotalDespesas() {
155
                Double valorTotal = new Double(0.0);
156
                for (FluxoDeCaixaCategoriaDTO filhas : getDespesas()) {
157
                        valorTotal = valorTotal + filhas.getValor();
158
                }
159
                return valorTotal;
160
        }
161
 
162
        public Double getValorTotalReceitasFuturas() {
163
                Double valorTotalFuturo = new Double(0.0);
164
                for (FluxoDeCaixaCategoriaDTO filhas : getReceitas()) {
165
                        valorTotalFuturo = valorTotalFuturo + filhas.getValorFuturo();
166
                }
167
                return valorTotalFuturo;
168
        }
169
 
170
        public Double getValorTotalDespesasFuturas() {
171
                Double valorTotalFuturo = new Double(0.0);
172
                for (FluxoDeCaixaCategoriaDTO filhas : getDespesas()) {
173
                        valorTotalFuturo = valorTotalFuturo + filhas.getValorFuturo();
174
                }
175
                return valorTotalFuturo;
176
        }
177
 
112 espaco 178
        public Double getValorTotalReceitasOrcadas() {
179
                Double valorTotalOrcado = new Double(0.0);
180
                for (FluxoDeCaixaCategoriaDTO filhas : getReceitas()) {
181
                        valorTotalOrcado = valorTotalOrcado + filhas.getValorOrcado();
182
                }
183
                return valorTotalOrcado;
184
        }
185
 
186
        public Double getValorTotalDespesasOrcadas() {
187
                Double valorTotalOrcado = new Double(0.0);
188
                for (FluxoDeCaixaCategoriaDTO filhas : getDespesas()) {
189
                        valorTotalOrcado = valorTotalOrcado + filhas.getValorOrcado();
190
                }
191
                return valorTotalOrcado;
192
        }
193
 
106 espaco 194
        public List<Parcela> consultarLancamentosParcela(Categoria categoria, Categoria categoriaPai, String tipoConta) {
195
                ParametrosConsultaLancamentosDTO parcelaConsulta = new ParametrosConsultaLancamentosDTO();
196
                parcelaConsulta.setDataInicial(getFluxoDeCaixa().getDataInicial());
197
                parcelaConsulta.setDataFinal(getFluxoDeCaixa().getDataFinal());
198
                parcelaConsulta.setCentroDeCustos(getFluxoDeCaixa().getCentroDeCustos());
199
                parcelaConsulta.setMatriz(getFluxoDeCaixa().getMatriz());
200
                parcelaConsulta.setCategoria(categoria);
201
                parcelaConsulta.setCategoriaPai(categoriaPai);
202
                parcelaConsulta.setTipoBusca(tipoConta);
203
                return parcelaService.consultarParcelas(parcelaConsulta);
204
        }
205
 
206
}