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.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;
       
        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);
        }
       
        @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";
        }
       
}