package gcom.arrecadacao;
import gcom.cadastro.imovel.Categoria;
import gcom.cadastro.localidade.Localidade;
import gcom.financeiro.lancamento.LancamentoItem;
import java.math.BigDecimal;
import java.util.Map;
public class RecebimentosClassificadosRecuperacaoCreditoBuilder {
static RecebimentosClassificadosRecuperacaoCredito recebimentos;
public RecebimentosClassificadosRecuperacaoCreditoBuilder(){
recebimentos = new RecebimentosClassificadosRecuperacaoCredito();
}
public RecebimentosClassificadosRecuperacaoCredito buildRecebimentosRecuperacaoCredito(Localidade localidade, Categoria categoria,
Integer referencia, Map<Integer, BigDecimal> mapValorDuplicidade, Map<Integer, BigDecimal> mapValorCancelado) {
if (mapValorDuplicidade.containsKey(categoria.getId())) {
BigDecimal valor = mapValorDuplicidade.get(categoria.getId());
if (valor != null && valor.doubleValue() > 0.00) {
ResumoArrecadacao resumo = ResumoArrecadacaoBuilder.buildResumoRecebimentosClassificadosRecuperacaoCredito(localidade, categoria, referencia,
valor, new LancamentoItem(LancamentoItem.RECUPERACAO_CREDITO_DUPLICIDADE), null, new Short("2010"), new Short("0"));
recebimentos.setRecuperacaoCreditoDuplicidade(resumo);
}
}
if (mapValorCancelado.containsKey(categoria.getId())) {
BigDecimal valor = mapValorCancelado.get(categoria.getId());
if (valor != null && valor.doubleValue() > 0.00) {
ResumoArrecadacao resumo = ResumoArrecadacaoBuilder.buildResumoRecebimentosClassificadosRecuperacaoCredito(localidade, categoria, referencia,
valor, new LancamentoItem(LancamentoItem.RECUPERACAO_CREDITO_CANCELADO), null, new Short("2011"), new Short("0"));
recebimentos.setRecuperacaoCreditoCancelado(resumo);
}
}
return recebimentos;
}
public RecebimentosClassificadosRecuperacaoCredito buildRecebimentosRecuperacaoCreditoMesesAnteriores(Localidade localidade, Categoria categoria,
Integer referencia, Map<Integer, BigDecimal> mapValorDuplicidade, Map<Integer, BigDecimal> mapValorCancelado) {
if (mapValorDuplicidade.containsKey(categoria.getId())) {
BigDecimal valor = mapValorDuplicidade.get(categoria.getId());
if (valor != null && valor.doubleValue() > 0.00) {
ResumoArrecadacao resumo = ResumoArrecadacaoBuilder.buildResumoRecebimentosClassificadosRecuperacaoCreditoMesesAnteriores(localidade, categoria, referencia,
valor, new LancamentoItem(LancamentoItem.RECUPERACAO_CREDITO_DUPLICIDADE), null, new Short("2012"), new Short("0"));
recebimentos.setRecuperacaoCreditoDuplicidadeMesesAnteriores(resumo);
}
}
if (mapValorCancelado.containsKey(categoria.getId())) {
BigDecimal valor = mapValorCancelado.get(categoria.getId());
if (valor != null && valor.doubleValue() > 0.00) {
ResumoArrecadacao resumo = ResumoArrecadacaoBuilder.buildResumoRecebimentosClassificadosRecuperacaoCreditoMesesAnteriores(localidade, categoria, referencia,
valor, new LancamentoItem(LancamentoItem.RECUPERACAO_CREDITO_CANCELADO), null, new Short("2013"), new Short("0"));
recebimentos.setRecuperacaoCreditoCanceladoMesesAnteriores(resumo);
}
}
return recebimentos;
}
}