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