Rev 274 | Rev 706 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 274 | Rev 705 | ||
|---|---|---|---|
| Line 4... | Line 4... | ||
| 4 | import java.util.Arrays; |
4 | import java.util.Arrays; |
| 5 | import java.util.Calendar; |
5 | import java.util.Calendar; |
| 6 | import java.util.Date; |
6 | import java.util.Date; |
| 7 | import java.util.List; |
7 | import java.util.List; |
| 8 | 8 | ||
| - | 9 | import org.primefaces.PrimeFaces; |
|
| 9 | import org.primefaces.model.charts.ChartData; |
10 | import org.primefaces.model.charts.ChartData; |
| 10 | import org.primefaces.model.charts.axes.cartesian.CartesianScales; |
11 | import org.primefaces.model.charts.axes.cartesian.CartesianScales; |
| 11 | import org.primefaces.model.charts.axes.cartesian.linear.CartesianLinearAxes; |
12 | import org.primefaces.model.charts.axes.cartesian.linear.CartesianLinearAxes; |
| 12 | import org.primefaces.model.charts.axes.cartesian.linear.CartesianLinearTicks; |
13 | import org.primefaces.model.charts.axes.cartesian.linear.CartesianLinearTicks; |
| 13 | import org.primefaces.model.charts.bar.BarChartDataSet; |
14 | import org.primefaces.model.charts.bar.BarChartDataSet; |
| Line 18... | Line 19... | ||
| 18 | import org.primefaces.model.charts.optionconfig.title.Title; |
19 | import org.primefaces.model.charts.optionconfig.title.Title; |
| 19 | import org.primefaces.model.charts.pie.PieChartDataSet; |
20 | import org.primefaces.model.charts.pie.PieChartDataSet; |
| 20 | import org.primefaces.model.charts.pie.PieChartModel; |
21 | import org.primefaces.model.charts.pie.PieChartModel; |
| 21 | import org.springframework.beans.factory.annotation.Autowired; |
22 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | import org.springframework.stereotype.Service; |
23 | import org.springframework.stereotype.Service; |
| 23 | - | ||
| 24 | import com.mchange.lang.DoubleUtils; |
- | |
| 25 | 24 | ||
| 26 | import br.com.ec.core.generic.AbstractService; |
25 | import br.com.ec.core.generic.AbstractService; |
| 27 | import br.com.ec.core.generic.GenericRepository; |
26 | import br.com.ec.core.generic.GenericRepository; |
| 28 | import br.com.ec.core.util.DataUtils; |
27 | import br.com.ec.core.util.DataUtils; |
| 29 | import br.com.ec.core.util.StringUtil; |
28 | import br.com.ec.core.util.StringUtil; |
| Line 33... | Line 32... | ||
| 33 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
32 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
| 34 | import br.com.ec.domain.dto.grafico.GraficoBarraDTO; |
33 | import br.com.ec.domain.dto.grafico.GraficoBarraDTO; |
| 35 | import br.com.ec.domain.dto.grafico.GraficoDTO; |
34 | import br.com.ec.domain.dto.grafico.GraficoDTO; |
| 36 | import br.com.ec.domain.dto.grafico.GraficoDadoDTO; |
35 | import br.com.ec.domain.dto.grafico.GraficoDadoDTO; |
| 37 | import br.com.ec.domain.dto.grafico.GraficoPizzaDTO; |
36 | import br.com.ec.domain.dto.grafico.GraficoPizzaDTO; |
| - | 37 | import br.com.ec.domain.model.tipos.TipoProduto; |
|
| 38 | import br.com.ec.domain.service.AvaliacaoFuncionarioService; |
38 | import br.com.ec.domain.service.AvaliacaoFuncionarioService; |
| 39 | import br.com.ec.domain.service.GraficoService; |
39 | import br.com.ec.domain.service.GraficoService; |
| 40 | import br.com.ec.domain.service.VendaService; |
40 | import br.com.ec.domain.service.VendaService; |
| 41 | 41 | ||
| 42 | @Service |
42 | @Service |
| Line 359... | Line 359... | ||
| 359 | graficoBarra.setOptions(options); |
359 | graficoBarra.setOptions(options); |
| 360 | graficoBarra.setExtender("barraPercentuais"); |
360 | graficoBarra.setExtender("barraPercentuais"); |
| 361 | 361 | ||
| 362 | graficoDTO.setGraficoBarra(graficoBarra); |
362 | graficoDTO.setGraficoBarra(graficoBarra); |
| 363 | return graficoDTO; |
363 | return graficoDTO; |
| - | 364 | }
|
|
| - | 365 | ||
| - | 366 | @Override |
|
| - | 367 | public GraficoPizzaDTO gerarGraficoVendasPorTiposDeProduto(ParametrosConsultaVendasDTO parametrosConsulta) { |
|
| - | 368 | GraficoBarraDTO graficoDTO = new GraficoBarraDTO(); |
|
| - | 369 | graficoDTO.setParametrosConsulta(parametrosConsulta); |
|
| - | 370 | Date periodoInicial = null; |
|
| - | 371 | Date periodoFinal = null; |
|
| - | 372 | if (parametrosConsulta.getParametrosPeriodoDTO().tipoPeriodoEhPorDia()) { |
|
| - | 373 | graficoDTO.setTitulo("VENDAS POR DIA"); |
|
| - | 374 | Calendar dataInicial = DataUtils.obterCalendario(DataUtils.obterData(1, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getMes())-1, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno()))); |
|
| - | 375 | int qntMaximaDias = dataInicial.getActualMaximum(Calendar.DAY_OF_MONTH); |
|
| - | 376 | periodoInicial = DataUtils.obterData(1, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getMes())-1, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno())); |
|
| - | 377 | periodoFinal = DataUtils.obterData(qntMaximaDias, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getMes())-1, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno())); |
|
| - | 378 | } if (parametrosConsulta.getParametrosPeriodoDTO().tipoPeriodoEhPorMes()) { |
|
| - | 379 | graficoDTO.setTitulo("VENDAS POR MÊS"); |
|
| - | 380 | periodoInicial = DataUtils.obterData(1, 0, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno())); |
|
| - | 381 | periodoFinal = DataUtils.obterData(31, 11, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno())); |
|
| - | 382 | } if (parametrosConsulta.getParametrosPeriodoDTO().tipoPeriodoEhPorAno()) { |
|
| - | 383 | graficoDTO.setTitulo("VENDAS POR ANO"); |
|
| - | 384 | periodoInicial = DataUtils.obterData(1, 0, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno())-10); |
|
| - | 385 | periodoFinal = DataUtils.obterData(31, 11, new Integer(parametrosConsulta.getParametrosPeriodoDTO().getAno())); |
|
| - | 386 | } else { |
|
| - | 387 | return null; |
|
| - | 388 | }
|
|
| - | 389 | ||
| - | 390 | parametrosConsulta.getParametrosPeriodoDTO().setDataInicial(periodoInicial); |
|
| - | 391 | parametrosConsulta.getParametrosPeriodoDTO().setDataFinal(periodoFinal); |
|
| - | 392 | ||
| - | 393 | GraficoDadoDTO dados = new GraficoDadoDTO(); |
|
| - | 394 | Double valorTotal = vendaService.obterValorTotalBrutoDeVendas(parametrosConsulta); |
|
| - | 395 | for (TipoProduto tipoProduto : TipoProduto.values()) { |
|
| - | 396 | parametrosConsulta.setTipoProduto(tipoProduto.getValor()); |
|
| - | 397 | Double valor = vendaService.obterValorTotalBrutoDeVendas(parametrosConsulta); |
|
| - | 398 | Double percentual = (valor / valorTotal); |
|
| - | 399 | dados.adicionarDados(valor, tipoProduto.getCorPadrao(), "#FFFFFF", tipoProduto.getDescricao() + " (" + StringUtil.formatarPercentual(percentual) + ")"); |
|
| - | 400 | }
|
|
| - | 401 | dados.ordenarPorValor(); |
|
| - | 402 | graficoDTO.setDados(dados); |
|
| - | 403 | ||
| - | 404 | ||
| - | 405 | ChartData dataFP = new ChartData(); |
|
| - | 406 | PieChartDataSet dataSetFP = new PieChartDataSet(); |
|
| - | 407 | dataSetFP.setData(graficoDTO.getDados().getValores()); |
|
| - | 408 | dataSetFP.setBackgroundColor(graficoDTO.getDados().getCores()); |
|
| - | 409 | dataSetFP.setBorderColor(graficoDTO.getDados().getBordas()); |
|
| - | 410 | dataFP.addChartDataSet(dataSetFP); |
|
| - | 411 | dataFP.setLabels(graficoDTO.getDados().getMarcadores()); |
|
| - | 412 | ||
| - | 413 | GraficoPizzaDTO grafico = new GraficoPizzaDTO(); |
|
| - | 414 | PieChartModel graficoFormasPagamento = new PieChartModel(); |
|
| - | 415 | graficoFormasPagamento.setData(dataFP); |
|
| - | 416 | ||
| - | 417 | // CONFIGURACOES
|
|
| - | 418 | // graficoFormasPagamento.setLegendPosition("e"); // l = left, e = right
|
|
| - | 419 | // graficoFormasPagamento.setShowDataLabels(false);
|
|
| - | 420 | ||
| - | 421 | grafico.setGraficoPizza(graficoFormasPagamento); |
|
| - | 422 | return grafico; |
|
| 364 | }
|
423 | }
|
| 365 | 424 | ||
| 366 | @Override |
425 | @Override |
| 367 | public GraficoPizzaDTO gerarGraficoVendasPorFormasDePagamento(ParametrosConsultaVendasDTO parametrosConsulta) { |
426 | public GraficoPizzaDTO gerarGraficoVendasPorFormasDePagamento(ParametrosConsultaVendasDTO parametrosConsulta) { |
| 368 | GraficoBarraDTO graficoDTO = new GraficoBarraDTO(); |
427 | GraficoBarraDTO graficoDTO = new GraficoBarraDTO(); |