Subversion Repositories Integrator Subversion

Rev

Rev 252 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 252 Rev 356
Line 2... Line 2...
2
2
3
import java.io.Serializable;
3
import java.io.Serializable;
-
 
4
import java.util.ArrayList;
4
import java.util.Calendar;
5
import java.util.Calendar;
5
import java.util.Date;
6
import java.util.Date;
6
import java.util.GregorianCalendar;
7
import java.util.GregorianCalendar;
7
import java.util.List;
8
import java.util.List;
8
9
9
import javax.inject.Inject;
10
import javax.inject.Inject;
10
import javax.inject.Named;
11
import javax.inject.Named;
-
 
12
import javax.persistence.Transient;
11
13
12
import org.primefaces.model.chart.Axis;
14
import org.primefaces.model.chart.Axis;
13
import org.primefaces.model.chart.AxisType;
15
import org.primefaces.model.chart.AxisType;
14
import org.primefaces.model.chart.BarChartModel;
16
import org.primefaces.model.chart.BarChartModel;
15
import org.primefaces.model.chart.ChartSeries;
17
import org.primefaces.model.chart.ChartSeries;
Line 19... Line 21...
19
import br.com.ec.core.util.DataUtils;
21
import br.com.ec.core.util.DataUtils;
20
import br.com.ec.core.util.VerificadorUtil;
22
import br.com.ec.core.util.VerificadorUtil;
21
import br.com.ec.domain.dto.MeusResultadosDTO;
23
import br.com.ec.domain.dto.MeusResultadosDTO;
22
import br.com.ec.domain.dto.ParametrosConsultaVendasDTO;
24
import br.com.ec.domain.dto.ParametrosConsultaVendasDTO;
23
import br.com.ec.domain.dto.ParametrosRelatorioVendasDTO;
25
import br.com.ec.domain.dto.ParametrosRelatorioVendasDTO;
-
 
26
import br.com.ec.domain.model.Avaliacao;
24
import br.com.ec.domain.model.AvaliacaoFuncionario;
27
import br.com.ec.domain.model.AvaliacaoFuncionario;
-
 
28
import br.com.ec.domain.model.AvaliacaoProduto;
-
 
29
import br.com.ec.domain.model.Produto;
25
import br.com.ec.domain.model.Usuario;
30
import br.com.ec.domain.model.Usuario;
26
import br.com.ec.domain.model.Vigencia;
31
import br.com.ec.domain.model.Vigencia;
-
 
32
import br.com.ec.domain.service.avaliacao.AvaliacaoService;
27
import br.com.ec.domain.service.avaliacaofuncionario.AvaliacaoFuncionarioService;
33
import br.com.ec.domain.service.avaliacaofuncionario.AvaliacaoFuncionarioService;
28
import br.com.ec.domain.service.seguranca.ContextoSeguranca;
34
import br.com.ec.domain.service.seguranca.ContextoSeguranca;
29
import br.com.ec.domain.service.usuario.UsuarioService;
35
import br.com.ec.domain.service.usuario.UsuarioService;
30
import br.com.ec.domain.service.venda.VendaService;
36
import br.com.ec.domain.service.venda.VendaService;
31
import br.com.ec.domain.service.vendedor.VendedorService;
37
import br.com.ec.domain.service.vendedor.VendedorService;
Line 42... Line 48...
42
        private UsuarioService usuarioService;
48
        private UsuarioService usuarioService;
43
        private VendaService vendaService;
49
        private VendaService vendaService;
44
        private VendedorService vendedorService;
50
        private VendedorService vendedorService;
45
        private VigenciaService vigenciaService;
51
        private VigenciaService vigenciaService;
46
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
52
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
-
 
53
        private AvaliacaoService avaliacaoService;
47
       
54
       
48
        private Vigencia vigenciaAtual;
55
        private Vigencia vigenciaAtual;
49
        private Vigencia vigenciaAnterior;
56
        private Vigencia vigenciaAnterior;
