Subversion Repositories Integrator Subversion

Rev

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