Subversion Repositories Integrator Subversion

Rev

Rev 267 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller;

import java.io.Serializable;
import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.FormaPagamentoDTO;
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO;
import br.com.ec.domain.dto.grafico.GraficoBarraDTO;
import br.com.ec.domain.dto.grafico.GraficoPizzaDTO;
import br.com.ec.domain.model.tipos.TipoProduto;
import br.com.ec.domain.service.GraficoService;
import br.com.ec.domain.service.VendaService;
import br.com.ec.web.generic.AbstractBean;

@Named
@Scope("view")
public class RelatorioVendasBean extends AbstractBean<ParametrosConsultaVendasDTO> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        /*
        private List<FuncionarioDTO> listaFuncionariosDTO;
        private Long sequencialFuncionarioSelecionado;
        private FuncionarioDTO funcionarioSelecionado;
       
        private FuncionarioService funcionarioService;
*/

        private ParametrosPeriodoDTO parametrosPeriodoDTO;
        private Boolean graficoConsultado;
       
        private GraficoBarraDTO graficoVendas;
        private GraficoBarraDTO graficoPercentuaisMeta;
       
        private GraficoPizzaDTO graficoVendasPorFormasDePagamento;
       
        private Boolean comparativo;
        private ParametrosConsultaVendasDTO parametrosConsultaComparativo;
        private GraficoBarraDTO graficoVendasComparativo;
       
        private VendaService vendaService;
        private GraficoService graficoService;
       
        @Inject
        public RelatorioVendasBean(VendaService vendaService, GraficoService graficoService) {
                this.vendaService = vendaService;
                this.graficoService = graficoService;
        }

        @Override
        public GenericService<ParametrosConsultaVendasDTO> getService() {
                return null;
        }

        @Override
        public ParametrosConsultaVendasDTO getId() {
                return null;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new ParametrosConsultaVendasDTO());
                setGraficoConsultado(false);
                setComparativo(false);
                setParametrosConsultaComparativo(new ParametrosConsultaVendasDTO());
        }
       
        public ParametrosPeriodoDTO getParametrosPeriodoDTO() {
                return parametrosPeriodoDTO;
        }
        public void setParametrosPeriodoDTO(ParametrosPeriodoDTO parametrosPeriodoDTO) {
                this.parametrosPeriodoDTO = parametrosPeriodoDTO;
        }
       
        public TipoProduto[] getTiposProduto() {
                return TipoProduto.values();
        }
       
        public Boolean getGraficoConsultado() {
                return graficoConsultado;
        }
        public void setGraficoConsultado(Boolean graficoConsultado) {
                this.graficoConsultado = graficoConsultado;
        }
       
        public GraficoBarraDTO getGraficoVendas() {
                return graficoVendas;
        }
        public void setGraficoVendas(GraficoBarraDTO graficoVendas) {
                this.graficoVendas = graficoVendas;
        }
       
        public GraficoBarraDTO getGraficoPercentuaisMeta() {
                return graficoPercentuaisMeta;
        }
        public void setGraficoPercentuaisMeta(GraficoBarraDTO graficoPercentuaisMeta) {
                this.graficoPercentuaisMeta = graficoPercentuaisMeta;
        }
       
        public GraficoPizzaDTO getGraficoVendasPorFormasDePagamento() {
                return graficoVendasPorFormasDePagamento;
        }
        public void setGraficoVendasPorFormasDePagamento(GraficoPizzaDTO graficoVendasPorFormasDePagamento) {
                this.graficoVendasPorFormasDePagamento = graficoVendasPorFormasDePagamento;
        }
       
        public Boolean getComparativo() {
                return comparativo;
        }
        public void setComparativo(Boolean comparativo) {
                this.comparativo = comparativo;
        }
       
        public ParametrosConsultaVendasDTO getParametrosConsultaComparativo() {
                return parametrosConsultaComparativo;
        }
        public void setParametrosConsultaComparativo(ParametrosConsultaVendasDTO parametrosConsultaComparativo) {
                this.parametrosConsultaComparativo = parametrosConsultaComparativo;
        }
       
        public GraficoBarraDTO getGraficoVendasComparativo() {
                return graficoVendasComparativo;
        }
        public void setGraficoVendasComparativo(GraficoBarraDTO graficoVendasComparativo) {
                this.graficoVendasComparativo = graficoVendasComparativo;
        }
       
        /**********************************/
       
        public List<FormaPagamentoDTO> getFormasDePagamentoDTO() {
                return FormaPagamentoDTO.formasDePagamentoSemCupom();
        }
       
        public void gerarGraficos() {
                setGraficoConsultado(true);
                setGraficoVendas(new GraficoBarraDTO(getEntidade()));
                if (getComparativo()) {
                        setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), getParametrosConsultaComparativo()));
                } else {
                        setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), null));
                }
               
                if (VerificadorUtil.naoEstaNulo(getEntidade().getVendedorSelecionado())) {
                        setGraficoPercentuaisMeta(graficoService.gerarGraficoPercentuaisMeta(getEntidade()));
                } else {
                        setGraficoPercentuaisMeta(null);
                }
               
//              setGraficoVendasPorFormasDePagamento(graficoService.gerarGraficoVendasPorFormasDePagamento(getGraficoVendas().getParametrosConsulta()));
                /*
                BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
                getFuncionarioSelecionado().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro);
               
                PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO(), Arrays.asList(getTiposProduto()));
                getFuncionarioSelecionado().setGraficoTiposProdutos(graficoTiposProdutos);
               
                PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
                getFuncionarioSelecionado().setGraficoFormasPagamento(graficoFormasPagamento);
                */

        }
       
}