50
        private MeusResultadosDTO resumoAntigo;
57
        private MeusResultadosDTO resumoAntigo;
51
        private MeusResultadosDTO resumoPromocaoInterna;
58
        private MeusResultadosDTO resumoPromocaoInterna;
52
        private MeusResultadosDTO resumoPromocaoInternaAnterior;
59
        private MeusResultadosDTO resumoPromocaoInternaAnterior;
53
       
60
       
54
        private ContextoSeguranca contextoSeguranca;
61
        private ContextoSeguranca contextoSeguranca;
55
       
62
       
56
        List<Vigencia> ultimasVigencias;
63
        List<Vigencia> ultimasVigencias;
-
 
64
        List<Produto> produtosPromocaoInterna;
-
 
65
        List<Produto> produtosPromocaoInternaAnterior;
57
       
66
       
58
        private BarChartModel historico;
67
        private BarChartModel historico;
59
        private BarChartModel historicoPercentual;
68
        private BarChartModel historicoPercentual;
60
69
61
        @Inject
70
        @Inject
62
        public MeusResultadosBean(UsuarioService usuarioService, VendaService vendaService, VendedorService vendedorService,
71
        public MeusResultadosBean(UsuarioService usuarioService, VendaService vendaService, VendedorService vendedorService,
63
                        VigenciaService vigenciaService, AvaliacaoFuncionarioService avaliacaoFuncionarioService, ContextoSeguranca contextoSeguranca) {
-
 
-
 
72
                        VigenciaService vigenciaService, AvaliacaoFuncionarioService avaliacaoFuncionarioService, AvaliacaoService avaliacaoService,
-
 
73
                        ContextoSeguranca contextoSeguranca) {
64
                this.usuarioService = usuarioService;
74
                this.usuarioService = usuarioService;
65
                this.vendaService = vendaService;
75
                this.vendaService = vendaService;
66
                this.vendedorService = vendedorService;
76
                this.vendedorService = vendedorService;
67
                this.vigenciaService = vigenciaService;
77
                this.vigenciaService = vigenciaService;
68
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
78
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
-
 
79
                this.avaliacaoService = avaliacaoService;
69
                this.contextoSeguranca = contextoSeguranca;
80
                this.contextoSeguranca = contextoSeguranca;
70
        }
81
        }
71
       
82
       
72
        @Override
83
        @Override
