package br.com.ec.domain.dto;
import br.com.ec.controller.util.UtilBean;
import br.com.ec.core.util.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Loja;
public class ConsolidadoVendasLojaDTO
implements Comparable<ConsolidadoVendasLojaDTO
> {
private Loja loja
;
private Integer quantidadeTotalVendas
;
private Double valorTotalVendasDoDia
;
private Double valorTotalVendas
;
private Double valorTotalVendasVivo
;
private Double valorTotalVendasAnterioresDoMesAtual
;
private Boolean indicadorLojaAberta
;
private Boolean indicadorVendasNovas
;
private Double valorMetaMensal
;
public Loja getLoja
() {
return loja
;
}
public void setLoja
(Loja loja
) {
this.
loja = loja
;
}
public Integer getQuantidadeTotalVendas
() {
return quantidadeTotalVendas
;
}
public void setQuantidadeTotalVendas
(Integer quantidadeTotalVendas
) {
this.
quantidadeTotalVendas = quantidadeTotalVendas
;
}
public Double getValorTotalVendasDoDia
() {
return valorTotalVendasDoDia
;
}
public void setValorTotalVendasDoDia
(Double valorTotalVendasDoDia
) {
this.
valorTotalVendasDoDia = valorTotalVendasDoDia
;
}
public Double getValorTotalVendas
() {
return valorTotalVendas
;
}
public void setValorTotalVendas
(Double valorTotalVendas
) {
this.
valorTotalVendas = valorTotalVendas
;
}
public Double getValorTotalVendasVivo
() {
return valorTotalVendasVivo
;
}
public void setValorTotalVendasVivo
(Double valorTotalVendasVivo
) {
this.
valorTotalVendasVivo = valorTotalVendasVivo
;
}
public Double getValorTotalVendasAnterioresDoMesAtual
() {
return valorTotalVendasAnterioresDoMesAtual
;
}
public void setValorTotalVendasAnterioresDoMesAtual
(Double valorTotalVendasAnterioresDoMesAtual
) {
this.
valorTotalVendasAnterioresDoMesAtual = valorTotalVendasAnterioresDoMesAtual
;
}
public Boolean getIndicadorLojaAberta
() {
return indicadorLojaAberta
;
}
public void setIndicadorLojaAberta
(Boolean indicadorLojaAberta
) {
this.
indicadorLojaAberta = indicadorLojaAberta
;
}
public Boolean getIndicadorVendasNovas
() {
return indicadorVendasNovas
;
}
public void setIndicadorVendasNovas
(Boolean indicadorVendasNovas
) {
this.
indicadorVendasNovas = indicadorVendasNovas
;
}
public String getEstiloVendas
() {
return UtilBean.
estiloVendas(valorTotalVendas
);
}
public String estiloVendasPorMeta
(Double valorMeta
) {
return UtilBean.
estiloVendasPorMeta(valorTotalVendas, valorMeta
);
}
public Double getValorMetaMensal
() {
return valorMetaMensal
;
}
public void setValorMetaMensal
(Double valorMetaMensal
) {
this.
valorMetaMensal = valorMetaMensal
;
}
@
Override
public int compareTo
(ConsolidadoVendasLojaDTO consolidadoVendasLojaDTO
) {
return consolidadoVendasLojaDTO.
getValorTotalVendas().
compareTo(this.
valorTotalVendas);
}
public Double getPercentualRealizadoMetaMensal
() {
Double percentual = getLoja
().
percentualRealizadoMetaMensal(getValorTotalVendas
(), getValorMetaMensal
());
return VerificadorUtil.
naoEstaNulo(percentual
)? percentual :
0.0;
}
public Double getMetaDiariaLiquidaComVendasDoDia
() {
Integer quantidadeDiasNoMesAtual = DataUtils.
calcularDiferenceEmDiasEntreDuasDatas(DataUtils.
getDataComHorarioMaximo(DataUtils.
getUltimoDiaDoMesAtual()), DataUtils.
getDataComHorarioMinimo(DataUtils.
getDataAtual())) +
1;
if (VerificadorUtil.
naoEstaNulo(getValorMetaMensal
())) {
return getValorMetaMensal
() > 0? ((getValorMetaMensal
() - getValorTotalVendasAnterioresDoMesAtual
()) / quantidadeDiasNoMesAtual
) :
null;
}
return 0.0;
}
}