package gcom.relatorio.cobranca.parcelamento; import gcom.arrecadacao.pagamento.GuiaPagamento; import gcom.cobranca.CobrancaDocumento; import gcom.cobranca.CobrancaDocumentoItem; import gcom.cobranca.parcelamento.Parcelamento; import gcom.faturamento.conta.Conta; import gcom.faturamento.debito.DebitoACobrar; import java.math.BigDecimal; import java.util.Collection; import java.util.Iterator; public class ExtratoDebitoRelatorioHelper { private Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemContas; private Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemGuiasPagamento; private Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemDebitosACobrar; private Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemCreditoARealizar; /** Campo adicionado para utiliza��o no caso de uso [UC0251] */ private CobrancaDocumento documentoCobranca ; public CobrancaDocumento getDocumentoCobranca() { return documentoCobranca; } public void setDocumentoCobranca(CobrancaDocumento documentoCobranca) { this.documentoCobranca = documentoCobranca; } /** **********************************************************/ public ExtratoDebitoRelatorioHelper() { } public ExtratoDebitoRelatorioHelper(Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemContas, Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemGuiasPagamento, Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemDebitosACobrar, Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemCreditoARealizar) { this.colecaoCobrancaDocumentoItemContas = colecaoCobrancaDocumentoItemContas; this.colecaoCobrancaDocumentoItemGuiasPagamento = colecaoCobrancaDocumentoItemGuiasPagamento; this.colecaoCobrancaDocumentoItemDebitosACobrar = colecaoCobrancaDocumentoItemDebitosACobrar; this.colecaoCobrancaDocumentoItemCreditoARealizar = colecaoCobrancaDocumentoItemCreditoARealizar; } public Collection<CobrancaDocumentoItem> getColecaoCobrancaDocumentoItemDebitosACobrar() { return colecaoCobrancaDocumentoItemDebitosACobrar; } public void setColecaoCobrancaDocumentoItemDebitosACobrar( Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemDebitosACobrar) { this.colecaoCobrancaDocumentoItemDebitosACobrar = colecaoCobrancaDocumentoItemDebitosACobrar; } public Collection<CobrancaDocumentoItem> getColecaoCobrancaDocumentoItemGuiasPagamento() { return colecaoCobrancaDocumentoItemGuiasPagamento; } public void setColecaoCobrancaDocumentoItemGuiasPagamento( Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemGuiasPagamento) { this.colecaoCobrancaDocumentoItemGuiasPagamento = colecaoCobrancaDocumentoItemGuiasPagamento; } public Collection<CobrancaDocumentoItem> getColecaoCobrancaDocumentoItemContas() { return colecaoCobrancaDocumentoItemContas; } public void setColecaoCobrancaDocumentoItemContas( Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemContas) { this.colecaoCobrancaDocumentoItemContas = colecaoCobrancaDocumentoItemContas; } /* * C�lcula o valor total da conta (�gua + esgoto + d�bitos - creditos) * @author Vivianne Sousa * @created 12/09/2006 */ public BigDecimal getValorTotalConta(){ BigDecimal retorno = new BigDecimal("0.00"); Iterator iterator = this.getColecaoCobrancaDocumentoItemContas().iterator(); while (iterator.hasNext()) { Conta conta = ((CobrancaDocumentoItem) iterator.next()).getContaGeral().getConta(); if (conta != null){ if (conta.getValorTotal() != null) { retorno = retorno.add(conta.getValorTotal()); } } } retorno = retorno.setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO); return retorno ; } /* * C�lcula o valor total das guias de pagamento(GPAG_VLDEBITO) * @author Vivianne Sousa * @created 12/09/2006 */ public BigDecimal getValorTotalGuiaPagamento(){ BigDecimal retorno = new BigDecimal("0.00"); Iterator iterator = this.getColecaoCobrancaDocumentoItemGuiasPagamento().iterator(); while (iterator.hasNext()) { GuiaPagamento guiaPagamento = ((CobrancaDocumentoItem) iterator.next()).getGuiaPagamentoGeral().getGuiaPagamento(); if (guiaPagamento.getValorDebito() != null){ retorno = retorno.add(guiaPagamento.getValorDebito()); } } retorno = retorno.setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO); return retorno ; } /* * Calcula o valor total restante dos debitos a cobrar * (DBAC_VLDEBITO - ((DBAC_VLDEBITO/DBAC_NNPRESTAODEBITO) * (DBAC_NNPRESTACAOCOBRADA + dbac_nnparcelabonus))) * @author Vivianne Sousa * @created 12/09/2006 */ public BigDecimal getValorTotalRestanteDebitosACobrar(){ BigDecimal retorno = new BigDecimal("0.00"); Iterator iterator = this.getColecaoCobrancaDocumentoItemDebitosACobrar().iterator(); while (iterator.hasNext()) { CobrancaDocumentoItem cobrancaDocumentoItem = (CobrancaDocumentoItem) iterator.next(); DebitoACobrar debitoACobrar = cobrancaDocumentoItem.getDebitoACobrarGeral().getDebitoACobrar(); //ANTECIPA��O DE PARCELAS if (cobrancaDocumentoItem.getNumeroParcelasAntecipadas() != null){ retorno = retorno.add(cobrancaDocumentoItem.getValorItemCobrado()); } else{ retorno = retorno.add(debitoACobrar.getValorTotalComBonus()); } } retorno = retorno.setScale(Parcelamento.CASAS_DECIMAIS, Parcelamento.TIPO_ARREDONDAMENTO); return retorno ; } /** * @return Retorna o campo colecaoCobrancaDocumentoItemCreditoARealizar. */ public Collection<CobrancaDocumentoItem> getColecaoCobrancaDocumentoItemCreditoARealizar() { return colecaoCobrancaDocumentoItemCreditoARealizar; } /** * @param colecaoCobrancaDocumentoItemCreditoARealizar O colecaoCobrancaDocumentoItemCreditoARealizar a ser setado. */ public void setColecaoCobrancaDocumentoItemCreditoARealizar( Collection<CobrancaDocumentoItem> colecaoCobrancaDocumentoItemCreditoARealizar) { this.colecaoCobrancaDocumentoItemCreditoARealizar = colecaoCobrancaDocumentoItemCreditoARealizar; } }