Subversion Repositories Integrator Subversion

Rev

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

package br.com.ec.domain.dto;

import java.util.Date;
import java.util.List;

import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.util.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Fornecedor;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.Marca;
import br.com.ec.domain.model.Modelo;
import br.com.ec.domain.model.Produto;
import br.com.ec.domain.model.Vendedor;
import br.com.ec.domain.model.tipos.TipoOrdenacaoMaisVendidos;
import br.com.ec.domain.model.tipos.TipoPeriodoConsulta;

public class ParametrosConsultaProdutosVendidosDTO extends ParametrosConsulta<RankingProdutoDTO> implements Cloneable {

        private Produto produto;
        private Loja loja;
        private Integer quantidadeProdutos;
        private String tipoProduto;
        private String tipoOrdenacao;
        private Marca marca;
        private Modelo modelo;
        private Fornecedor fornecedor;
        private Vendedor vendedor;
        private List<Loja> lojasParaConsulta;
       
        private String tipoPeriodoConsulta;
        private Date dataInicial;
        private Date dataFinal;
       
        private Integer quantidadeMinimaComprar;
        private Boolean somenteParaComprar = true;
        private Boolean comCasaDasCapas = false;
       
        private Loja lojaSelecionada;
        private Integer estoqueMinimo;
        private Boolean consultarPorEstoque;
        private int primeiroRegistro;
        private int tamanhoPagina;
       
        private Boolean indicadorModeloFavorito;
       
        @SuppressWarnings("static-access")
        public ParametrosConsultaProdutosVendidosDTO() {
                setDataInicial(new DataUtils().getDataComHorarioMinimo(new DataUtils().getPrimeiroDiaDoMesAtual()));
                setDataFinal(new DataUtils().getDataComHorarioMaximo(new DataUtils().getUltimoDiaDoMesAtual()));
                setTipoPeriodoConsulta(TipoPeriodoConsulta.ULTIMOS_15_DIAS.getValor());
                atualizarPeriodo();
                setQuantidadeMinimaComprar(1);
        }
       
        public Produto getProduto() {
                return produto;
        }
        public void setProduto(Produto produto) {
                this.produto = produto;
        }
       
        public Loja getLoja() {
                return loja;
        }
        public void setLoja(Loja loja) {
                this.loja = loja;
        }
       
        public Integer getQuantidadeProdutos() {
                return quantidadeProdutos;
        }
        public void setQuantidadeProdutos(Integer quantidadeProdutos) {
                this.quantidadeProdutos = quantidadeProdutos;
        }
       
        public String getTipoProduto() {
                return tipoProduto;
        }
        public void setTipoProduto(String tipoProduto) {
                this.tipoProduto = tipoProduto;
        }
       
        public String getTipoOrdenacao() {
                return tipoOrdenacao;
        }
        public void setTipoOrdenacao(String tipoOrdenacao) {
                this.tipoOrdenacao = tipoOrdenacao;
        }
       
        public Marca getMarca() {
                return marca;
        }
        public void setMarca(Marca marca) {
                this.marca = marca;
        }
       
        public Modelo getModelo() {
                return modelo;
        }
        public void setModelo(Modelo modelo) {
                this.modelo = modelo;
        }
       
        public Fornecedor getFornecedor() {
                return fornecedor;
        }
        public void setFornecedor(Fornecedor fornecedor) {
                this.fornecedor = fornecedor;
        }
       
        public Vendedor getVendedor() {
                return vendedor;
        }
        public void setVendedor(Vendedor vendedor) {
                this.vendedor = vendedor;
        }
       
        public List<Loja> getLojasParaConsulta() {
                return lojasParaConsulta;
        }
        public void setLojasParaConsulta(List<Loja> lojasParaConsulta) {
                this.lojasParaConsulta = lojasParaConsulta;
        }
       
        public String getTipoPeriodoConsulta() {
                return tipoPeriodoConsulta;
        }
        public void setTipoPeriodoConsulta(String tipoPeriodoConsulta) {
                this.tipoPeriodoConsulta = tipoPeriodoConsulta;
        }
       
        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 getQuantidadeMinimaComprar() {
                return quantidadeMinimaComprar;
        }
        public void setQuantidadeMinimaComprar(Integer quantidadeMinimaComprar) {
                this.quantidadeMinimaComprar = quantidadeMinimaComprar;
        }
       
        public Boolean getSomenteParaComprar() {
                return somenteParaComprar;
        }
        public void setSomenteParaComprar(Boolean somenteParaComprar) {
                this.somenteParaComprar = somenteParaComprar;
        }
       
        public Boolean getComCasaDasCapas() {
                return comCasaDasCapas;
        }
        public void setComCasaDasCapas(Boolean comCasaDasCapas) {
                this.comCasaDasCapas = comCasaDasCapas;
        }
       
        public Loja getLojaSelecionada() {
                return lojaSelecionada;
        }
        public void setLojaSelecionada(Loja lojaSelecionada) {
                this.lojaSelecionada = lojaSelecionada;
        }
       
        public Integer getEstoqueMinimo() {
                return estoqueMinimo;
        }
        public void setEstoqueMinimo(Integer estoqueMinimo) {
                this.estoqueMinimo = estoqueMinimo;
        }
       
        public Boolean getConsultarPorEstoque() {
                return consultarPorEstoque;
        }
        public void setConsultarPorEstoque(Boolean consultarPorEstoque) {
                this.consultarPorEstoque = consultarPorEstoque;
        }
       
        public int getPrimeiroRegistro() {
                return primeiroRegistro;
        }
        public void setPrimeiroRegistro(int primeiroRegistro) {
                this.primeiroRegistro = primeiroRegistro;
        }
       
        public int getTamanhoPagina() {
                return tamanhoPagina;
        }
        public void setTamanhoPagina(int tamanhoPagina) {
                this.tamanhoPagina = tamanhoPagina;
        }
       
        public Boolean getIndicadorModeloFavorito() {
                return indicadorModeloFavorito;
        }
        public void setIndicadorModeloFavorito(Boolean indicadorModeloFavorito) {
                this.indicadorModeloFavorito = indicadorModeloFavorito;
        }
       
        public Boolean ordenadoPorData() {
                return VerificadorUtil.naoEstaNuloOuVazio(getTipoOrdenacao())? getTipoOrdenacao().equals(TipoOrdenacaoMaisVendidos.DATA.getValor())? true : false : false;
        }
       
        public void atualizarPeriodo() {
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_7_DIAS.getValor())) {
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7)));
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
                }
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_15_DIAS.getValor())) {
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -15)));
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
                }
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_30_DIAS.getValor())) {
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -30)));
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
                }
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_60_DIAS.getValor())) {
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -60)));
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
                }
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.ULTIMOS_90_DIAS.getValor())) {
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -90)));
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getDataAtual()));
                }
                if (getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.MES_ATUAL.getValor())) {
                        setDataInicial(new DataUtils().getDataComHorarioMinimo(DataUtils.getPrimeiroDiaDoMesAtual()));
                        setDataFinal(new DataUtils().getDataComHorarioMaximo(DataUtils.getUltimoDiaDoMesAtual()));
                }
        }
       
        public Boolean ehTipoPeriodoEspecifico() {
                return getTipoPeriodoConsulta().equals(TipoPeriodoConsulta.PERIODO_ESPECIFICO.getValor());
        }
       
        @Override
        public ParametrosConsultaProdutosVendidosDTO clone() {
                try {
                        return (ParametrosConsultaProdutosVendidosDTO)super.clone();
                } catch (CloneNotSupportedException e) {
                        e.printStackTrace();
                }
                return null;
        }

}