73
        public void preCarregamento() {
84
        public void preCarregamento() {
Line 75... Line 86...
75
                Usuario usuarioSelecionado = usuarioService.consultarPorId(contextoSeguranca.obterUsuario());
86
                Usuario usuarioSelecionado = usuarioService.consultarPorId(contextoSeguranca.obterUsuario());
76
               
87
               
77
                if (!getUltimasVigencias().isEmpty()) {
88
                if (!getUltimasVigencias().isEmpty()) {
78
                        if (getUltimasVigencias().size() >= 1) {
89
                        if (getUltimasVigencias().size() >= 1) {
79
                                setVigenciaAtual(retornarVigenciaDoPeriodo(getUltimasVigencias(), DataUtils.getDataAtual()));
90
                                setVigenciaAtual(retornarVigenciaDoPeriodo(getUltimasVigencias(), DataUtils.getDataAtual()));
-
 
91
                                Avaliacao avaliacaoAtual = avaliacaoService.consultarAvaliacaoDaVigencia(getVigenciaAtual());
-
 
92
                                if (VerificadorUtil.naoEstaNulo(avaliacaoAtual)) {
-
 
93
                                        List<AvaliacaoProduto> listaProdutosPromocao = avaliacaoService.consultarProdutosPromocaoInterna(avaliacaoAtual.getSequencial());
-
 
94
                                        List<Produto> produtosDaPromocao = new ArrayList<Produto>();
-
 
95
                                        for (AvaliacaoProduto avaliacaoProduto : listaProdutosPromocao) {
-
 
96
                                                produtosDaPromocao.add(avaliacaoProduto.getProduto());
-
 
97
                                        }
-
 
98
                                        setProdutosPromocaoInterna(produtosDaPromocao);
-
 
99
                                }
-
 
100
                               
-
 
101
                               
80
                                MeusResultadosDTO colaborador = new MeusResultadosDTO();
102
                                MeusResultadosDTO colaborador = new MeusResultadosDTO();
81
                                colaborador.setUsuario(usuarioSelecionado);
103
                                colaborador.setUsuario(usuarioSelecionado);
82
                                colaborador.setRankingVendedor(vendaService.consultarRankingVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()), getVigenciaAtual(), true));
104
                                colaborador.setRankingVendedor(vendaService.consultarRankingVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()), getVigenciaAtual(), true));
83
                                setEntidade(colaborador);
105
                                setEntidade(colaborador);
84
                                colaborador.getRankingVendedor().setPercentualMetaMensal(calcularPorcentagemDaMetaMensal());
106
                                colaborador.getRankingVendedor().setPercentualMetaMensal(calcularPorcentagemDaMetaMensal());
85
                                colaborador.getRankingVendedor().setPercentualMetaMensalVivo(calcularPorcentagemDaMetaMensalVivo());
107
                                colaborador.getRankingVendedor().setPercentualMetaMensalVivo(calcularPorcentagemDaMetaMensalVivo());
86
                                colaborador.getRankingVendedor().setPercentualMetaDiaria(calcularPorcentagemDaMetaDiaria());
108
                                colaborador.getRankingVendedor().setPercentualMetaDiaria(calcularPorcentagemDaMetaDiaria());
-
 
109
                               
-
 
110
                                if (!getProdutosPromocaoInterna().isEmpty()) {
-
 
111
                                        MeusResultadosDTO colaboradorPromocaoInterna = new MeusResultadosDTO();
-
 
112
                                        colaboradorPromocaoInterna.setUsuario(usuarioSelecionado);
-
 
113
                                        colaboradorPromocaoInterna.setRankingVendedor(vendaService.consultarRankingPromocaoInternaDoVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()),
-
 
114
                                                        DataUtils.getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAtual()),
-
 
115
                                                        DataUtils.getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAtual()),
-
 
116
                                                        getProdutosPromocaoInterna()));
-
 
117
                                        setResumoPromocaoInterna(colaboradorPromocaoInterna);
-
 
118
                                }
87
                        }
119
                        }
88
                        if (getUltimasVigencias().size() >= 2) {
120
                        if (getUltimasVigencias().size() >= 2) {
89
                                Date dataAnterior = DataUtils.acrescentarMeses(DataUtils.getDataAtual(), -1);
121
                                Date dataAnterior = DataUtils.acrescentarMeses(DataUtils.getDataAtual(), -1);
90
                                setVigenciaAnterior(retornarVigenciaDoPeriodo(getUltimasVigencias(), dataAnterior));
122
                                setVigenciaAnterior(retornarVigenciaDoPeriodo(getUltimasVigencias(), dataAnterior));
-
 
123
                               
-
 
124
                                Avaliacao avaliacaoAnterior = avaliacaoService.consultarAvaliacaoDaVigencia(getVigenciaAnterior());
-
 
125
                                if (VerificadorUtil.naoEstaNulo(avaliacaoAnterior)) {
-
 
126
                                        List<AvaliacaoProduto> listaProdutosPromocao = avaliacaoService.consultarProdutosPromocaoInterna(avaliacaoAnterior.getSequencial());
-
 
127
                                        List<Produto> produtosDaPromocao = new ArrayList<Produto>();
-
 
128
                                        for (AvaliacaoProduto avaliacaoProduto : listaProdutosPromocao) {
-
 
129
                                                produtosDaPromocao.add(avaliacaoProduto.getProduto());
-
 
130
                                        }
-
 
131
                                        setProdutosPromocaoInternaAnterior(produtosDaPromocao);
-
 
132
                                }
-
 
133
                               
91
                                MeusResultadosDTO colaboradorAnterior = new MeusResultadosDTO();
134
                                MeusResultadosDTO colaboradorAnterior = new MeusResultadosDTO();
92
                                colaboradorAnterior.setUsuario(usuarioSelecionado);
135
                                colaboradorAnterior.setUsuario(usuarioSelecionado);
93
                                colaboradorAnterior.setRankingVendedor(vendaService.consultarRankingVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()), getVigenciaAnterior(), true));
