package br.com.ec.domain.dto;
import java.util.List;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Categoria;
public class FluxoDeCaixaCategoriaDTO
{
private Categoria categoria
;
private Double valor
;
private Double valorFuturo
;
private Double valorOrcado
;
private List<FluxoDeCaixaCategoriaDTO
> categoriasFilhas
;
public Categoria getCategoria
() {
return categoria
;
}
public void setCategoria
(Categoria categoria
) {
this.
categoria = categoria
;
}
public Double getValor
() {
return valor
;
}
public void setValor
(Double valor
) {
this.
valor = valor
;
}
public Double getValorFuturo
() {
return valorFuturo
;
}
public void setValorFuturo
(Double valorFuturo
) {
this.
valorFuturo = valorFuturo
;
}
public Double getValorOrcado
() {
return valorOrcado
;
}
public void setValorOrcado
(Double valorOrcado
) {
this.
valorOrcado = valorOrcado
;
}
public List<FluxoDeCaixaCategoriaDTO
> getCategoriasFilhas
() {
return categoriasFilhas
;
}
public void setCategoriasFilhas
(List<FluxoDeCaixaCategoriaDTO
> categoriasFilhas
) {
this.
categoriasFilhas = categoriasFilhas
;
}
public Double getValorTotal
() {
Double valorTotal =
new Double(0.0);
valorTotal = valorTotal + getValor
();
if (VerificadorUtil.
naoEstaNulo(getCategoriasFilhas
())) {
for (FluxoDeCaixaCategoriaDTO filhas : getCategoriasFilhas
()) {
valorTotal = valorTotal + filhas.
getValor();
}
}
return valorTotal
;
}
public Double getValorTotalFuturo
() {
Double valorTotal =
new Double(0.0);
valorTotal = valorTotal + getValorFuturo
();
if (VerificadorUtil.
naoEstaNulo(getCategoriasFilhas
())) {
for (FluxoDeCaixaCategoriaDTO filhas : getCategoriasFilhas
()) {
valorTotal = valorTotal + filhas.
getValorFuturo();
}
}
return valorTotal
;
}
public Double getValorTotalOrcado
() {
Double valorTotal =
new Double(0.0);
valorTotal = valorTotal + getValorOrcado
();
if (VerificadorUtil.
naoEstaNulo(getCategoriasFilhas
())) {
for (FluxoDeCaixaCategoriaDTO filhas : getCategoriasFilhas
()) {
valorTotal = valorTotal + filhas.
getValorOrcado();
}
}
return valorTotal
;
}
public Double getValorRealizadoOrcado
() {
if (VerificadorUtil.
naoEstaNulo(getValorOrcado
()) &&
VerificadorUtil.
naoEstaNulo(getValorTotal
()) &&
VerificadorUtil.
naoEstaNulo(getValorTotalFuturo
())) {
Double total = getValorTotal
() + getValorTotalFuturo
();
if (getValorOrcado
() > 0.0 && total
> 0.0) {
return (total
) / getValorTotalOrcado
();
}
}
return 0.0;
}
}