Subversion Repositories Integrator Subversion

Rev

Rev 110 | Go to most recent revision | Details | 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()));
138
 
139
                ProvisaoCaixaDTO provisaoCaixa = acompanhamentoService.consultarGraficoCaixa(getFluxoDeCaixa().getDataInicial(), getFluxoDeCaixa().getDataFinal());
140
                setGraficoCaixa(provisaoCaixa.getGrafico());
141
                setProvisaoDetalhamentoCaixa(provisaoCaixa.getDetalhamentos());
142
        }
143
 
144
        public Double getValorTotalReceitas() {
145
                Double valorTotal = new Double(0.0);
146
                for (FluxoDeCaixaCategoriaDTO filhas : getReceitas()) {
147
                        valorTotal = valorTotal + filhas.getValor();
148
                }
149
                return valorTotal;
150
        }
151
 
152
        public Double getValorTotalDespesas() {
153
                Double valorTotal = new Double(0.0);
154
                for (FluxoDeCaixaCategoriaDTO filhas : getDespesas()) {
155
                        valorTotal = valorTotal + filhas.getValor();
156
                }
157
                return valorTotal;
158
        }
159
 
160
        public Double getValorTotalReceitasFuturas() {
161
                Double valorTotalFuturo = new Double(0.0);
162
                for (FluxoDeCaixaCategoriaDTO filhas : getReceitas()) {
163
                        valorTotalFuturo = valorTotalFuturo + filhas.getValorFuturo();
164
                }
165
                return valorTotalFuturo;
166
        }
167
 
168
        public Double getValorTotalDespesasFuturas() {
169
                Double valorTotalFuturo = new Double(0.0);
170
                for (FluxoDeCaixaCategoriaDTO filhas : getDespesas()) {
171
                        valorTotalFuturo = valorTotalFuturo + filhas.getValorFuturo();
172
                }
173
                return valorTotalFuturo;
174
        }
175
 
176
        public List<Parcela> consultarLancamentosParcela(Categoria categoria, Categoria categoriaPai, String tipoConta) {
177
                ParametrosConsultaLancamentosDTO parcelaConsulta = new ParametrosConsultaLancamentosDTO();
178
                parcelaConsulta.setDataInicial(getFluxoDeCaixa().getDataInicial());
179
                parcelaConsulta.setDataFinal(getFluxoDeCaixa().getDataFinal());
180
                parcelaConsulta.setCentroDeCustos(getFluxoDeCaixa().getCentroDeCustos());
181
                parcelaConsulta.setMatriz(getFluxoDeCaixa().getMatriz());
182
                parcelaConsulta.setCategoria(categoria);
183
                parcelaConsulta.setCategoriaPai(categoriaPai);
184
                parcelaConsulta.setTipoBusca(tipoConta);
185
                return parcelaService.consultarParcelas(parcelaConsulta);
186
        }
187
 
188
}