136
                                colaboradorAnterior.setRankingVendedor(vendaService.consultarRankingVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()), getVigenciaAnterior(), true));
94
                                setResumoAntigo(colaboradorAnterior);
137
                                setResumoAntigo(colaboradorAnterior);
-
 
138
                               
-
 
139
                                if (!getProdutosPromocaoInternaAnterior().isEmpty()) {
-
 
140
                                        MeusResultadosDTO colaboradorPromocaoInternaAnterior = new MeusResultadosDTO();
-
 
141
                                        colaboradorPromocaoInternaAnterior.setUsuario(usuarioSelecionado);
-
 
142
                                        colaboradorPromocaoInternaAnterior.setRankingVendedor(vendaService.consultarRankingPromocaoInternaDoVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()),
-
 
143
                                                        DataUtils.getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAnterior()),
-
 
144
                                                        DataUtils.getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAnterior()),
-
 
145
                                                        getProdutosPromocaoInternaAnterior()));
-
 
146
                                        setResumoPromocaoInternaAnterior(colaboradorPromocaoInternaAnterior);
-
 
147
                                }
95
                        }
148
                        }
96
                }
149
                }
-
 
150
               
-
 
151
                /*
97
                MeusResultadosDTO colaboradorPromocaoInterna = new MeusResultadosDTO();
152
                MeusResultadosDTO colaboradorPromocaoInterna = new MeusResultadosDTO();
98
                colaboradorPromocaoInterna.setUsuario(usuarioSelecionado);
153
                colaboradorPromocaoInterna.setUsuario(usuarioSelecionado);
-
 
154
               
-
 
155
                Vigencia vigenciaAtual = retornarVigenciaDoPeriodo(getUltimasVigencias(), DataUtils.getPrimeiroDiaDoMesAtual());
-
 
156
                Avaliacao avaliacaoAtual = avaliacaoService.consultarAvaliacaoDaVigencia(vigenciaAtual);
-
 
157
                List<AvaliacaoProduto> listaProdutosPromocao = new ArrayList<AvaliacaoProduto>();
-
 
158
                listaProdutosPromocao = avaliacaoService.consultarProdutosPromocaoInterna(avaliacaoAtual.getSequencial());
99
                colaboradorPromocaoInterna.setRankingVendedor(vendaService.consultarRankingPromocaoInternaDoVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()),
159
                colaboradorPromocaoInterna.setRankingVendedor(vendaService.consultarRankingPromocaoInternaDoVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()),
100
                                DataUtils.getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAtual()),
160
                                DataUtils.getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAtual()),
101
                                DataUtils.getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAtual()),
161
                                DataUtils.getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAtual()),
102
                                ConstantesSEC.ProdutosPromocaoInterna.PRODUTOS));
162
                                ConstantesSEC.ProdutosPromocaoInterna.PRODUTOS));
103
                setResumoPromocaoInterna(colaboradorPromocaoInterna);
163
                setResumoPromocaoInterna(colaboradorPromocaoInterna);
-
 
164
               
104
               
165
               
105
                MeusResultadosDTO colaboradorPromocaoInternaAnterior = new MeusResultadosDTO();
166
                MeusResultadosDTO colaboradorPromocaoInternaAnterior = new MeusResultadosDTO();
106
                colaboradorPromocaoInternaAnterior.setUsuario(usuarioSelecionado);
167
                colaboradorPromocaoInternaAnterior.setUsuario(usuarioSelecionado);
107
                colaboradorPromocaoInternaAnterior.setRankingVendedor(vendaService.consultarRankingPromocaoInternaDoVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()),
168
                colaboradorPromocaoInternaAnterior.setRankingVendedor(vendaService.consultarRankingPromocaoInternaDoVendedor(vendedorService.consultarVendedorPorPessoa(usuarioSelecionado.getPessoa()),
108
                                DataUtils.getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAnterior()),
169
                                DataUtils.getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAnterior()),
109
                                DataUtils.getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAnterior()),
170
                                DataUtils.getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAnterior()),
110
                                ConstantesSEC.ProdutosPromocaoInterna.PRODUTOS_MES_ANTERIOR));
171
                                ConstantesSEC.ProdutosPromocaoInterna.PRODUTOS_MES_ANTERIOR));
111
                setResumoPromocaoInternaAnterior(colaboradorPromocaoInternaAnterior);
172
                setResumoPromocaoInternaAnterior(colaboradorPromocaoInternaAnterior);
-
 
173
                */
