package br.com.ec.domain.shared;
import java.util.Date;
import javax.faces.bean.ManagedBean;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import br.com.ec.core.util.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.tipos.TipoCor;
@
Component
@ManagedBean
@Scope
("view")
public class UtilBean
{
public static String corSobreMetaCorrente
(Double percentualRealizadoNoMesAtual
) {
Double percentualPercorridoNoMes = percentualPercorridoNoMes
();
if (VerificadorUtil.
naoEstaNulo(percentualRealizadoNoMesAtual
) && VerificadorUtil.
naoEstaNulo(percentualPercorridoNoMes
)) {
Double diferenca = percentualRealizadoNoMesAtual -
(percentualPercorridoNoMes/
100);
Double diferencaSetentaCinco = percentualPercorridoNoMes
* 25 /
100;
if (diferenca
> 0.24) {
return TipoCor.
AZUL_PADRAO.
getValor();
} else if (diferenca
> 0) {
return TipoCor.
VERDE_PADRAO.
getValor();
} else if (diferenca
> (diferencaSetentaCinco
* -
1 /
100)) {
return TipoCor.
LARANJA_PADRAO.
getValor();
} else {
return TipoCor.
VERMELHO.
getValor();
}
}
return TipoCor.
PRETO.
getValor();
}
public static String corSobreVendasPorMeta
(Double valorTotalVendasDoDia,
Double valorMetaDiaria
) {
if (VerificadorUtil.
naoEstaNulo(valorTotalVendasDoDia
) && VerificadorUtil.
naoEstaNulo(valorMetaDiaria
)) {
if (valorTotalVendasDoDia
>= valorMetaDiaria
) return TipoCor.
VERDE_PADRAO.
getDescricao();
if (valorTotalVendasDoDia
>= valorMetaDiaria
* 0.8) return TipoCor.
AZUL_PADRAO.
getDescricao();
if (valorTotalVendasDoDia
>= valorMetaDiaria
* 0.5) return TipoCor.
LARANJA_PADRAO.
getDescricao();
}
return TipoCor.
VERMELHO_PADRAO.
getDescricao();
}
public static String setaSobreMetaCorrente
(Double percentualRealizadoNoMesAtual
) {
Double percentualPercorridoNoMes = percentualPercorridoNoMes
();
if (VerificadorUtil.
naoEstaNulo(percentualRealizadoNoMesAtual
) && VerificadorUtil.
naoEstaNulo(percentualPercorridoNoMes
)) {
Double diferenca = percentualRealizadoNoMesAtual -
(percentualPercorridoNoMes/
100);
if (diferenca
> 0) {
return "pi pi-arrow-up";
} else {
return "pi pi-arrow-down";
}
}
return "pi pi-minus";
}
public static Double percentualPercorridoNoMes
() {
Integer ultimoDiaDoMes = DataUtils.
getUltimoDiaDoMesAtual().
getDate();
Integer diaAtual = DataUtils.
getDataAtual().
getDate();
return new Double(100*diaAtual/ultimoDiaDoMes
);
}
public static String padraoCodigoProduto
(String codigoProduto
) {
try {
return !codigoProduto.
isEmpty() ? String.
format("%06d",
new Long(codigoProduto
)) :
"";
} catch (Exception e
) {
return "";
}
}
/*
public static String statusContagem(Date dataVerificar, Date dataContagemSolicitada) {
if (dataVerificar != null) {
if (VerificadorUtil.naoEstaNulo(dataContagemSolicitada)) {
if (dataContagemSolicitada.before(dataVerificar)) {
return "green";
} else {
Integer quantidadeDias = DataUtils.calcularDiferenceEmDiasEntreDuasDatas(DataUtils.getDataAtual(), dataVerificar);
if (quantidadeDias > ConstantesSEC.StatusContagem.CONTAGEM_VERMELHO_60_DIAS) return "pink";
if (quantidadeDias > ConstantesSEC.StatusContagem.CONTAGEM_AMARELO_30_DIAS) return "orange";
}
}
}
return "black";
}
public static String statusContagemAnterior(Date dataVerificar) {
if (dataVerificar != null) {
Integer quantidadeDias = DataUtils.calcularDiferenceEmDiasEntreDuasDatas(DataUtils.getDataAtual(), dataVerificar);
if (quantidadeDias <= ConstantesSEC.StatusContagem.CONTAGEM_AMARELO_30_DIAS) return "green";
if (quantidadeDias <= ConstantesSEC.StatusContagem.CONTAGEM_VERMELHO_60_DIAS) return "orange";
if (quantidadeDias <= ConstantesSEC.StatusContagem.CONTAGEM_VERMELHO_CHEIO_90_DIAS) return "black";
}
return "black";
}
public static String estiloVendas(Double valor) {
if (VerificadorUtil.naoEstaNulo(valor)) {
if (valor > new Double(1999)) return TipoCor.VERDE_PADRAO.getDescricao();
if (valor > new Double(999)) return TipoCor.AZUL_PADRAO.getDescricao();
if (valor > new Double(499)) return "orange";
}
return "black";
}
public static String estiloValor(Double valor) {
if (valor >= 0) return TipoCor.VERDE_PADRAO.getDescricao();
if (valor < 0) return TipoCor.VERMELHO_PADRAO.getDescricao();
return TipoCor.AZUL_PADRAO.getDescricao();
}
public static Boolean dataEstaVencida(Date data) {
Date dataVerificar = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -1);
return data.before(DataUtils.getDataComHorarioMaximo(dataVerificar));
}
public static String estiloVendasPorMeta(Double valorTotalVendasDoDia, Double valorMetaDiaria) {
if (VerificadorUtil.naoEstaNulo(valorTotalVendasDoDia) && VerificadorUtil.naoEstaNulo(valorMetaDiaria)) {
if (valorTotalVendasDoDia >= valorMetaDiaria) return TipoCor.VERDE_PADRAO.getDescricao();
if (valorTotalVendasDoDia >= valorMetaDiaria * 0.8) return TipoCor.AZUL_PADRAO.getDescricao();
if (valorTotalVendasDoDia >= valorMetaDiaria * 0.5) return "orange";
}
return TipoCor.VERMELHO_PADRAO.getDescricao();
}
public static TipoCor corPorValor(Double valor) {
if (valor >= 0) return TipoCor.VERDE_PADRAO;
return TipoCor.VERMELHO_PADRAO;
}
*/
}