package br.com.ec.domain.dto;
import br.com.ec.core.util.DataUtils;
import br.com.ec.core.util.StringUtil;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.shared.UtilBean;
public class TempoRealLojaDTO
implements Comparable<TempoRealLojaDTO
> {
private LojaDTO lojaDTO
;
private Integer quantidadeVendasNoDia
;
private Double valorVendasNoDia
;
private Double valorVendasNoMes
;
private Double valorMetaMensal
;
private Double percentualRealizadoMetaMensal
;
private Boolean lojaAberta =
false;
private Boolean lojaComVendasNovas =
false;
// private Double valorTotalVendasAnterioresDoMesAtual;
// private Double valorTotalVendas;
public LojaDTO getLojaDTO
() {
return lojaDTO
;
}
public void setLojaDTO
(LojaDTO lojaDTO
) {
this.
lojaDTO = lojaDTO
;
}
public Integer getQuantidadeVendasNoDia
() {
return quantidadeVendasNoDia
;
}
public void setQuantidadeVendasNoDia
(Integer quantidadeVendasNoDia
) {
this.
quantidadeVendasNoDia = quantidadeVendasNoDia
;
}
public Double getValorVendasNoDia
() {
return valorVendasNoDia
;
}
public void setValorVendasNoDia
(Double valorVendasNoDia
) {
this.
valorVendasNoDia = valorVendasNoDia
;
}
public Double getValorVendasNoMes
() {
return valorVendasNoMes
;
}
public void setValorVendasNoMes
(Double valorVendasNoMes
) {
this.
valorVendasNoMes = valorVendasNoMes
;
}
public Double getValorVendasAnterioresDoMes
() {
if (VerificadorUtil.
naoEstaNulo(getValorVendasNoMes
()) &&
VerificadorUtil.
naoEstaNulo(getValorVendasNoMes
())) {
return getValorVendasNoMes
() - getValorVendasNoDia
();
}
return 0.0;
}
public Double getValorMetaMensal
() {
return valorMetaMensal
;
}
public void setValorMetaMensal
(Double valorMetaMensal
) {
this.
valorMetaMensal = valorMetaMensal
;
}
public Double getPercentualRealizadoMetaMensal
() {
return percentualRealizadoMetaMensal
;
}
public void setPercentualRealizadoMetaMensal
(Double percentualRealizadoMetaMensal
) {
this.
percentualRealizadoMetaMensal = percentualRealizadoMetaMensal
;
}
public Double getPercentualRealizadoMetaMensalLimitadoACem
() {
if (getPercentualRealizadoMetaMensal
() > 1.0) {
return 1.0;
}
return getPercentualRealizadoMetaMensal
();
}
public Boolean getLojaAberta
() {
return lojaAberta
;
}
public void setLojaAberta
(Boolean lojaAberta
) {
this.
lojaAberta = lojaAberta
;
}
public Boolean getLojaComVendasNovas
() {
return lojaComVendasNovas
;
}
public void setLojaComVendasNovas
(Boolean lojaComVendasNovas
) {
this.
lojaComVendasNovas = lojaComVendasNovas
;
}
public String getStatusLoja
() {
if (getLojaComVendasNovas
()) {
return "fa-shopping-cart";
}
if (getLojaAberta
()) {
return "fa-lock";
}
return "fa-bed";
}
@
Override
public int compareTo
(TempoRealLojaDTO tempoRealLojaDTO
) {
return tempoRealLojaDTO.
getValorVendasNoDia().
compareTo(this.
valorVendasNoDia);
}
/*************************************************************/
public Double valorTicketMedio
() {
if (VerificadorUtil.
naoEstaNuloOuVazio(getValorVendasNoDia
()) &&
VerificadorUtil.
naoEstaNuloOuVazio(getQuantidadeVendasNoDia
())) {
return (getValorVendasNoDia
() > 0.0 && getQuantidadeVendasNoDia
() > 0)? getValorVendasNoDia
()/getQuantidadeVendasNoDia
() :
0.0;
}
return 0.0;
}
public String corPercentualRealizadoMetaMensal
() {
return UtilBean.
corSobreMetaCorrente(getPercentualRealizadoMetaMensal
());
}
public String setaPercentualRealizadoMetaMensal
() {
return UtilBean.
setaSobreMetaCorrente(getPercentualRealizadoMetaMensal
());
}
public Double metaDiariaLiquidaComVendasDoDia
() {
Integer quantidadeDiasNoMesAtual = DataUtils.
calcularDiferenceEmDiasEntreDuasDatas(DataUtils.
getDataComHorarioMaximo(DataUtils.
getUltimoDiaDoMesAtual()), DataUtils.
getDataComHorarioMinimo(DataUtils.
getDataAtual())) +
1;
if (VerificadorUtil.
naoEstaNulo(getValorMetaMensal
())) {
return getValorMetaMensal
() > 0? ((getValorMetaMensal
() - getValorVendasAnterioresDoMes
()) / quantidadeDiasNoMesAtual
) :
0.0;
}
return 0.0;
}
public String metaDiariaLiquidaComVendasDoDiaFormatada
() {
try {
return StringUtil.
formatarValor(metaDiariaLiquidaComVendasDoDia
());
} catch (Exception e
) {
e.
printStackTrace();
}
return "R$ 0,00";
}
public String corPercentualRealizadoMetaDiaria
() {
return UtilBean.
corSobreVendasPorMeta(getValorVendasNoDia
(), metaDiariaLiquidaComVendasDoDia
());
}
}
/*
private Double valorTotalVendasVivo;
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;
}
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;
}
}
*/