Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | 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 java.util.List;

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.domain.dto.RankingPedidoDTO;
import br.com.ec.domain.model.tipos.TipoGenero;
import br.com.ec.domain.model.tipos.TipoSituacaoPedido;
import br.com.ec.domain.service.pedido.PedidoService;
import br.edu.cesmac.core.generic.GenericService;
import br.edu.cesmac.core.util.DataUtils;
import br.edu.cesmac.web.generic.AbstractBean;

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

        private static final long serialVersionUID = 1L;
       
        private Date dataInicial;
        private Date dataFinal;
       
        private List<RankingPedidoDTO> rankingPedidosNaoAtendidosUnissex;
        private List<RankingPedidoDTO> rankingPedidosNaoAtendidosMasculinos;
        private List<RankingPedidoDTO> rankingPedidosNaoAtendidosFemininos;
       
        private List<RankingPedidoDTO> rankingPedidosUnissex;
        private List<RankingPedidoDTO> rankingPedidosMasculinos;
        private List<RankingPedidoDTO> rankingPedidosFemininos;
       
        private Integer quantidadePedidosNovos = 0;
        private Integer quantidadePedidosEntrarEmContato = 0;
        private Integer quantidadePedidosAguardandoRetorno = 0;
        private Integer quantidadePedidosAtendidos = 0;
       
        private PedidoService pedidoService;
       
        @Inject
        public RankingPedidosBean(PedidoService pedidoService) {
                this.pedidoService = pedidoService;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
                setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7));
                setDataFinal(DataUtils.getDataAtual());
                consultarRankings();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new RankingPedidoDTO());
        }

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

        @Override
        public RankingPedidoDTO 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 List<RankingPedidoDTO> getRankingPedidosNaoAtendidosUnissex() {
                return rankingPedidosNaoAtendidosUnissex;
        }
        public void setRankingPedidosNaoAtendidosUnissex(List<RankingPedidoDTO> rankingPedidosNaoAtendidosUnissex) {
                this.rankingPedidosNaoAtendidosUnissex = rankingPedidosNaoAtendidosUnissex;
        }
       
        public List<RankingPedidoDTO> getRankingPedidosNaoAtendidosMasculinos() {
                return rankingPedidosNaoAtendidosMasculinos;
        }
       
        public void setRankingPedidosNaoAtendidosMasculinos(List<RankingPedidoDTO> rankingPedidosNaoAtendidosMasculinos) {
                this.rankingPedidosNaoAtendidosMasculinos = rankingPedidosNaoAtendidosMasculinos;
        }
       
        public List<RankingPedidoDTO> getRankingPedidosNaoAtendidosFemininos() {
                return rankingPedidosNaoAtendidosFemininos;
        }
       
        public void setRankingPedidosNaoAtendidosFemininos(List<RankingPedidoDTO> rankingPedidosNaoAtendidosFemininos) {
                this.rankingPedidosNaoAtendidosFemininos = rankingPedidosNaoAtendidosFemininos;
        }
       
        public List<RankingPedidoDTO> getRankingPedidosUnissex() {
                return rankingPedidosUnissex;
        }
        public void setRankingPedidosUnissex(List<RankingPedidoDTO> rankingPedidosUnissex) {
                this.rankingPedidosUnissex = rankingPedidosUnissex;
        }
       
        public List<RankingPedidoDTO> getRankingPedidosMasculinos() {
                return rankingPedidosMasculinos;
        }
        public void setRankingPedidosMasculinos(List<RankingPedidoDTO> rankingPedidosMasculinos) {
                this.rankingPedidosMasculinos = rankingPedidosMasculinos;
        }
       
        public List<RankingPedidoDTO> getRankingPedidosFemininos() {
                return rankingPedidosFemininos;
        }
        public void setRankingPedidosFemininos(List<RankingPedidoDTO> rankingPedidosFemininos) {
                this.rankingPedidosFemininos = rankingPedidosFemininos;
        }
       
        public Integer getQuantidadePedidosNovos() {
                return quantidadePedidosNovos;
        }
        public void setQuantidadePedidosNovos(Integer quantidadePedidosNovos) {
                this.quantidadePedidosNovos = quantidadePedidosNovos;
        }
       
        public Integer getQuantidadePedidosEntrarEmContato() {
                return quantidadePedidosEntrarEmContato;
        }
        public void setQuantidadePedidosEntrarEmContato(Integer quantidadePedidosEntrarEmContato) {
                this.quantidadePedidosEntrarEmContato = quantidadePedidosEntrarEmContato;
        }
       
        public Integer getQuantidadePedidosAguardandoRetorno() {
                return quantidadePedidosAguardandoRetorno;
        }
        public void setQuantidadePedidosAguardandoRetorno(Integer quantidadePedidosAguardandoRetorno) {
                this.quantidadePedidosAguardandoRetorno = quantidadePedidosAguardandoRetorno;
        }
       
        public Integer getQuantidadePedidosAtendidos() {
                return quantidadePedidosAtendidos;
        }
        public void setQuantidadePedidosAtendidos(Integer quantidadePedidosAtendidos) {
                this.quantidadePedidosAtendidos = quantidadePedidosAtendidos;
        }
       
        public void consultarRankings() {
                setRankingPedidosNaoAtendidosUnissex(pedidoService.consultarRankingPedidosNaoAtendidos(TipoGenero.UNISSEX.getValor(), getDataInicial(), getDataFinal()));
                setRankingPedidosNaoAtendidosMasculinos(pedidoService.consultarRankingPedidosNaoAtendidos(TipoGenero.MASCULINO.getValor(), getDataInicial(), getDataFinal()));
                setRankingPedidosNaoAtendidosFemininos(pedidoService.consultarRankingPedidosNaoAtendidos(TipoGenero.FEMININO.getValor(), getDataInicial(), getDataFinal()));
                setRankingPedidosUnissex(pedidoService.consultarRankingPedidos(TipoGenero.UNISSEX.getValor(), getDataInicial(), getDataFinal()));
                setRankingPedidosMasculinos(pedidoService.consultarRankingPedidos(TipoGenero.MASCULINO.getValor(), getDataInicial(), getDataFinal()));
                setRankingPedidosFemininos(pedidoService.consultarRankingPedidos(TipoGenero.FEMININO.getValor(), getDataInicial(), getDataFinal()));
               
                setQuantidadePedidosNovos(pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.NOVO.getValor(), getDataInicial(), getDataFinal()));
                setQuantidadePedidosEntrarEmContato(pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.ENTRAR_EM_CONTATO.getValor(), getDataInicial(), getDataFinal()));
                setQuantidadePedidosAguardandoRetorno(pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.AGUARDANDO_FINALIZACAO_CLIENTE.getValor(), getDataInicial(), getDataFinal()));
               
                Integer pedidosFinalizados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.FINALIZADO.getValor(), getDataInicial(), getDataFinal());
                Integer pedidosFinalizadosComVendas = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.FINALIZADO_COM_VENDAS.getValor(), getDataInicial(), getDataFinal());
                setQuantidadePedidosAtendidos(pedidosFinalizados + pedidosFinalizadosComVendas);
        }
       
}