package gcom.cobranca.bean;
import gcom.cobranca.parcelamento.Parcelamento;
import gcom.faturamento.conta.Conta;
import gcom.util.Util;
import java.io.Serializable;
import java.math.BigDecimal;
public class ContaValoresHelper implements Serializable {
private static final long serialVersionUID = 1L;
private Conta conta;
private BigDecimal valorPago;
private BigDecimal valorMulta;
private BigDecimal valorJurosMora;
private BigDecimal valorAtualizacaoMonetaria;
private Integer indicadorContasDebito;
private Short existeParcelamento;
private Integer revisao;
private BigDecimal valorCreditoConta;
private BigDecimal valorAtualConta;
private Short indicadorDebitoPago;
public ContaValoresHelper() {
this.revisao = 2;
}
public ContaValoresHelper(Conta conta, BigDecimal valorPago, BigDecimal valorMulta, BigDecimal valorJurosMora, BigDecimal valoratualizacaoMonetaria) {
this.conta = conta;
this.valorPago = valorPago;
this.valorMulta = valorMulta;
this.valorJurosMora = valorJurosMora;
this.valorAtualizacaoMonetaria = valoratualizacaoMonetaria;
this.revisao = 2;
}
public Conta getConta() {
return conta;
}
public void setConta(Conta conta) {
this.conta = conta;
}
public BigDecimal getValorAtualizacaoMonetaria() {
return valorAtualizacaoMonetaria;
}
public void setValorAtualizacaoMonetaria(BigDecimal valoratualizacaoMonetaria) {
this.valorAtualizacaoMonetaria = valoratualizacaoMonetaria;
}
public BigDecimal getValorJurosMora() {
return valorJurosMora;
}
public void setValorJurosMora(BigDecimal valorJurosMora) {
this.valorJurosMora = valorJurosMora;
}
public BigDecimal getValorMulta() {
return valorMulta;
}
public void setValorMulta(BigDecimal valorMulta) {
this.valorMulta = valorMulta;
}
public BigDecimal getValorPago() {
return valorPago;
}
public void setValorPago(BigDecimal valorPago) {
this.valorPago = valorPago;
}
public Integer getIndicadorContasDebito() {
return indicadorContasDebito;
}
public void setIndicadorContasDebito(Integer indicadorContasDebito) {
this.indicadorContasDebito = indicadorContasDebito;
}
public Short getExisteParcelamento() {
return existeParcelamento;
}
public void setExisteParcelamento(Short existeParcelamento) {
this.existeParcelamento = existeParcelamento;
}
public Integer getRevisao() {
return revisao;
}
public void setRevisao(Integer revisao) {
this.revisao = revisao;
}
public BigDecimal getValorTotalContaValores() {
BigDecimal retorno = new BigDecimal("0.00");
if (this.getValorMulta() != null) {
retorno = retorno.add(this.getValorMulta());
}
if (this.getValorJurosMora() != null) {
retorno = retorno.add(this.getValorJurosMora());
}
if (this.getValorAtualizacaoMonetaria() != null) {
retorno = retorno.add(this.getValorAtualizacaoMonetaria());
}
return retorno.setScale(2, BigDecimal.ROUND_HALF_UP);
}
public BigDecimal getValorTotalConta() {
BigDecimal retorno = new BigDecimal("0.00");
if (this.getConta().getValorAgua() != null) {
retorno = retorno.add(this.getConta().getValorAgua());
}
if (this.getConta().getValorEsgoto() != null) {
retorno = retorno.add(this.getConta().getValorEsgoto());
}
if (this.getConta().getDebitos() != null) {
retorno = retorno.add(this.getConta().getDebitos());
}
if (this.getConta().getValorCreditos() != null) {
retorno = retorno.subtract(this.getConta().getValorCreditos());
}
return retorno.setScale(2, BigDecimal.ROUND_HALF_UP);
}
public BigDecimal getValorTotalComValorAtualizacaoMonetaria() {
BigDecimal valorTotalConta = new BigDecimal("0.00");
if (this.getConta().getValorAgua() != null) {
valorTotalConta = valorTotalConta.add(this.getConta().getValorAgua());
}
if (this.getConta().getValorEsgoto() != null) {
valorTotalConta = valorTotalConta.add(this.getConta().getValorEsgoto());
}
if (this.getConta().getDebitos() != null) {
valorTotalConta = valorTotalConta.add(this.getConta().getDebitos());
}
if (this.getConta().getValorCreditos() != null) {
valorTotalConta = valorTotalConta.subtract(this.getConta().getValorCreditos());
}
if (this.getValorMulta() != null) {
valorTotalConta = valorTotalConta.add(this.getValorMulta());
}
if (this.getValorJurosMora() != null) {
valorTotalConta = valorTotalConta.add(this.getValorJurosMora());
}
if (this.getValorAtualizacaoMonetaria() != null) {
valorTotalConta = valorTotalConta.add(this.getValorAtualizacaoMonetaria());
}
return valorTotalConta.setScale(2, BigDecimal.ROUND_HALF_UP);
}
public String getFormatarAnoMesParaMesAno() {
String anoMesRecebido = "" + this.getConta().getReferencia();
String mes = anoMesRecebido.substring(4, 6);
String ano = anoMesRecebido.substring(0, 4);
String anoMesFormatado = mes + "/" + ano;
return anoMesFormatado.toString();
}
public BigDecimal getValorTotalContaValoresParcelamento() {
BigDecimal retorno = new BigDecimal("0.00");
if (this.getValorMulta() != null) {
retorno = retorno.add(this.getValorMulta().setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO));
}
if (this.getValorJurosMora() != null) {
retorno = retorno.add(this.getValorJurosMora().setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO));
}
if (this.getValorAtualizacaoMonetaria() != null) {
retorno = retorno.add(this.getValorAtualizacaoMonetaria().setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO));
}
return retorno.setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO);
}
public boolean equals(Object other) {
if ((this == other)) {
return true;
}
if (!(other instanceof ContaValoresHelper)) {
return false;
}
ContaValoresHelper castOther = (ContaValoresHelper) other;
return (this.getConta().getId().equals(castOther.getConta().getId()));
}
public BigDecimal getValorAtualConta() {
return valorAtualConta;
}
public void setValorAtualConta(BigDecimal valorAtualConta) {
this.valorAtualConta = valorAtualConta;
}
public BigDecimal getValorCreditoConta() {
return valorCreditoConta;
}
public void setValorCreditoConta(BigDecimal valorCreditoConta) {
this.valorCreditoConta = valorCreditoConta;
}
public Short getIndicadorDebitoPago() {
return indicadorDebitoPago;
}
public void setIndicadorDebitoPago(Short indicadorDebitoPago) {
this.indicadorDebitoPago = indicadorDebitoPago;
}
public boolean isContaEP() {
return this.indicadorContasDebito.equals(new Integer("1"));
}
public boolean isContaNB() {
return this.indicadorContasDebito.equals(new Integer("2"));
}
public String getValorTotalContaFormatado() {
return Util.converterDecimalParaString(this.getValorTotalConta());
}
public String getValorTotalContaValoresFormatado() {
return Util.converterDecimalParaString(this.getValorTotalContaValores());
}
}