Subversion Repositories Integrator Subversion

Rev

Rev 114 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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;
        }
       
}