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(); |