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