Subversion Repositories Integrator Subversion

Rev

Rev 353 | 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;
279 espaco 6
import java.util.Date;
259 espaco 7
import java.util.List;
8
 
9
import javax.inject.Inject;
10
import javax.inject.Named;
11
 
12
import org.primefaces.model.charts.bar.BarChartModel;
13
import org.primefaces.model.charts.pie.PieChartModel;
14
import org.springframework.context.annotation.Scope;
15
 
16
import br.com.ec.core.generic.GenericService;
279 espaco 17
import br.com.ec.core.util.DataUtils;
18
import br.com.ec.domain.dto.AtestadoFuncionarioDTO;
19
import br.com.ec.domain.dto.AvaliacaoFuncionarioDTO;
20
import br.com.ec.domain.dto.ExameFuncionarioDTO;
21
import br.com.ec.domain.dto.FuncionarioFeriasDTO;
268 espaco 22
import br.com.ec.domain.dto.FormaPagamentoDTO;
259 espaco 23
import br.com.ec.domain.dto.FuncionarioDTO;
268 espaco 24
import br.com.ec.domain.dto.LojaDTO;
279 espaco 25
import br.com.ec.domain.dto.PessoaDTO;
26
import br.com.ec.domain.dto.PontoDTO;
268 espaco 27
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
259 espaco 28
import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO;
268 espaco 29
import br.com.ec.domain.dto.grafico.GraficoBarraDTO;
297 espaco 30
import br.com.ec.domain.model.FuncionarioFerias;
261 espaco 31
import br.com.ec.domain.model.tipos.TipoProduto;
279 espaco 32
import br.com.ec.domain.service.AvaliacaoFuncionarioService;
297 espaco 33
import br.com.ec.domain.service.FuncionarioFeriasService;
259 espaco 34
import br.com.ec.domain.service.FuncionarioService;
268 espaco 35
import br.com.ec.domain.service.GraficoService;
279 espaco 36
import br.com.ec.web.exception.VerificadorLancamentoException;
37
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
259 espaco 38
import br.com.ec.web.generic.AbstractBean;
39
 
40
@Named
41
@Scope("view")
42
public class RelatorioAnaliticoBean extends AbstractBean<FuncionarioDTO> implements Serializable {
43
 
44
        private static final long serialVersionUID = 1L;
45
 
268 espaco 46
        private FuncionarioService funcionarioService;
47
        private GraficoService graficoService;
279 espaco 48
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
297 espaco 49
        private FuncionarioFeriasService funcionarioFeriasService;
268 espaco 50
 
259 espaco 51
        private List<FuncionarioDTO> listaFuncionariosDTO;
52
        private Long sequencialFuncionarioSelecionado;
53
        private FuncionarioDTO funcionarioSelecionado;
54
        private ParametrosPeriodoDTO parametrosPeriodoDTO;
268 espaco 55
        private Boolean graficoConsultado;
56
        private GraficoBarraDTO graficoVendas;
57
        private GraficoBarraDTO graficoPercentuaisMeta;
279 espaco 58
        private AvaliacaoFuncionarioDTO avaliacaoFuncionarioSelecionada;
259 espaco 59
 
60
        @Inject
297 espaco 61
        public RelatorioAnaliticoBean(FuncionarioService funcionarioService, GraficoService graficoService, AvaliacaoFuncionarioService avaliacaoFuncionarioService,
62
                        FuncionarioFeriasService funcionarioFeriasService) {
259 espaco 63
                this.funcionarioService = funcionarioService;
268 espaco 64
                this.graficoService = graficoService;
279 espaco 65
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
297 espaco 66
                this.funcionarioFeriasService = funcionarioFeriasService;
259 espaco 67
        }
68
 
69
        @Override
70
        public GenericService<FuncionarioDTO> getService() {
71
                return null;
72
        }
73
 
74
        @Override
75
        public FuncionarioDTO getId() {
76
                return null;
77
        }
78
 
79
        @Override
80
        public void preCarregamento() {
81
                limparEntidade();
82
                consultarFuncionariosAdmitidos();
83
        }
84
 
85
        @Override
86
        public void limparEntidade() {
87
                setEntidade(new FuncionarioDTO());
88
                setParametrosPeriodoDTO(new ParametrosPeriodoDTO());
89
                setFuncionarioSelecionado(null);
268 espaco 90
                setGraficoConsultado(false);
259 espaco 91
        }
92
 
268 espaco 93
        public TipoProduto[] getTiposProduto() {
94
                return TipoProduto.values();
95
        }
96
 
259 espaco 97
        public List<FuncionarioDTO> getListaFuncionariosDTO() {
98
                return listaFuncionariosDTO;
99
        }
100
        public void setListaFuncionariosDTO(List<FuncionarioDTO> listaFuncionariosDTO) {
101
                this.listaFuncionariosDTO = listaFuncionariosDTO;
102
        }
103
 
104
        public Long getSequencialFuncionarioSelecionado() {
105
                return sequencialFuncionarioSelecionado;
106
        }
107
        public void setSequencialFuncionarioSelecionado(Long sequencialFuncionarioSelecionado) {
108
                this.sequencialFuncionarioSelecionado = sequencialFuncionarioSelecionado;
109
        }
110
 
111
        public FuncionarioDTO getFuncionarioSelecionado() {
112
                return funcionarioSelecionado;
113
        }
114
        public void setFuncionarioSelecionado(FuncionarioDTO funcionarioSelecionado) {
115
                this.funcionarioSelecionado = funcionarioSelecionado;
116
        }
117
 
118
        public ParametrosPeriodoDTO getParametrosPeriodoDTO() {
119
                return parametrosPeriodoDTO;
120
        }
121
        public void setParametrosPeriodoDTO(ParametrosPeriodoDTO parametrosPeriodoDTO) {
122
                this.parametrosPeriodoDTO = parametrosPeriodoDTO;
123
        }
124
 
268 espaco 125
        public Boolean getGraficoConsultado() {
126
                return graficoConsultado;
261 espaco 127
        }
268 espaco 128
        public void setGraficoConsultado(Boolean graficoConsultado) {
129
                this.graficoConsultado = graficoConsultado;
130
        }
261 espaco 131
 
268 espaco 132
        public GraficoBarraDTO getGraficoVendas() {
133
                return graficoVendas;
134
        }
135
        public void setGraficoVendas(GraficoBarraDTO graficoVendas) {
136
                this.graficoVendas = graficoVendas;
137
        }
138
 
139
        public GraficoBarraDTO getGraficoPercentuaisMeta() {
140
                return graficoPercentuaisMeta;
141
        }
142
        public void setGraficoPercentuaisMeta(GraficoBarraDTO graficoPercentuaisMeta) {
143
                this.graficoPercentuaisMeta = graficoPercentuaisMeta;
144
        }
145
 
279 espaco 146
        public AvaliacaoFuncionarioDTO getAvaliacaoFuncionarioSelecionada() {
147
                return avaliacaoFuncionarioSelecionada;
148
        }
149
        public void setAvaliacaoFuncionarioSelecionada(AvaliacaoFuncionarioDTO avaliacaoFuncionarioSelecionada) {
150
                this.avaliacaoFuncionarioSelecionada = avaliacaoFuncionarioSelecionada;
151
        }
152
 
259 espaco 153
        /**********************************/
154
 
155
        public void consultarFuncionariosAdmitidos() {
156
                setListaFuncionariosDTO(funcionarioService.consultarFuncionariosAdmitidos());
157
        }
158
 
159
        public void analisarFuncionario() {
279 espaco 160
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
161
                        public void execute() {
162
                                FuncionarioDTO funcionarioDTO = funcionarioService.analisarFuncionario(getFuncionarioSelecionado());
163
                                setFuncionarioSelecionado(funcionarioDTO);
164
                        }
165
                });
