package gcom.gui.portal; import gcom.arrecadacao.pagamento.GuiaPagamento; import gcom.arrecadacao.pagamento.GuiaPagamentoItem; import gcom.batch.Relatorio; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.cobranca.bean.ParcelamentoRelatorioHelper; import gcom.cobranca.parcelamento.ParcelamentoItem; import gcom.fachada.Fachada; import gcom.faturamento.FiltroGuiaPagamentoItem; import gcom.faturamento.conta.Conta; import gcom.faturamento.credito.CreditoARealizar; import gcom.faturamento.debito.DebitoACobrar; import gcom.relatorio.ConstantesRelatorios; import gcom.relatorio.RelatorioDataSource; import gcom.relatorio.arrecadacao.pagamento.GuiaPagamentoRelatorioHelper; import gcom.relatorio.arrecadacao.pagamento.RelatorioEmitirGuiaPagamentoDetailBean; import gcom.relatorio.cobranca.parcelamento.RelatorioParcelamentoDetalhamentoBean; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaException; import gcom.tarefa.TarefaRelatorio; import gcom.util.ConstantesSistema; import gcom.util.ControladorException; import gcom.util.Util; import gcom.util.agendadortarefas.AgendadorTarefas; import gcom.util.filtro.ParametroSimples; import java.math.BigDecimal; import java.text.DateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; /** * Classe respons�vel por criar o relat�rio dos documentos * de parcelamento para loja virtual (termo e a guia de pagamento) * Os m�todos chamados foram os m�otods j� existentes do GSAN. * O arquivo .jasper � a jun��o dos relat�rios j� existentes * do GSAN. (Relat�rio Emitir Guia e o Termo de Parcelamento.) * * @author Diogo Peixoto * @since 11/07/2011 */ public class RelatorioDocumentosParcelamentoPortal extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioDocumentosParcelamentoPortal(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_DOCUMENTOS_PARCELAMENTO_LOJA_VIRTUAL); } @Deprecated public RelatorioDocumentosParcelamentoPortal() { super(null, ""); } public Object executar() throws TarefaException { // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ String idParcelamento = (String) getParametro("idParcelamento"); SistemaParametro sistemaParametro = (SistemaParametro) getParametro("sistemaParametro"); UnidadeOrganizacional unidadeUsuario = (UnidadeOrganizacional) getParametro("unidadeUsuario"); Usuario usuarioLogado = (Usuario) getParametro("usuario"); int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); String descricaoUnidadeUsuario = ""; if(unidadeUsuario != null && unidadeUsuario.getDescricao() != null){ descricaoUnidadeUsuario = unidadeUsuario.getDescricao(); } // valor de retorno byte[] retorno = null; // cole��o de beans do relat�rio List<RelatorioDocumentosParcelamentoPortalBean> relatorioParcelamentosBeans = new ArrayList<RelatorioDocumentosParcelamentoPortalBean>(); Fachada fachada = Fachada.getInstancia(); RelatorioDocumentosParcelamentoPortalBean relatorioParcelamentoBean = null; ParcelamentoRelatorioHelper parcelamentoRelatorioHelper = fachada .pesquisarParcelamentoRelatorio(Integer.parseInt( idParcelamento ) ); String idFuncionario = ""; if (parcelamentoRelatorioHelper.getIdFuncionario() != null){ idFuncionario = parcelamentoRelatorioHelper.getIdFuncionario().toString(); } // se a cole��o de par�metros da analise n�o for vazia if (parcelamentoRelatorioHelper != null) { String idImovel = parcelamentoRelatorioHelper.getIdImovel().toString(); String nomeCliente = ""; if (Util.verificarNaoVazio(parcelamentoRelatorioHelper.getNomeClienteParcelamento())){ nomeCliente = parcelamentoRelatorioHelper.getNomeClienteParcelamento(); }else{ nomeCliente = parcelamentoRelatorioHelper.getNomeCliente(); } String cpfCnpjCliente = ""; if (Util.verificarNaoVazio(parcelamentoRelatorioHelper.getCpfClienteParcelamento())){ cpfCnpjCliente = parcelamentoRelatorioHelper.getCpfClienteParcelamento(); }else{ cpfCnpjCliente = parcelamentoRelatorioHelper.getCpfCnpj(); } Collection colecaoRelatorioParcelamentoDetalhamentosBeans = new ArrayList(); // Guardaremos o maior e menor ano mes de referencia do documento processado Integer maiorAnoMesReferenciaDocumento = null; Integer menorAnoMesReferenciaDocumento = null; Collection colecaoRelatorioParcelamentoItens = fachada .pesquisarParcelamentoItemPorIdParcelamentoRelatorio(Integer.parseInt(idParcelamento)); if (colecaoRelatorioParcelamentoItens != null && !colecaoRelatorioParcelamentoItens.isEmpty()) { Iterator colecaoRelatorioParcelamentoItensIterator = colecaoRelatorioParcelamentoItens.iterator(); RelatorioParcelamentoDetalhamentoBean relatorioParcelamentoDetalhamentoBean = null; BigDecimal totalFaturas = new BigDecimal("0.00"); BigDecimal totalServicos = new BigDecimal("0.00"); BigDecimal totalGuias = new BigDecimal("0.00"); BigDecimal totalCreditos = new BigDecimal("0.00"); ParcelamentoItem parcelamentoItem = null; ParcelamentoItem parcelamentoItem2 = null; Object tipoAnterior = null; Object tipoAtual = null; while (colecaoRelatorioParcelamentoItensIterator.hasNext()) { if (tipoAnterior == null) { tipoAnterior = new Conta(); } else { if (parcelamentoItem.getContaGeral().getConta().getReferencia() != 0) { tipoAnterior = parcelamentoItem.getContaGeral().getConta(); } else if (parcelamentoItem.getDebitoACobrarGeral().getDebitoACobrar().getDebitoTipo().getId() != null) { tipoAnterior = parcelamentoItem.getDebitoACobrarGeral().getDebitoACobrar(); } else if (parcelamentoItem.getGuiaPagamentoGeral().getGuiaPagamento().getId() != null) { tipoAnterior = parcelamentoItem.getGuiaPagamentoGeral().getGuiaPagamento(); } else { tipoAnterior = parcelamentoItem.getCreditoARealizarGeral().getCreditoARealizar(); } } if (parcelamentoItem2 != null && parcelamentoItem.getContaGeral().getConta().getReferencia() != 0) { parcelamentoItem = parcelamentoItem2; parcelamentoItem2 = null; } else { parcelamentoItem = (ParcelamentoItem) colecaoRelatorioParcelamentoItensIterator.next(); } if (parcelamentoItem.getContaGeral().getConta().getReferencia() != 0) { tipoAtual = parcelamentoItem.getContaGeral().getConta(); } else if (parcelamentoItem.getDebitoACobrarGeral().getDebitoACobrar().getDebitoTipo().getId() != null) { tipoAtual = parcelamentoItem.getDebitoACobrarGeral().getDebitoACobrar(); } else if (parcelamentoItem.getGuiaPagamentoGeral().getGuiaPagamento().getId() != null) { tipoAtual = parcelamentoItem.getGuiaPagamentoGeral().getGuiaPagamento(); } else { tipoAtual = parcelamentoItem.getCreditoARealizarGeral().getCreditoARealizar().getCreditoTipo(); } if (tipoAnterior instanceof Conta) { if (!(tipoAtual instanceof Conta)) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto Refer�ncia 1 "TOTAL", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 Util.formatarMoedaReal(totalFaturas), // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } else if (tipoAnterior instanceof DebitoACobrar) { if (!(tipoAtual instanceof DebitoACobrar)) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "TOTAL", // Descri��o "", // Valor Util.formatarMoedaReal(totalServicos), // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } else if (tipoAnterior instanceof GuiaPagamento) { if (!(tipoAtual instanceof GuiaPagamento)) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "TOTAL", // Descri��o "", // Valor Util.formatarMoedaReal(totalGuias), // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } if (parcelamentoItem.getContaGeral().getConta().getReferencia() != 0) { Conta conta = parcelamentoItem.getContaGeral().getConta(); // Verificamos o maior ano mes de ferencia para o tipo conta if ( maiorAnoMesReferenciaDocumento == null || maiorAnoMesReferenciaDocumento < conta.getReferencia() ){ maiorAnoMesReferenciaDocumento = conta.getReferencia() ; } // Verificamos o menor ano mes de ferencia para o tipo conta if ( menorAnoMesReferenciaDocumento == null || menorAnoMesReferenciaDocumento > conta.getReferencia() ){ menorAnoMesReferenciaDocumento = conta.getReferencia() ; } totalFaturas = totalFaturas.add(conta.getValorTotal()); if (colecaoRelatorioParcelamentoItensIterator.hasNext()) { parcelamentoItem2 = (ParcelamentoItem) colecaoRelatorioParcelamentoItensIterator.next(); if (parcelamentoItem2.getContaGeral().getConta().getReferencia() != 0) { Conta conta2 = parcelamentoItem2.getContaGeral().getConta(); // Verificamos o maior ano mes de ferencia para o tipo conta if ( maiorAnoMesReferenciaDocumento == null || maiorAnoMesReferenciaDocumento < conta2.getReferencia() ){ maiorAnoMesReferenciaDocumento = conta2.getReferencia() ; } // Verificamos o menor ano mes de ferencia para o tipo conta if ( menorAnoMesReferenciaDocumento == null || menorAnoMesReferenciaDocumento > conta2.getReferencia() ){ menorAnoMesReferenciaDocumento = conta2.getReferencia() ; } parcelamentoItem2 = null; totalFaturas = totalFaturas.add(conta2.getValorTotal()); relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 conta.getFormatarAnoMesParaMesAno(), // Valor Fatura 1 Util.formatarMoedaReal(conta.getValorTotal()), // Refer�ncia 2 conta2.getFormatarAnoMesParaMesAno(), // Valor Fatura 2 Util.formatarMoedaReal(conta2.getValorTotal()), // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } else { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 conta.getFormatarAnoMesParaMesAno(), // Valor Fatura 1 Util.formatarMoedaReal(conta.getValorTotal()), // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } else { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 conta.getFormatarAnoMesParaMesAno(), // Valor Fatura 1 Util.formatarMoedaReal(conta.getValorTotal()), // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } else if (parcelamentoItem.getDebitoACobrarGeral().getDebitoACobrar().getDebitoTipo().getId() != null) { DebitoACobrar debitoACobrar = (DebitoACobrar) parcelamentoItem.getDebitoACobrarGeral().getDebitoACobrar(); totalServicos = totalServicos.add(debitoACobrar.getValorTotalComBonus()); relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo debitoACobrar.getDebitoTipo().getId().toString(), // Descri��o debitoACobrar.getDebitoTipo().getDescricao(), // Valor Util.formatarMoedaReal(debitoACobrar.getValorTotalComBonus()), // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } else if (parcelamentoItem.getGuiaPagamentoGeral().getGuiaPagamento().getId() != null) { GuiaPagamento guiaPagamento = (GuiaPagamento) parcelamentoItem .getGuiaPagamentoGeral().getGuiaPagamento(); totalGuias = totalGuias.add(guiaPagamento.getValorDebito()); relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero guiaPagamento.getId().toString(), // Descri��o guiaPagamento.getDebitoTipo().getDescricao(), // Valor Util.formatarMoedaReal(guiaPagamento.getValorDebito()), // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } else if (parcelamentoItem.getCreditoARealizarGeral() .getCreditoARealizar().getCreditoTipo().getId() != null) { CreditoARealizar creditoARealizar = (CreditoARealizar) parcelamentoItem .getCreditoARealizarGeral().getCreditoARealizar(); totalCreditos = totalCreditos.add(creditoARealizar.getValorTotalComBonus()); relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo creditoARealizar.getCreditoTipo().getId().toString(), // Descri��o creditoARealizar.getCreditoTipo().getDescricao(), // Valor Util.formatarMoedaReal(creditoARealizar.getValorTotalComBonus()) ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } if (tipoAtual instanceof Conta) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "TOTAL", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 Util.formatarMoedaReal(totalFaturas), // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } else if (tipoAtual instanceof DebitoACobrar) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "TOTAL", // Descri��o "", // Valor Util.formatarMoedaReal(totalServicos), // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } else if (tipoAtual instanceof GuiaPagamento) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "TOTAL", // Descri��o "", // Valor Util.formatarMoedaReal(totalGuias), // Cr�ditos a Realizar // C�digo "", // Descri��o "", // Valor "" ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } else if (tipoAtual instanceof CreditoARealizar) { relatorioParcelamentoDetalhamentoBean = new RelatorioParcelamentoDetalhamentoBean( // Matr�cula do Im�vel idImovel, // Nome do Cliente nomeCliente, // Faturas em Aberto // Refer�ncia 1 "", // Valor Fatura 1 "", // Refer�ncia 2 "", // Valor Fatura 2 "", // Servi�os a Cobrar // C�digo "", // Descri��o "", // Valor "", // Guias de Pagamento // N�mero "", // Descri��o "", // Valor "", // Cr�ditos a Realizar // C�digo "TOTAL", // Descri��o "", // Valor Util.formatarMoedaReal(totalCreditos) ); // adiciona o bean a cole��o colecaoRelatorioParcelamentoDetalhamentosBeans.add(relatorioParcelamentoDetalhamentoBean); } } String municipioData = parcelamentoRelatorioHelper.getLocalidade(); Locale loc = new Locale("pt"); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, loc); municipioData += " - " + df.format(new Date()); relatorioParcelamentoBean = new RelatorioDocumentosParcelamentoPortalBean( // Matr�cula do Im�vel parcelamentoRelatorioHelper.getIdImovel().toString(), // Nome Cliente nomeCliente, // Endere�o parcelamentoRelatorioHelper.getEndereco(), // CPF/CNPJ cpfCnpjCliente, // Telefone parcelamentoRelatorioHelper.getTelefone(), // Data Parcelamento Util.formatarData(parcelamentoRelatorioHelper.getDataParcelamento()), // D�bitos // Faturas em Aberto Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorFaturasEmAberto()), // Servi�os a Cobrar Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorServicosACobrar()), // Atualiza��o Monet�ria Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorAtualizacaoMonetaria()), // Juros/Mora Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorJurosMora()), // Multa Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorMultas()), // Guia Pagamento Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorGuiaPagamento()), // Parcelamento a Cobrar Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorParcelamentoACobrar()), // Total D�bitos Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorTotalDebitos()), // Descontos // Desconto de Acr�scimos Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorDescontoAcrescimo()), // Descontos de Antiguidade Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorDescontoAntiguidade()), // Desconto de Inatividade Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorDescontoInatividade()), // Cr�ditos a Realizar Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorCreditosRealizar()), // Total Descontos Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorTotalDescontos()), // Valor a Ser Negociado Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorASerNegociado()), // Condi��es de Negocia��o // Valor da Entrada Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorEntrada()), // N�mero de Parcelas parcelamentoRelatorioHelper.getNumeroParcelas().toString(), // Valor da Parcela Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorParcela()), // Valor a Ser Parcelado Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorASerParcelado()), // Solicita��o de Restabelecimento parcelamentoRelatorioHelper.getSolicitacaoRestabelecimento(), // Munic�pio e Data municipioData, // Id do Parcelamento idParcelamento.toString(), // Unidade do Usu�rio descricaoUnidadeUsuario, // Id do Funcion�rio idFuncionario, // Nome do Cliente do Parcelamento parcelamentoRelatorioHelper.getNomeClienteParcelamento(), // Cpf do Cliente do Parcelamento parcelamentoRelatorioHelper.getCpfClienteParcelamento(), // P�gina "1", // Cole��o de Detalhamentos colecaoRelatorioParcelamentoDetalhamentosBeans, //codigo da empresa sistemaParametro.getCodigoEmpresaFebraban().toString(), //rgCliente "", //nome usuario "", //matricula usuario "", //municipio "", //inicio parcelamento "", //final parcelamento "", parcelamentoRelatorioHelper.getTaxaJuros(), //Desconto de San��es Regulamentares Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorDescontoSancoesRegulamentares()), //Desconto Tarifa Social Util.formatarMoedaReal(parcelamentoRelatorioHelper.getValorDescontoTarifaSocial()), // CPF do usu�rio logado usuarioLogado.getCpf(), parcelamentoRelatorioHelper.getNomeDiretorComercial(), parcelamentoRelatorioHelper.getCpfDiretorComercial(), parcelamentoRelatorioHelper.getProfissao(), parcelamentoRelatorioHelper.getNomeDevedor(), parcelamentoRelatorioHelper.getCnpjDevedor(), parcelamentoRelatorioHelper.getEnderecoDevedor(), parcelamentoRelatorioHelper.getTelefoneDevedor(), parcelamentoRelatorioHelper.getIndicadorPessoaJuridica(), maiorAnoMesReferenciaDocumento, menorAnoMesReferenciaDocumento, //nome do usuario que efetuou o parcelamento parcelamentoRelatorioHelper.getNomeUsuarioParcelamento()); //Adiociona os campos referentes a guia de pagamento. //adiciona o bean a cole��o relatorioParcelamentosBeans.add(relatorioParcelamentoBean); } // __________________________________________________________________ // Par�metros do relat�rio Map parametros = new HashMap(); // adiciona os par�metros do relat�rio // adiciona o laudo da an�lise parametros.put("imagem", sistemaParametro.getImagemRelatorio()); parametros.put("contrato", idParcelamento); // Empresa if (sistemaParametro.getNomeAbreviadoEmpresa() != null) { parametros.put("empresa", sistemaParametro.getNomeAbreviadoEmpresa()); } else { parametros.put("empresa", ""); } //Titulo Pagina if (sistemaParametro.getTituloPagina() != null) { parametros.put("tituloPagina", sistemaParametro.getTituloPagina()); } else { parametros.put("tituloPagina", ""); } // CNPJ da Empresa if (sistemaParametro.getCnpjEmpresa() != null) { String cnpjFormatado = sistemaParametro.getCnpjEmpresa().toString(); String zeros = ""; if (cnpjFormatado != null) { for (int a = 0; a < (14 - cnpjFormatado.length()); a++) { zeros = zeros.concat("0"); } // concatena os zeros ao numero // caso o numero seja diferente de nulo cnpjFormatado = zeros.concat(cnpjFormatado); cnpjFormatado = cnpjFormatado.substring(0, 2) + "." + cnpjFormatado.substring(2, 5) + "." + cnpjFormatado.substring(5, 8) + "/" + cnpjFormatado.substring(8, 12) + "-" + cnpjFormatado.substring(12, 14); } parametros.put("cnpj", cnpjFormatado); } else { parametros.put("cnpj", ""); } // Inscri��o Estadual da Companhia de �gua if (sistemaParametro.getInscricaoEstadual() != null) { parametros.put("inscricaoEstadual", sistemaParametro.getInscricaoEstadual().toString()); } else { parametros.put("inscricaoEstadual", ""); } String[] ids = (String[]) getParametro("ids"); Collection<GuiaPagamentoRelatorioHelper> dadosRelatorio = fachada.pesquisarGuiaPagamentoRelatorio(ids); relatorioParcelamentosBeans.set(0, this.inicializarBeanRelatorio(dadosRelatorio, relatorioParcelamentosBeans.get(0))); String cnpjEmpresa = ""; if (sistemaParametro.getCnpjEmpresa() != null) { cnpjEmpresa = Util.formatarCnpj(sistemaParametro.getCnpjEmpresa()); } String idUsuario = ""; Usuario usuario = this.getUsuario(); if (usuario != null) { idUsuario = usuario.getId().toString(); } else { idUsuario = "INTERNET"; } String nomeUsuario = ""; if ( usuario != null ) { nomeUsuario = usuario.getNomeUsuario(); } parametros.put("imagemConta", sistemaParametro.getImagemConta()); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); parametros.put("nomeEmpresa",sistemaParametro.getNomeAbreviadoEmpresa()); parametros.put("cnpjEmpresa", cnpjEmpresa); parametros.put("idUsuario", idUsuario); parametros.put("nomeUsuario", nomeUsuario); Integer anoAtual = Util.getAno(new Date()); parametros.put("anoGuiaPagamento", ""+anoAtual); parametros.put("indicadorExibirMsgNaoReceberPagamento", sistemaParametro.getIndicadorExibeMensagemNaoReceberPagamento().toString()); List listArrayJRDetail = new ArrayList(); RelatorioDataSource arrayJRDetailSub = new RelatorioDataSource(listArrayJRDetail); parametros.put("arrayJRDetailSub", arrayJRDetailSub); RelatorioDataSource ds = new RelatorioDataSource(relatorioParcelamentosBeans); retorno = gerarRelatorio(ConstantesRelatorios.RELATORIO_DOCUMENTOS_PARCELAMENTO_LOJA_VIRTUAL, parametros, ds, tipoFormatoRelatorio); try { persistirRelatorioConcluido(retorno, Relatorio.RELATORIO_DOCUMENTOS_PARCELAMENTO_LOJA_VIRTUAL, idFuncionalidadeIniciada); } catch (ControladorException e) { e.printStackTrace(); throw new TarefaException("Erro ao gravar relat�rio no sistema", e); } return retorno; } private RelatorioDocumentosParcelamentoPortalBean inicializarBeanRelatorio(Collection<GuiaPagamentoRelatorioHelper> dadosRelatorio, RelatorioDocumentosParcelamentoPortalBean relatorio) { Collection<RelatorioEmitirGuiaPagamentoDetailBean> colecaoDetail = new ArrayList<RelatorioEmitirGuiaPagamentoDetailBean>(); Iterator<GuiaPagamentoRelatorioHelper> iterator = dadosRelatorio.iterator(); colecaoDetail.clear(); while (iterator.hasNext()) { GuiaPagamentoRelatorioHelper guiaPagamentoRelatorioHelper = iterator.next(); //nov parte de guia pagamento item //Fl�vio Leonardo //07/11/2008 String descricaoServicosTarifas = ""; String valor = ""; RelatorioEmitirGuiaPagamentoDetailBean relatorioEmitirGuiaPagamentoDetailBean = null; FiltroGuiaPagamentoItem filtroGuiaPagamentoItem = new FiltroGuiaPagamentoItem(); filtroGuiaPagamentoItem.adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroGuiaPagamentoItem.adicionarParametro(new ParametroSimples(FiltroGuiaPagamentoItem.GUIA_PAGAMENTO_GERAL_ID, guiaPagamentoRelatorioHelper.getIdGuiaPagamento())); filtroGuiaPagamentoItem.setCampoOrderBy(new String[]{"guiaPagamentoGeral","debitoTipo"}); Collection<GuiaPagamentoItem> colecaoGuiaPagamentoItem = Fachada.getInstancia().pesquisar(filtroGuiaPagamentoItem, GuiaPagamentoItem.class.getName()); Iterator<GuiaPagamentoItem> iteratorGuiaPagamentoitem = colecaoGuiaPagamentoItem.iterator(); if(!colecaoGuiaPagamentoItem.isEmpty()){ while(iteratorGuiaPagamentoitem.hasNext()){ GuiaPagamentoItem guiaPagamentoItem = (GuiaPagamentoItem)iteratorGuiaPagamentoitem.next(); descricaoServicosTarifas = guiaPagamentoItem .getDebitoTipo().getDescricao() + " " + guiaPagamentoRelatorioHelper.getPrestacaoFormatada(); valor = Util.formatarMoedaReal(guiaPagamentoItem .getValorDebito()); relatorioEmitirGuiaPagamentoDetailBean = new RelatorioEmitirGuiaPagamentoDetailBean( descricaoServicosTarifas, valor); colecaoDetail.add(relatorioEmitirGuiaPagamentoDetailBean); } }else{ descricaoServicosTarifas = guiaPagamentoRelatorioHelper .getDescTipoDebito() + " " + guiaPagamentoRelatorioHelper.getPrestacaoFormatada(); valor = Util.formatarMoedaReal(guiaPagamentoRelatorioHelper.getValorDebito()); relatorioEmitirGuiaPagamentoDetailBean = new RelatorioEmitirGuiaPagamentoDetailBean(descricaoServicosTarifas, valor); colecaoDetail.add(relatorioEmitirGuiaPagamentoDetailBean); } String valorTotal = Util.formatarMoedaReal(guiaPagamentoRelatorioHelper.getValorDebito()); String matricula = guiaPagamentoRelatorioHelper.getMatricula(); String nomeCliente = ""; if (guiaPagamentoRelatorioHelper.getNomeCliente() != null){ nomeCliente = guiaPagamentoRelatorioHelper.getNomeCliente(); } String dataVencimento = Util.formatarData(guiaPagamentoRelatorioHelper.getDataVencimento()); String inscricao = guiaPagamentoRelatorioHelper.getInscricao(); String enderecoImovel = guiaPagamentoRelatorioHelper.getEnderecoImovel(); String enderecoClienteResponsavel = guiaPagamentoRelatorioHelper.getEnderecoClienteResponsavel(); String representacaoNumericaCodBarraFormatada = guiaPagamentoRelatorioHelper.getRepresentacaoNumericaCodBarraFormatada(); String representacaoNumericaCodBarraSemDigito = guiaPagamentoRelatorioHelper.getRepresentacaoNumericaCodBarraSemDigito(); String dataValidade = guiaPagamentoRelatorioHelper.getDataValidade(); String idGuiaPagamento = guiaPagamentoRelatorioHelper.getIdGuiaPagamento(); String observacao = ""; Short indicadorEmitirObservacao = guiaPagamentoRelatorioHelper.getIndicadorEmitirObservacao(); if (indicadorEmitirObservacao != null && indicadorEmitirObservacao.equals(ConstantesSistema.SIM)) { observacao = guiaPagamentoRelatorioHelper.getObservacao(); } String cpfCnpjCliente = ""; if (Util.verificarIdNaoVazio(guiaPagamentoRelatorioHelper.getCpfCliente())){ cpfCnpjCliente = Util.formatarCpf(guiaPagamentoRelatorioHelper.getCpfCliente()); } else if (Util.verificarNaoVazio(guiaPagamentoRelatorioHelper.getCnpjCliente())) { cpfCnpjCliente = Util.formatarCnpj(guiaPagamentoRelatorioHelper.getCnpjCliente()); } String idImovel = ""; if (guiaPagamentoRelatorioHelper.getIdImovel() != null && !guiaPagamentoRelatorioHelper.getIdImovel().equals("")) { idImovel = guiaPagamentoRelatorioHelper.getIdImovel().toString(); } else if (guiaPagamentoRelatorioHelper.getIdCliente() != null) { idImovel = guiaPagamentoRelatorioHelper.getIdCliente().toString(); } String nossoNumero = guiaPagamentoRelatorioHelper.getNossoNumero(); String sacadoParte01 = guiaPagamentoRelatorioHelper.getSacadoParte01(); String sacadoParte02 = guiaPagamentoRelatorioHelper.getSacadoParte02(); String subRelatorio = guiaPagamentoRelatorioHelper.getSubRelatorio(); relatorio.inserirDadosRelatorioEmitirGuia( colecaoDetail, matricula, nomeCliente, dataVencimento, inscricao, enderecoImovel, enderecoClienteResponsavel, representacaoNumericaCodBarraFormatada, representacaoNumericaCodBarraSemDigito, dataValidade, valorTotal, idGuiaPagamento, observacao, cpfCnpjCliente, idImovel, nossoNumero, sacadoParte01, sacadoParte02, subRelatorio, colecaoDetail); colecaoDetail.clear(); } return relatorio; } @Override public int calcularTotalRegistrosRelatorio() { int retorno = 1; return retorno; } @Override public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioParcelamento", this); } }