Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
259 espaco 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
268 espaco 4
import java.util.ArrayList;
261 espaco 5
import java.util.Arrays;
259 espaco 6
import java.util.List;
7
 
8
import javax.inject.Inject;
9
import javax.inject.Named;
10
 
11
import org.primefaces.model.charts.bar.BarChartModel;
12
import org.primefaces.model.charts.pie.PieChartModel;
13
import org.springframework.context.annotation.Scope;
14
 
15
import br.com.ec.core.generic.GenericService;
268 espaco 16
import br.com.ec.domain.dto.FormaPagamentoDTO;
259 espaco 17
import br.com.ec.domain.dto.FuncionarioDTO;
268 espaco 18
import br.com.ec.domain.dto.LojaDTO;
19
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
259 espaco 20
import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO;
268 espaco 21
import br.com.ec.domain.dto.grafico.GraficoBarraDTO;
261 espaco 22
import br.com.ec.domain.model.tipos.TipoProduto;
259 espaco 23
import br.com.ec.domain.service.FuncionarioService;
268 espaco 24
import br.com.ec.domain.service.GraficoService;
259 espaco 25
import br.com.ec.web.generic.AbstractBean;
26
 
27
@Named
28
@Scope("view")
29
public class RelatorioAnaliticoBean extends AbstractBean<FuncionarioDTO> implements Serializable {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
268 espaco 33
        private FuncionarioService funcionarioService;
34
        private GraficoService graficoService;
35
 
259 espaco 36
        private List<FuncionarioDTO> listaFuncionariosDTO;
37
        private Long sequencialFuncionarioSelecionado;
38
        private FuncionarioDTO funcionarioSelecionado;
39
        private ParametrosPeriodoDTO parametrosPeriodoDTO;
268 espaco 40
        private Boolean graficoConsultado;
41
        private GraficoBarraDTO graficoVendas;
42
        private GraficoBarraDTO graficoPercentuaisMeta;
259 espaco 43
 
44
        @Inject
268 espaco 45
        public RelatorioAnaliticoBean(FuncionarioService funcionarioService, GraficoService graficoService) {
259 espaco 46
                this.funcionarioService = funcionarioService;
268 espaco 47
                this.graficoService = graficoService;
259 espaco 48
        }
49
 
50
        @Override
51
        public GenericService<FuncionarioDTO> getService() {
52
                return null;
53
        }
54
 
55
        @Override
56
        public FuncionarioDTO getId() {
57
                return null;
58
        }
59
 
60
        @Override
61
        public void preCarregamento() {
62
                limparEntidade();
63
                consultarFuncionariosAdmitidos();
64
        }
65
 
66
        @Override
67
        public void limparEntidade() {
68
                setEntidade(new FuncionarioDTO());
69
                setParametrosPeriodoDTO(new ParametrosPeriodoDTO());
70
                setFuncionarioSelecionado(null);
268 espaco 71
                setGraficoConsultado(false);
259 espaco 72
        }
73
 
268 espaco 74
        public TipoProduto[] getTiposProduto() {
75
                return TipoProduto.values();
76
        }
77
 
259 espaco 78
        public List<FuncionarioDTO> getListaFuncionariosDTO() {
79
                return listaFuncionariosDTO;
80
        }
81
        public void setListaFuncionariosDTO(List<FuncionarioDTO> listaFuncionariosDTO) {
82
                this.listaFuncionariosDTO = listaFuncionariosDTO;
83
        }
84
 
85
        public Long getSequencialFuncionarioSelecionado() {
86
                return sequencialFuncionarioSelecionado;
87
        }
88
        public void setSequencialFuncionarioSelecionado(Long sequencialFuncionarioSelecionado) {
89
                this.sequencialFuncionarioSelecionado = sequencialFuncionarioSelecionado;
90
        }
91
 
92
        public FuncionarioDTO getFuncionarioSelecionado() {
93
                return funcionarioSelecionado;
94
        }
95
        public void setFuncionarioSelecionado(FuncionarioDTO funcionarioSelecionado) {
96
                this.funcionarioSelecionado = funcionarioSelecionado;
97
        }
98
 
99
        public ParametrosPeriodoDTO getParametrosPeriodoDTO() {
100
                return parametrosPeriodoDTO;
101
        }
102
        public void setParametrosPeriodoDTO(ParametrosPeriodoDTO parametrosPeriodoDTO) {
103
                this.parametrosPeriodoDTO = parametrosPeriodoDTO;
104
        }
105
 
268 espaco 106
        public Boolean getGraficoConsultado() {
107
                return graficoConsultado;
261 espaco 108
        }
268 espaco 109
        public void setGraficoConsultado(Boolean graficoConsultado) {
110
                this.graficoConsultado = graficoConsultado;
111
        }
261 espaco 112
 
268 espaco 113
        public GraficoBarraDTO getGraficoVendas() {
114
                return graficoVendas;
115
        }
116
        public void setGraficoVendas(GraficoBarraDTO graficoVendas) {
117
                this.graficoVendas = graficoVendas;
118
        }
119
 
120
        public GraficoBarraDTO getGraficoPercentuaisMeta() {
121
                return graficoPercentuaisMeta;
122
        }
123
        public void setGraficoPercentuaisMeta(GraficoBarraDTO graficoPercentuaisMeta) {
124
                this.graficoPercentuaisMeta = graficoPercentuaisMeta;
125
        }
126
 
259 espaco 127
        /**********************************/
128
 
129
        public void consultarFuncionariosAdmitidos() {
130
                setListaFuncionariosDTO(funcionarioService.consultarFuncionariosAdmitidos());
131
        }
132
 
133
        public void analisarFuncionario() {
134
                FuncionarioDTO funcionarioDTO = funcionarioService.analisarFuncionario(getFuncionarioSelecionado());
135
                setFuncionarioSelecionado(funcionarioDTO);
136
        }
137
 
138
        public void gerarGraficosFuncionario() {
268 espaco 139
                setGraficoConsultado(true);
261 espaco 140
 
268 espaco 141
                ParametrosConsultaVendasDTO parametrosConsulta = new ParametrosConsultaVendasDTO();
142
                parametrosConsulta.setParametrosPeriodoDTO(getParametrosPeriodoDTO());
143
                parametrosConsulta.setVendedorSelecionado(getFuncionarioSelecionado().getVendedorDTO());
144
                parametrosConsulta.setFormasDePagamentoDTO(new FormaPagamentoDTO[0]);
145
 
146
                setGraficoVendas(new GraficoBarraDTO(parametrosConsulta));
147
                setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), null));
148
                setGraficoPercentuaisMeta(graficoService.gerarGraficoPercentuaisMeta(getGraficoVendas().getParametrosConsulta()));
149
 
150
                /*********************/
151
 
261 espaco 152
                BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
153
                getFuncionarioSelecionado().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro);
154
 
155
                PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO(), Arrays.asList(getTiposProduto()));
259 espaco 156
                getFuncionarioSelecionado().setGraficoTiposProdutos(graficoTiposProdutos);
157
 
158
                PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
159
                getFuncionarioSelecionado().setGraficoFormasPagamento(graficoFormasPagamento);
160
        }
161
 
162
}