259 espaco 166
        }
167
 
168
        public void gerarGraficosFuncionario() {
268 espaco 169
                setGraficoConsultado(true);
261 espaco 170
 
268 espaco 171
                ParametrosConsultaVendasDTO parametrosConsulta = new ParametrosConsultaVendasDTO();
172
                parametrosConsulta.setParametrosPeriodoDTO(getParametrosPeriodoDTO());
173
                parametrosConsulta.setVendedorSelecionado(getFuncionarioSelecionado().getVendedorDTO());
174
                parametrosConsulta.setFormasDePagamentoDTO(new FormaPagamentoDTO[0]);
175
 
176
                setGraficoVendas(new GraficoBarraDTO(parametrosConsulta));
177
                setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), null));
178
                setGraficoPercentuaisMeta(graficoService.gerarGraficoPercentuaisMeta(getGraficoVendas().getParametrosConsulta()));
179
 
180
                /*********************/
181
 
261 espaco 182
                BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
183
                getFuncionarioSelecionado().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro);
184
 
185
                PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO(), Arrays.asList(getTiposProduto()));
259 espaco 186
                getFuncionarioSelecionado().setGraficoTiposProdutos(graficoTiposProdutos);
187
 
188
                PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
189
                getFuncionarioSelecionado().setGraficoFormasPagamento(graficoFormasPagamento);
190
        }
191
 
279 espaco 192
        public void consultarAvaliacoes() {
193
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
194
                        public void execute() {
195
                                getFuncionarioSelecionado().setAvaliacoesDTO(avaliacaoFuncionarioService.consultarAvaliacoesFuncionario(getFuncionarioSelecionado().getSequencialFuncionario()));
196
                        }
197
                });
198
        }
199
 
200
        public void detalharAvaliacao(final AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO) {
201
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
202
                        public void execute() {
430 espaco 203
                                avaliacaoFuncionarioDTO.setItensAvaliacao(avaliacaoFuncionarioService.consultarItensDaAvaliacao(avaliacaoFuncionarioDTO.getSequencialDoFuncionario(), avaliacaoFuncionarioDTO.getSequencialDaAvaliacao()));
279 espaco 204
                                setAvaliacaoFuncionarioSelecionada(avaliacaoFuncionarioDTO);
205
                        }
206
                });
207
        }
208
 
259 espaco 209
}