112
        }
174
        }
113
       
175
       
114
        private Vigencia retornarVigenciaDoPeriodo(List<Vigencia> ultimasVigencias, Date dataAtual) {
176
        private Vigencia retornarVigenciaDoPeriodo(List<Vigencia> ultimasVigencias, Date dataAtual) {
115
                for (Vigencia vigencia : ultimasVigencias) {
177
                for (Vigencia vigencia : ultimasVigencias) {
116
                        if (vigencia.getDataInicio().before(dataAtual) && vigencia.getDataFim().after(dataAtual)) {
178
                        if (vigencia.getDataInicio().before(dataAtual) && vigencia.getDataFim().after(dataAtual)) {
117
                                return vigencia;
179
                                return vigencia;
118
                        }
180
                        }
119
                }
181
                }
120
                return null;
182
                return null;
121
        }
183
        }
122
-
 
-
 
184
       
123
        @Override
185
        @Override
124
        public void limparEntidade() {
186
        public void limparEntidade() {
125
                setEntidade(new MeusResultadosDTO());
187
                setEntidade(new MeusResultadosDTO());
126
        }
188
        }
127
189
Line 178... Line 240...
178
        public List<Vigencia> getUltimasVigencias() {
240
        public List<Vigencia> getUltimasVigencias() {
179
                return ultimasVigencias;
241
                return ultimasVigencias;
180
        }
242
        }
181
        public void setUltimasVigencias(List<Vigencia> ultimasVigencias) {
243
        public void setUltimasVigencias(List<Vigencia> ultimasVigencias) {
182
                this.ultimasVigencias = ultimasVigencias;
244
                this.ultimasVigencias = ultimasVigencias;
-
 
245
        }
-
 
246
       
-
 
247
        public List<Produto> getProdutosPromocaoInterna() {
-
 
248
                return produtosPromocaoInterna;
-
 
249
        }
-
 
250
        public void setProdutosPromocaoInterna(List<Produto> produtosPromocaoInterna) {
-
 
251
                this.produtosPromocaoInterna = produtosPromocaoInterna;
-
 
252
        }
-
 
253
       
-
 
254
        public List<Produto> getProdutosPromocaoInternaAnterior() {
-
 
255
                return produtosPromocaoInternaAnterior;
-
 
256
        }
-
 
257
        public void setProdutosPromocaoInternaAnterior(List<Produto> produtosPromocaoInternaAnterior) {
-
 
258
                this.produtosPromocaoInternaAnterior = produtosPromocaoInternaAnterior;
183
        }
259
        }
184
       
260
       
185
        public BarChartModel getHistorico() {
261
        public BarChartModel getHistorico() {
186
                if (VerificadorUtil.estaNulo(historico)) {
262
                if (VerificadorUtil.estaNulo(historico)) {
187
                        consultarHistorico();
263
                        consultarHistorico();