package br.com.ec.domain.dto;
import java.util.List;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.shared.ConstantesSEC;
public class DreVigenciaDTO
{
private VigenciaDTO vigencia
;
private String descricao
;
private List<IndicadorDreDTO
> indicadores
;
public VigenciaDTO getVigencia
() {
return vigencia
;
}
public void setVigencia
(VigenciaDTO vigencia
) {
this.
vigencia = vigencia
;
}
public String getDescricao
() {
return descricao
;
}
public void setDescricao
(String descricao
) {
this.
descricao = descricao
;
}
public List<IndicadorDreDTO
> getIndicadores
() {
return indicadores
;
}
public void setIndicadores
(List<IndicadorDreDTO
> indicadores
) {
this.
indicadores = indicadores
;
}
private IndicadorDreDTO retornarIndicador
(IndicadorDreDTO indicador, VigenciaDTO vigencia
) {
for (IndicadorDreDTO indicadorDre : getIndicadores
()) {
if (indicador.
getDescricao().
equals(indicadorDre.
getDescricao()) && getVigencia
().
equals(vigencia
)) {
return indicadorDre
;
}
}
return null;
}
public Double retornarValor
(IndicadorDreDTO indicador, VigenciaDTO vigencia
) {
return retornarIndicador
(indicador, vigencia
).
getValorTotal();
}
public Double retornarMargem
(IndicadorDreDTO indicador, VigenciaDTO vigencia
) {
return retornarIndicador
(indicador, vigencia
).
getMargem();
}
public String retornarCorIndicador
(IndicadorDreDTO indicador, VigenciaDTO vigencia
) {
return retornarIndicador
(indicador, vigencia
).
corIndicador();
}
public Boolean verificarSeTemDetalhamento
(IndicadorDreDTO indicadorDRE
) {
if (VerificadorUtil.
naoEstaNulo(indicadorDRE.
getCodigo())) {
for (long indicadorDetalhavel : ConstantesSEC.
DRE.
indicadoresDetalhaveis) {
if (indicadorDRE.
getCodigo().
equals(new Long(indicadorDetalhavel
))) {
return true;
}
}
}
return false;
}
public void acrescentarValorIndicador
(IndicadorDreDTO indicadorDRE
) {
Boolean adicionarIndicador =
true;
for (IndicadorDreDTO indicador : getIndicadores
()) {
if (indicador.
getDescricao().
equals(indicadorDRE.
getDescricao())) {
indicador.
setValorTotal(indicador.
getValorTotal() + indicadorDRE.
getValorTotal());
adicionarIndicador =
false;
break;
}
}
if (adicionarIndicador
) {
getIndicadores
().
add(indicadorDRE
);
}
}
}