package br.com.ec.domain.dto;
import java.util.Date;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Categoria;
import br.com.ec.domain.model.Loja;
public class FluxoDeCaixaDTO
{
private Date dataInicial
;
private Date dataFinal
;
private Loja centroDeCustos
;
private Categoria categoria
;
private Boolean processado
;
private Double valorTotalRecebido
;
private Double valorTotalAReceber
;
private Double valorTotalPago
;
private Double valorTotalAPagar
;
private Double valorTotalFluxo
;
private Double valorTotalProdutosUtilizados
;
private Double valorTotalComprasNaoPagas
;
private Double valorTotalCompras
;
private Double valorMetaMensal
;
private Double valorMargemContribuicao
;
public FluxoDeCaixaDTO
() {}
public FluxoDeCaixaDTO
(Date dataInicial,
Date dataFinal
) {
setDataInicial
(dataInicial
);
setDataFinal
(dataFinal
);
}
public Date getDataInicial
() {
return dataInicial
;
}
public void setDataInicial
(Date dataInicial
) {
this.
dataInicial = dataInicial
;
}
public Date getDataFinal
() {
return dataFinal
;
}
public void setDataFinal
(Date dataFinal
) {
this.
dataFinal = dataFinal
;
}
public Loja getCentroDeCustos
() {
return centroDeCustos
;
}
public void setCentroDeCustos
(Loja centroDeCustos
) {
this.
centroDeCustos = centroDeCustos
;
}
public Categoria getCategoria
() {
return categoria
;
}
public void setCategoria
(Categoria categoria
) {
this.
categoria = categoria
;
}
public Boolean getProcessado
() {
return processado
;
}
public void setProcessado
(Boolean processado
) {
this.
processado = processado
;
}
public Double getValorTotalRecebido
() {
return valorTotalRecebido
;
}
public void setValorTotalRecebido
(Double valorTotalRecebido
) {
this.
valorTotalRecebido = valorTotalRecebido
;
}
public Double getValorTotalAReceber
() {
return valorTotalAReceber
;
}
public void setValorTotalAReceber
(Double valorTotalAReceber
) {
this.
valorTotalAReceber = valorTotalAReceber
;
}
public Double getValorTotalPago
() {
return valorTotalPago
;
}
public void setValorTotalPago
(Double valorTotalPago
) {
this.
valorTotalPago = valorTotalPago
;
}
public Double getValorTotalAPagar
() {
return valorTotalAPagar
;
}
public void setValorTotalAPagar
(Double valorTotalAPagar
) {
this.
valorTotalAPagar = valorTotalAPagar
;
}
public Double getValorTotalFluxo
() {
return valorTotalFluxo
;
}
public void setValorTotalFluxo
(Double valorTotalFluxo
) {
this.
valorTotalFluxo = valorTotalFluxo
;
}
public Double getValorTotalProdutosUtilizados
() {
return valorTotalProdutosUtilizados
;
}
public void setValorTotalProdutosUtilizados
(Double valorTotalProdutosUtilizados
) {
this.
valorTotalProdutosUtilizados = valorTotalProdutosUtilizados
;
}
public Double getValorTotalComprasNaoPagas
() {
return valorTotalComprasNaoPagas
;
}
public void setValorTotalComprasNaoPagas
(Double valorTotalComprasNaoPagas
) {
this.
valorTotalComprasNaoPagas = valorTotalComprasNaoPagas
;
}
public Double getValorMetaMensal
() {
return valorMetaMensal
;
}
public void setValorMetaMensal
(Double valorMetaMensal
) {
this.
valorMetaMensal = valorMetaMensal
;
}
public Double getValorMargemContribuicao
() {
return valorMargemContribuicao
;
}
public void setValorMargemContribuicao
(Double valorMargemContribuicao
) {
this.
valorMargemContribuicao = valorMargemContribuicao
;
}
public Double getValorTotalCompras
() {
return valorTotalCompras
;
}
public void setValorTotalCompras
(Double valorTotalCompras
) {
this.
valorTotalCompras = valorTotalCompras
;
}
public Double getValorFinal
() {
return getValorTotalFluxo
() - getValorTotalProdutosUtilizados
();
}
public Double calcularValorMargemContribuicao
(Double custoMatriz
) {
if (VerificadorUtil.
naoEstaNulo(getValorMargemContribuicao
()) && VerificadorUtil.
naoEstaNulo(custoMatriz
)) {
return getValorMargemContribuicao
() * custoMatriz /
100;
}
return 0.0;
}
public Double calcularValorFluxoComMargemContribuicao
(Double custoMatriz
) {
if (VerificadorUtil.
naoEstaNulo(getValorTotalFluxo
())) {
return getValorTotalFluxo
() + calcularValorMargemContribuicao
(custoMatriz
);
}
return 0.0;
}
}