Subversion Repositories Integrator Subversion

Rev

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

package br.com.ec.domain.dto;

import java.beans.Transient;

import br.com.ec.domain.model.AvaliacaoLoja;
import br.com.ec.domain.model.Loja;
import br.edu.cesmac.core.util.VerificadorUtil;

public class RankingLojaDTO implements Comparable<RankingLojaDTO> {

        private AvaliacaoLoja avaliacaoLoja;
        private Loja loja;
        private Double valorTotalVendido;
        private Double valorMetaMensal;
       
        private Double valorCac;
        private Integer quantidadeVendas;
        private Integer quantidadeAtendimentos;
        private Integer quantidadePedidos;
        private Integer quantidadePedidosInvalidos;
        private Integer quantidadeAvarias;
        private Integer quantidadeTrocas;
        private Double valorTotalDescontos;
        private Double valorTotalEstoque;
        private Integer quantidadeTotalEstoque;
        private Double custoProdutosVendidos;
        private Double resultadoLiquido;
       
        public RankingLojaDTO() {
                valorTotalVendido = 0.0;
                valorMetaMensal = 0.0;
        }
       
        public AvaliacaoLoja getAvaliacaoLoja() {
                return avaliacaoLoja;
        }
        public void setAvaliacaoLoja(AvaliacaoLoja avaliacaoLoja) {
                this.avaliacaoLoja = avaliacaoLoja;
        }

        public Loja getLoja() {
                return loja;
        }
        public void setLoja(Loja loja) {
                this.loja = loja;
        }
       
        public Double getValorTotalVendido() {
                return valorTotalVendido;
        }
        public void setValorTotalVendido(Double valorTotalVendido) {
                this.valorTotalVendido = valorTotalVendido;
        }
       
        public Double getValorMetaMensal() {
                return valorMetaMensal;
        }
        public void setValorMetaMensal(Double valorMetaMensal) {
                this.valorMetaMensal = valorMetaMensal;
        }
        public Double getPercentualMetaMensal() {
                if (VerificadorUtil.naoEstaNulo(valorTotalVendido) && VerificadorUtil.naoEstaNulo(valorMetaMensal)) {
                        if (valorMetaMensal > new Double(0.0)) {
                                return valorTotalVendido / valorMetaMensal;
                        }
                }
                return new Double (0.0);
        }
       
        public Double getValorCac() {
                return valorCac;
        }
        public void setValorCac(Double valorCac) {
                this.valorCac = valorCac;
        }
       
        public Integer getQuantidadeVendas() {
                return quantidadeVendas;
        }
        public void setQuantidadeVendas(Integer quantidadeVendas) {
                this.quantidadeVendas = quantidadeVendas;
        }
       
        public Integer getQuantidadeAtendimentos() {
                return quantidadeAtendimentos;
        }
        public void setQuantidadeAtendimentos(Integer quantidadeAtendimentos) {
                this.quantidadeAtendimentos = quantidadeAtendimentos;
        }
       
        public Integer getQuantidadePedidos() {
                return quantidadePedidos;
        }
        public void setQuantidadePedidos(Integer quantidadePedidos) {
                this.quantidadePedidos = quantidadePedidos;
        }
       
        public Integer getQuantidadePedidosInvalidos() {
                return quantidadePedidosInvalidos;
        }
        public void setQuantidadePedidosInvalidos(Integer quantidadePedidosInvalidos) {
                this.quantidadePedidosInvalidos = quantidadePedidosInvalidos;
        }
       
        public Integer getQuantidadeAvarias() {
                return quantidadeAvarias;
        }
        public void setQuantidadeAvarias(Integer quantidadeAvarias) {
                this.quantidadeAvarias = quantidadeAvarias;
        }
       
        public Integer getQuantidadeTrocas() {
                return quantidadeTrocas;
        }
        public void setQuantidadeTrocas(Integer quantidadeTrocas) {
                this.quantidadeTrocas = quantidadeTrocas;
        }
       
        public Double getValorTotalDescontos() {
                return valorTotalDescontos;
        }
        public void setValorTotalDescontos(Double valorTotalDescontos) {
                this.valorTotalDescontos = valorTotalDescontos;
        }
       
        public Double getValorTotalEstoque() {
                return valorTotalEstoque;
        }
        public void setValorTotalEstoque(Double valorTotalEstoque) {
                this.valorTotalEstoque = valorTotalEstoque;
        }
       
        public Integer getQuantidadeTotalEstoque() {
                return quantidadeTotalEstoque;
        }
        public void setQuantidadeTotalEstoque(Integer quantidadeTotalEstoque) {
                this.quantidadeTotalEstoque = quantidadeTotalEstoque;
        }
       
        public Double getCustoProdutosVendidos() {
                return custoProdutosVendidos;
        }
        public void setCustoProdutosVendidos(Double custoProdutosVendidos) {
                this.custoProdutosVendidos = custoProdutosVendidos;
        }
       
        public Double getResultadoLiquido() {
                return resultadoLiquido;
        }
        public void setResultadoLiquido(Double resultadoLiquido) {
                this.resultadoLiquido = resultadoLiquido;
        }
       
        /*****************************************/
       
        @Override
        public int compareTo(RankingLojaDTO rankingLojaDTO) {
                return rankingLojaDTO.getValorTotalVendido().compareTo(this.valorTotalVendido);
        }
       
        @Transient
        public String corSobreMeta() {
                if (VerificadorUtil.naoEstaNulo(getPercentualMetaMensal())) {
                        if (getPercentualMetaMensal() > 0.99) return "green";
                        if (getPercentualMetaMensal() > 0.74) return "orange";
                        return "red";
                }
                return "black";
        }
       
        @Transient
        public String corSobreMetaCorrente(Double percentualPercorridoMesAtual) {
                if (VerificadorUtil.naoEstaNulo(getPercentualMetaMensal()) && VerificadorUtil.naoEstaNulo(percentualPercorridoMesAtual)) {
                        Double diferenca = getPercentualMetaMensal() - (percentualPercorridoMesAtual/100);
                        Double diferencaSetentaCinco = percentualPercorridoMesAtual * 25 / 100;
                        if (diferenca > 0) {
                                return "green";
                        } else if (diferenca > (diferencaSetentaCinco * -1 / 100)) {
                                return "orange";
                        } else {
                                return "red";
                        }
                }
                return "black";
        }
       
        @Transient
        public Double valorTicketMedio() {
                if (VerificadorUtil.naoEstaNulo(getValorTotalVendido()) &&
                                VerificadorUtil.naoEstaNulo(getQuantidadeVendas())) {
                        if (getValorTotalVendido() > 0.0 && getQuantidadeVendas() > 0) {
                                return getValorTotalVendido() / getQuantidadeVendas();
                        }
                }
                return 0.0;
        }
       
        @Transient
        public Double percentualDesconto() {
                if (VerificadorUtil.naoEstaNulo(getValorTotalVendido()) &&
                                VerificadorUtil.naoEstaNulo(getValorTotalDescontos())) {
                        if (getValorTotalVendido() > 0.0 && getValorTotalDescontos() > 0.0) {
                                return (getValorTotalDescontos() * 100) / getValorTotalVendido();
                        }
                }
                return 0.0;
        }
       
}