Subversion Repositories Integrator Subversion

Rev

Rev 106 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller.managedbean;

import java.io.Serializable;
import java.util.Date;

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

import org.springframework.context.annotation.Scope;

import br.com.ec.controller.util.UtilBean;
import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.DataUtils;
import br.com.ec.domain.dto.RankingDTO;
import br.com.ec.domain.model.tipos.TipoOrdenacaoMaisVendidos;
import br.com.ec.domain.model.tipos.TipoProduto;
import br.com.ec.domain.service.venda.VendaService;
import br.com.ec.web.generic.AbstractBean;

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

        private static final long serialVersionUID = 1L;
       
        private VendaService vendaService;
        private Date dataInicial;
        private Date dataFinal;
        private Integer limiteRanking = 10;
       
        @Inject
        public RankingBean(VendaService vendaService) {
                this.vendaService = vendaService;
        }
       
        @Override
        public void preCarregamento() {
                setDataInicial(DataUtils.getPrimeiroDiaDoMesAtual());
                setDataFinal(DataUtils.getUltimoDiaDoMesAtual());
                consultarRankings();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new RankingDTO());
        }

        @Override
        public GenericService<RankingDTO> getService() {
                return null;
        }
       
        @Override
        public RankingDTO getEntidade() {
                return entidade;
        }

        @Override
        public RankingDTO getId() {
                return getEntidade();
        }
       
        public String estiloValor(Double valor) {
                return UtilBean.estiloValor(valor);
        }
       
        public Date getDataInicial() {
                return dataInicial;
        }
        public void setDataInicial(Date dataInicial) {
                this.dataInicial = dataInicial;
        }
       
        public Date getDataFinal() {
                return dataFinal;
        }
        public void setDataFinal(Date dataFinal) {
                this.dataFinal = dataFinal;
        }
       
        public Integer getLimiteRanking() {
                return limiteRanking;
        }
        public void setLimiteRanking(Integer limiteRanking) {
                this.limiteRanking = limiteRanking;
        }
       
        public void consultarRankings() {
                entidade = new RankingDTO();
                entidade.setRankingProdutosCapas(vendaService.consultarRankingProdutos(getDataInicial(), getDataFinal(), getLimiteRanking(), TipoOrdenacaoMaisVendidos.QUANTIDADE.getValor(), null, TipoProduto.CAPA.getValor(), null, null));
                entidade.setRankingProdutosPeliculas(vendaService.consultarRankingProdutos(getDataInicial(), getDataFinal(), getLimiteRanking(), TipoOrdenacaoMaisVendidos.QUANTIDADE.getValor(), null, TipoProduto.PELICULA.getValor(), null, null));
                entidade.setRankingProdutosAcessorios(vendaService.consultarRankingProdutos(getDataInicial(), getDataFinal(), getLimiteRanking(), TipoOrdenacaoMaisVendidos.QUANTIDADE.getValor(), null, TipoProduto.ACESSORIO.getValor(), null, null));
                entidade.setRankingProdutos(vendaService.consultarRankingProdutos(getDataInicial(), getDataFinal(), getLimiteRanking(), TipoOrdenacaoMaisVendidos.QUANTIDADE.getValor(), null, null, null, null));
                entidade.setRankingModelos(vendaService.consultarRankingModelos(getDataInicial(), getDataFinal(), getLimiteRanking(), TipoOrdenacaoMaisVendidos.QUANTIDADE.getValor(), null, null));
        }
       
}