package gcom.cobranca; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cobranca.bean.CalcularValorDataVencimentoAnteriorHelper; import gcom.cobranca.bean.EmissaoDocumentoCobrancaHelper; import gcom.cobranca.bean.EmitirDocumentoCobrancaHelper; import gcom.util.ControladorException; import gcom.util.ErroRepositorioException; import gcom.util.Util; import gcom.util.ZipUtil; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.zip.ZipOutputStream; import javax.ejb.SessionBean; import br.com.danhil.BarCode.Interleaved2of5; /** * Controlador Cobranca CAERN * * @author Raphael Rossiter * @date 26/06/2006 */ public class ControladorCobrancaCAERNSEJB extends ControladorCobranca implements SessionBean { private static final long serialVersionUID = 1L; //============================================================================================================== // M�TODOS EXCLUSIVOS DA CAERN //============================================================================================================== /** * * Este caso de uso permite a emiss�o de um ou mais documentos de cobran�a * * [UC0349] Emitir Documento de Cobran�a * * @author Raphael Rossiter * @data 26/05/2006 * * @param * @return void */ public void emitirDocumentoCobranca( CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma, CobrancaAcaoAtividadeComando cobrancaAcaoAtividadeComando, Date dataAtualPesquisa, CobrancaAcao acaoCobranca, CobrancaGrupo grupoCobranca, CobrancaCriterio cobrancaCriterio) throws ControladorException { boolean flagFimPesquisa = false; final int quantidadeCobrancaDocumento = 1000; int quantidadeCobrancaDocumentoInicio = 0; StringBuilder cobrancaDocumentoTxt = new StringBuilder(); int sequencialImpressao = 0; Collection colecaoCobrancaDocumento = null; Map<Integer, Integer> mapAtualizaSequencial = null; Integer idCronogramaAtividadeAcaoCobranca = null; Integer idComandoAtividadeAcaoCobranca = null; Integer idAcaoCobranca = null; if (cobrancaAcaoAtividadeCronograma != null && cobrancaAcaoAtividadeCronograma.getId() != null) { idCronogramaAtividadeAcaoCobranca = cobrancaAcaoAtividadeCronograma .getId(); } if (cobrancaAcaoAtividadeComando != null && cobrancaAcaoAtividadeComando.getId() != null) { idComandoAtividadeAcaoCobranca = cobrancaAcaoAtividadeComando .getId(); } if (acaoCobranca != null && acaoCobranca.getId() != null) { idAcaoCobranca = acaoCobranca.getId(); } while (!flagFimPesquisa) { // map que armazena o sequencial e o numero da // conta para no final atualizar todos os // sequencias mapAtualizaSequencial = new HashMap(); try { System.out.println("***************************************"); System.out.println("ENTROU NO AVISO DE CORTE"); System.out.println("***************************************"); colecaoCobrancaDocumento = repositorioCobranca .pesquisarCobrancaDocumentoParaEmitirPorRota( idCronogramaAtividadeAcaoCobranca, idComandoAtividadeAcaoCobranca, dataAtualPesquisa, idAcaoCobranca, quantidadeCobrancaDocumentoInicio); System.out.println("***************************************"); System.out.println("QTD DE COBRANCA DOCUMENTO:" + colecaoCobrancaDocumento.size()); System.out.println("***************************************"); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } if (colecaoCobrancaDocumento != null && !colecaoCobrancaDocumento.isEmpty()) { System.out.println("***************************************"); System.out.println("QUANTIDADE COBRAN�A:" + colecaoCobrancaDocumento.size()); System.out.println("***************************************"); if (colecaoCobrancaDocumento.size() < quantidadeCobrancaDocumento) { flagFimPesquisa = true; } else { quantidadeCobrancaDocumentoInicio = quantidadeCobrancaDocumentoInicio + 1000; } int metadeColecao = 0; if (colecaoCobrancaDocumento.size() % 2 == 0) { metadeColecao = colecaoCobrancaDocumento.size() / 2; } else { metadeColecao = (colecaoCobrancaDocumento.size() / 2) + 1; } Map<Integer, Map<Object, Object>> mapCobrancaDocumentoOrdenada = dividirColecao(colecaoCobrancaDocumento); if (mapCobrancaDocumentoOrdenada != null) { int countOrdem = 0; while (countOrdem < mapCobrancaDocumentoOrdenada.size()) { Map<Object, Object> mapCobrancaoDocumentoDivididas = mapCobrancaDocumentoOrdenada .get(countOrdem); Iterator iteratorCobrancaDocumento = mapCobrancaoDocumentoDivididas .keySet().iterator(); while (iteratorCobrancaDocumento.hasNext()) { CobrancaDocumento cobrancaDocumento = null; /* * if(quantidadeContas == 48){ * System.out.println(""); } */ int situacao = 0; cobrancaDocumento = (CobrancaDocumento) iteratorCobrancaDocumento .next(); String nomeCliente = null; Collection colecaoCobrancaDocumentoItem = null; Iterator iteratorColecaoCobrancaDocumento = colecaoCobrancaDocumento .iterator(); /* * Estes objetos auxiliar�o na formata��o da * inscri��o que ser� composta por informa��es do * documento de cobran�a e do im�vel a ele associado */ Imovel inscricao = null; SetorComercial setorComercialInscricao = null; Quadra quadraInscricao = null; /* * Objeto que ser� utilizado para armazenar as * informa��es do documento de cobran�a de acordo * com o layout definido no caso de uso */ sequencialImpressao++; while (situacao < 2) { if (situacao == 0) { situacao = 1; sequencialImpressao = atualizaSequencial( sequencialImpressao, situacao, metadeColecao); } else { cobrancaDocumento = (CobrancaDocumento) mapCobrancaoDocumentoDivididas .get(cobrancaDocumento); situacao = 2; sequencialImpressao = atualizaSequencial( sequencialImpressao, situacao, metadeColecao); } if (cobrancaDocumento != null) { try { nomeCliente = this.repositorioClienteImovel .pesquisarNomeClientePorImovel(cobrancaDocumento .getImovel().getId()); colecaoCobrancaDocumentoItem = this.repositorioCobranca .selecionarCobrancaDocumentoItemReferenteConta(cobrancaDocumento); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException( "erro.sistema", ex); } if (colecaoCobrancaDocumentoItem != null && !colecaoCobrancaDocumentoItem .isEmpty()) { // In�cio do processo de gera��o do // arquivo // txt // LINHA 01 // ================================== /* * Canal ("1") Fonte ("1") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 35)); // Nome da Localidade cobrancaDocumentoTxt .append(Util .completaString( cobrancaDocumento .getLocalidade() .getDescricao(), 30)); //Rota if (cobrancaDocumento.getQuadra() != null){ cobrancaDocumentoTxt.append(Util .completaString("", 5)); cobrancaDocumentoTxt.append("Rota: "); cobrancaDocumentoTxt .append(Util.adicionarZerosEsquedaNumero(5, cobrancaDocumento.getQuadra().getRota().getCodigo().toString())); if (cobrancaDocumento.getImovel() != null && cobrancaDocumento.getImovel().getNumeroSequencialRota() != null){ cobrancaDocumentoTxt.append("/"); cobrancaDocumentoTxt .append(Util.adicionarZerosEsquedaNumero(5, cobrancaDocumento.getImovel().getNumeroSequencialRota().toString())); cobrancaDocumentoTxt.append(Util .completaString("", 63)); } else{ cobrancaDocumentoTxt.append(Util .completaString("", 69)); } } else{ cobrancaDocumentoTxt.append(Util .completaString("", 85)); } cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 02 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Inscri��o quadraInscricao = new Quadra(); setorComercialInscricao = new SetorComercial(); inscricao = new Imovel(); quadraInscricao .setNumeroQuadra(cobrancaDocumento .getNumeroQuadra()); setorComercialInscricao .setCodigo(cobrancaDocumento .getCodigoSetorComercial()); inscricao .setLocalidade(cobrancaDocumento .getLocalidade()); inscricao .setSetorComercial(setorComercialInscricao); inscricao.setQuadra(quadraInscricao); inscricao.setLote(cobrancaDocumento .getImovel().getLote()); inscricao.setSubLote(cobrancaDocumento .getImovel().getSubLote()); cobrancaDocumentoTxt .append(Util .completaString( inscricao .getInscricaoFormatada(), 20)); cobrancaDocumentoTxt.append(Util .completaString("", 14)); // Nome do Cliente cobrancaDocumentoTxt .append(Util.completaString( nomeCliente, 50)); cobrancaDocumentoTxt.append(Util .completaString("", 65)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 03 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 69)); // Matr�cula do im�vel String matriculaImovelFormatada = Util .retornaMatriculaImovelFormatada(cobrancaDocumento .getImovel().getId()); cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( matriculaImovelFormatada, 10)); cobrancaDocumentoTxt.append(Util .completaString("", 71)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 04 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Endere�o Formatado cobrancaDocumentoTxt .append(Util .completaString( cobrancaDocumento .getImovel() .getEnderecoFormatadoAbreviado(), 72)); cobrancaDocumentoTxt.append(Util .completaString("", 77)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 05 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 66)); // Grupo de Cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( cobrancaDocumento .getQuadra() .getRota() .getCobrancaGrupo() .getId() .toString(), 2)); cobrancaDocumentoTxt.append(" "); // Sequencial do Documento de Cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( "" + cobrancaDocumento .getNumeroSequenciaDocumento(), 9)); cobrancaDocumentoTxt.append(Util .completaString("", 72)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 06 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // C�digo da situa��o da liga��o de �gua cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( cobrancaDocumento .getImovel() .getLigacaoAguaSituacao() .getId() .toString(), 1)); cobrancaDocumentoTxt.append(Util .completaString("", 2)); // C�digo da situa��o da liga��o de // esgoto cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( cobrancaDocumento .getImovel() .getLigacaoEsgotoSituacao() .getId() .toString(), 1)); cobrancaDocumentoTxt.append(Util .completaString("", 6)); /* * Quantidades de economias por * categoria: 1� RESID�NCIAL 2� * COMERCIAL 3� INDUSTRIAL 4� P�BLICA */ Collection colecaoCategorias = this .getControladorImovel() .obterQuantidadeEconomiasCategoria( cobrancaDocumento .getImovel()); String qtdResidencial = ""; String qtdComercial = ""; String qtdIndustrial = ""; String qtdPublico = ""; if (colecaoCategorias != null && !colecaoCategorias.isEmpty()) { Iterator iteratorColecaoCategorias = colecaoCategorias .iterator(); Categoria categoria = null; while (iteratorColecaoCategorias .hasNext()) { categoria = (Categoria) iteratorColecaoCategorias .next(); if (categoria.getId().equals( Categoria.RESIDENCIAL)) { qtdResidencial = "" + categoria .getQuantidadeEconomiasCategoria(); } else if (categoria .getId() .equals( Categoria.COMERCIAL)) { qtdComercial = "" + categoria .getQuantidadeEconomiasCategoria(); } else if (categoria .getId() .equals( Categoria.INDUSTRIAL)) { qtdIndustrial = "" + categoria .getQuantidadeEconomiasCategoria(); } else if (categoria .getId() .equals( Categoria.PUBLICO)) { qtdPublico = "" + categoria .getQuantidadeEconomiasCategoria(); } } } colecaoCategorias = null; // Resid�ncial if (!qtdResidencial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdResidencial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 5)); // Comercial if (!qtdComercial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdComercial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 8)); // Industrial if (!qtdIndustrial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdIndustrial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 5)); // P�blico if (!qtdPublico.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdPublico)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 11)); // Perfil do Im�vel cobrancaDocumentoTxt .append(Util .completaString( cobrancaDocumento .getImovelPerfil() .getDescricao(), 8)); cobrancaDocumentoTxt.append(Util .completaString("", 6)); // Data de Emiss�o if (cobrancaDocumento.getEmissao() != null) { cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumento .getEmissao())); } else { cobrancaDocumentoTxt.append(Util .completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 4)); // Data de Validade // if (cobrancaDocumento.getDataValidade() != null) { // cobrancaDocumentoTxt.append(Util // .formatarData(cobrancaDocumento.getDataValidade())); // } else { // cobrancaDocumentoTxt.append(Util.completaString("", 10)); // } //alterado por Vivianne Sousa 15/09/2008 //Data de Validade Date dataValidade = this. obterDataValidadeDocumentoCobranca(cobrancaDocumento,null,null); if (dataValidade != null) { cobrancaDocumentoTxt.append(Util.formatarData(dataValidade)); } else { cobrancaDocumentoTxt.append(Util.completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 60)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 07 // ================================== /* * Canal ("1") Fonte ("1") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("1"); /* * Selecionar os itens do documento de * cobran�a correspondentes a conta e * ordenar por ano/m�s de refer�ncia da * conta */ if (colecaoCobrancaDocumentoItem != null && !colecaoCobrancaDocumentoItem .isEmpty()) { int countImpressao = colecaoCobrancaDocumentoItem .size() - 26; Iterator iteratorColecaoCobrancaDocumentoItem = null; int contRegistros = 0; CobrancaDocumentoItem cobrancaDocumentoItem = null; cobrancaDocumentoTxt.append(Util .completaString("", 3)); /* * Caso a quantidade de itens * selecionados seja superior a 28 * [SB0001 - Calcular Valor e Data * de Vencimento Anterior] * * Caso contr�rio: Dados do primeiro * e segundo itens selecionados */ if (colecaoCobrancaDocumentoItem .size() > 28) { CalcularValorDataVencimentoAnteriorHelper calcularValorDataVencimentoAnteriorHelper = this .calcularValorDataVencimentoAnterior( colecaoCobrancaDocumentoItem, 28); // Constante "DEBTO.ATE" cobrancaDocumentoTxt .append("DEBTO.ATE"); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); // Data de Vencimento anterior // retornado // pelo // [SB0001] cobrancaDocumentoTxt .append(Util .formatarData(calcularValorDataVencimentoAnteriorHelper .getDataVencimentoAnterior())); cobrancaDocumentoTxt .append(" "); // Valor anterior retornado pelo // [SB0001] cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(calcularValorDataVencimentoAnteriorHelper .getValorAnterior()), 16)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); /* * Dados do primeiro �tem que * n�o foi considerado anterior: */ // M�s/Ano de refer�ncia da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(calcularValorDataVencimentoAnteriorHelper .getCobrancaDocumentoItemNaoAnterior() .getContaGeral() .getConta() .getReferencia()), 9)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); // Data de vencimento da conta cobrancaDocumentoTxt .append(Util .formatarData(calcularValorDataVencimentoAnteriorHelper .getCobrancaDocumentoItemNaoAnterior() .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(" "); // Valor do item cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(calcularValorDataVencimentoAnteriorHelper .getCobrancaDocumentoItemNaoAnterior() .getValorItemCobrado()), 16)); cobrancaDocumentoTxt .append(Util .completaString( "", 60)); } else { iteratorColecaoCobrancaDocumentoItem = colecaoCobrancaDocumentoItem .iterator(); contRegistros = 0; cobrancaDocumentoItem = null; while (iteratorColecaoCobrancaDocumentoItem .hasNext()) { cobrancaDocumentoItem = (CobrancaDocumentoItem) iteratorColecaoCobrancaDocumentoItem .next(); if (contRegistros == 2) { break; } // M�s/Ano de refer�ncia da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(cobrancaDocumentoItem .getContaGeral() .getConta() .getReferencia()), 9)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); // Data de vencimento da // conta cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumentoItem .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(" "); // Valor do item cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(cobrancaDocumentoItem .getValorItemCobrado()), 16)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); contRegistros++; } if (contRegistros < 2) { cobrancaDocumentoTxt .append(Util .completaString( "", 101)); } else { cobrancaDocumentoTxt .append(Util .completaString( "", 55)); } } cobrancaDocumentoTxt .append(System .getProperty("line.separator")); // LINHA 08 // ================================== /* * Canal ("") Fonte ("1") */ if (countImpressao <= 0) { iteratorColecaoCobrancaDocumentoItem = colecaoCobrancaDocumentoItem .iterator(); contRegistros = 0; cobrancaDocumentoItem = null; while (iteratorColecaoCobrancaDocumentoItem .hasNext()) { cobrancaDocumentoItem = (CobrancaDocumentoItem) iteratorColecaoCobrancaDocumentoItem .next(); if (contRegistros >= 2) { if (contRegistros % 2 == 0) { cobrancaDocumentoTxt .append(" "); cobrancaDocumentoTxt .append("1"); cobrancaDocumentoTxt .append(Util .completaString( "", 3)); } // M�s/Ano de refer�ncia // da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(cobrancaDocumentoItem .getContaGeral() .getConta() .getReferencia()), 9)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); // Data de vencimento da // conta cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumentoItem .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(" "); // Valor do item cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(cobrancaDocumentoItem .getValorItemCobrado()), 16)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); if (contRegistros % 2 != 0) { cobrancaDocumentoTxt .append(Util .completaString( "", 55)); cobrancaDocumentoTxt .append(System .getProperty("line.separator")); } } contRegistros++; } } else { while (countImpressao < colecaoCobrancaDocumentoItem .size()) { cobrancaDocumentoItem = (CobrancaDocumentoItem) ((List) colecaoCobrancaDocumentoItem) .get(countImpressao); if (contRegistros % 2 == 0) { cobrancaDocumentoTxt .append(" "); cobrancaDocumentoTxt .append("1"); cobrancaDocumentoTxt .append(Util .completaString( "", 3)); } // M�s/Ano de refer�ncia // da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(cobrancaDocumentoItem .getContaGeral() .getConta() .getReferencia()), 9)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); // Data de vencimento da // conta cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumentoItem .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(" "); // Valor do item cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(cobrancaDocumentoItem .getValorItemCobrado()), 16)); cobrancaDocumentoTxt .append(Util .completaString( "", 5)); if (contRegistros % 2 != 0) { cobrancaDocumentoTxt .append(Util .completaString( "", 55)); cobrancaDocumentoTxt .append(System .getProperty("line.separator")); } countImpressao++; contRegistros++; } } if (contRegistros > 2) { if (contRegistros % 2 != 0) { cobrancaDocumentoTxt .append(Util .completaString( "", 101)); cobrancaDocumentoTxt .append(System .getProperty("line.separator")); } } } // LINHA 09 // ================================== /* * Canal ("1") Fonte ("2") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 10 // ================================== /* * Canal ("0") Fonte ("2") */ cobrancaDocumentoTxt.append("0"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 61)); // Valor total do documento de cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(cobrancaDocumento .getValorDocumento()), 16)); cobrancaDocumentoTxt.append(Util .completaString("", 73)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 11 // ================================== /* * Canal ("1") Fonte ("1") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Constante "GR- " cobrancaDocumentoTxt.append("GR- "); // Grupo de Cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( cobrancaDocumento .getQuadra() .getRota() .getCobrancaGrupo() .getId() .toString(), 2)); cobrancaDocumentoTxt.append(Util .completaString("", 2)); // C�digo e descri��o da empresa if (cobrancaDocumento.getEmpresa() != null) { cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( cobrancaDocumento .getEmpresa() .getId() .toString(), 2)); cobrancaDocumentoTxt.append("- "); cobrancaDocumentoTxt .append(Util .completaString( cobrancaDocumento .getEmpresa() .getDescricaoAbreviada(), 10)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 14)); } cobrancaDocumentoTxt.append(Util .completaString("", 11)); // Sigla e descri�ao da ger�ncia // regional cobrancaDocumentoTxt .append(Util .completaString( cobrancaDocumento .getLocalidade() .getGerenciaRegional() .getNomeAbreviado(), 3)); cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt .append(Util .completaString( cobrancaDocumento .getLocalidade() .getGerenciaRegional() .getNome(), 8)); cobrancaDocumentoTxt.append(Util .completaString("", 25)); // Sequencial de impress�o cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .retornaSequencialFormatado(sequencialImpressao), 9)); cobrancaDocumentoTxt.append(Util .completaString("", 70)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 12 // ================================== /* * Canal ("") Fonte ("1") */ cobrancaDocumentoTxt.append(" "); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 13 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 18)); String representacaoNumericaCodBarra = ""; // Obt�m a representa��o num�rica do // c�digode // barra representacaoNumericaCodBarra = this.getControladorArrecadacao(). obterRepresentacaoNumericaCodigoBarra( 5, cobrancaDocumento .getValorDocumento(), cobrancaDocumento .getLocalidade() .getId(), cobrancaDocumento .getImovel() .getId(), null, null, null, null, String .valueOf(cobrancaDocumento .getNumeroSequenciaDocumento()), cobrancaDocumento .getDocumentoTipo() .getId(), null, null, null); // Formata a representa��o n�merica do // c�digo de // barras String representacaoNumericaCodBarraFormatada = representacaoNumericaCodBarra .substring(0, 11) + " " + representacaoNumericaCodBarra .substring(11, 12) + " " + representacaoNumericaCodBarra .substring(12, 23) + " " + representacaoNumericaCodBarra .substring(23, 24) + " " + representacaoNumericaCodBarra .substring(24, 35) + " " + representacaoNumericaCodBarra .substring(35, 36) + " " + representacaoNumericaCodBarra .substring(36, 47) + " " + representacaoNumericaCodBarra .substring(47, 48); cobrancaDocumentoTxt .append(representacaoNumericaCodBarraFormatada); cobrancaDocumentoTxt.append(Util .completaString("", 77)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 14 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 15 // ================================== /* * Canal ("") Fonte ("1") */ cobrancaDocumentoTxt.append(" "); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 16 // ================================== /* * Canal ("-") Fonte ("3") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("3"); // Cria o objeto para gerar o c�digo de // barras // no // padr�o // intercalado 2 de 5 Interleaved2of5 codigoBarraIntercalado2de5 = new Interleaved2of5(); // Recupera a representa��o n�merica do // c�digo // de // barras // sem // os d�gitos verificadores String representacaoCodigoBarrasSemDigitoVerificador = representacaoNumericaCodBarra .substring(0, 11) + representacaoNumericaCodBarra .substring(12, 23) + representacaoNumericaCodBarra .substring(24, 35) + representacaoNumericaCodBarra .substring(36, 47); cobrancaDocumentoTxt.append(Util .completaString("", 21)); cobrancaDocumentoTxt .append(codigoBarraIntercalado2de5 .encodeValue(representacaoCodigoBarrasSemDigitoVerificador)); cobrancaDocumentoTxt.append(Util .completaString("", 17)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 17 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Inscri��o cobrancaDocumentoTxt .append(Util .completaString( inscricao .getInscricaoFormatada(), 20)); cobrancaDocumentoTxt.append(Util .completaString("", 14)); // Data de Validade // if (cobrancaDocumento.getDataValidade() != null) { // cobrancaDocumentoTxt // .append(Util // .formatarData(cobrancaDocumento // .getDataValidade())); // } else { // cobrancaDocumentoTxt.append(Util // .completaString("", 10)); // } //alterado por Vivianne Sousa 15/09/2008 //Data de Validade if (dataValidade != null) { cobrancaDocumentoTxt.append(Util.formatarData(dataValidade)); } else { cobrancaDocumentoTxt.append(Util.completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 105)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 18 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 50)); // Matr�cula do im�vel cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( matriculaImovelFormatada, 10)); cobrancaDocumentoTxt.append(Util .completaString("", 7)); // Sequencial do documento de cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( "" + cobrancaDocumento .getNumeroSequenciaDocumento(), 9)); cobrancaDocumentoTxt.append(Util .completaString("", 74)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 19 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 20 // ================================== /* * Canal ("0") Fonte ("2") */ cobrancaDocumentoTxt.append("0"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 61)); // Valor total do documento de cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(cobrancaDocumento .getValorDocumento()), 16)); cobrancaDocumentoTxt.append(Util .completaString("", 73)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 21 // ================================== /* * Canal ("0") Fonte ("1") */ cobrancaDocumentoTxt.append("0"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA // 22================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Constante "GR- " cobrancaDocumentoTxt.append("GR- "); // Grupo de Cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( cobrancaDocumento .getQuadra() .getRota() .getCobrancaGrupo() .getId() .toString(), 2)); cobrancaDocumentoTxt.append(Util .completaString("", 64)); // Sequencial de impress�o cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .retornaSequencialFormatado(sequencialImpressao), 9)); cobrancaDocumentoTxt.append(Util .completaString("", 70)); if (iteratorColecaoCobrancaDocumento .hasNext()) { cobrancaDocumentoTxt .append(System .getProperty("line.separator")); } } // adiciona o id da // conta e o sequencial // no para serem // atualizados mapAtualizaSequencial.put(cobrancaDocumento .getId(), sequencialImpressao); colecaoCobrancaDocumentoItem = null; } }// fim do la�o que verifica // as 2 // contas }// fim la�o while do iterator do // objeto // helper countOrdem++; mapCobrancaoDocumentoDivididas = null; } } } else { flagFimPesquisa = true; } try { repositorioCobranca .atualizarSequencialCobrancaDocumentoImpressao(mapAtualizaSequencial); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } mapAtualizaSequencial = null; colecaoCobrancaDocumento = null; } Date dataAtual = new Date(); String nomeZip = null; if (idCronogramaAtividadeAcaoCobranca != null) { if(acaoCobranca != null && acaoCobranca.getId().equals(CobrancaAcao.VISITA_COBRANCA)){ nomeZip = "VISITA_COBRANCA_" + grupoCobranca.getId() + "_" + Util.formatarData(dataAtual); }else{ nomeZip = "AVISO_CORTE_GRUPO_" + grupoCobranca.getId() + "_" + Util.formatarData(dataAtual); } nomeZip = nomeZip.replace("/", "_"); } else { String descricaoAbrevDocumentoTipo = ""; if (acaoCobranca != null && acaoCobranca.getDocumentoTipo() != null) { descricaoAbrevDocumentoTipo = acaoCobranca.getDocumentoTipo() .getDescricaoAbreviado(); } String tituloComandoEventual = cobrancaAcaoAtividadeComando .getDescricaoTitulo(); nomeZip = descricaoAbrevDocumentoTipo + " " + tituloComandoEventual + " " + Util.formatarData(dataAtual); nomeZip = nomeZip.replace("/", "_"); nomeZip = nomeZip.replace(" ", "_"); } // pegar o arquivo, zipar pasta e arquivo e escrever no stream try { System.out.println("***************************************"); System.out.println("INICO DA CRIACAO DO ARQUIVO"); System.out.println("***************************************"); if (cobrancaDocumentoTxt != null && cobrancaDocumentoTxt.length() != 0) { cobrancaDocumentoTxt.append("\u0004"); // criar o arquivo zip File compactado = new File(nomeZip + ".zip"); // nomeZip ZipOutputStream zos = new ZipOutputStream(new FileOutputStream( compactado)); File leitura = new File(nomeZip + ".txt"); BufferedWriter out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(leitura.getAbsolutePath()))); out.write(cobrancaDocumentoTxt.toString()); out.close(); ZipUtil.adicionarArquivo(zos, leitura); // close the stream zos.close(); leitura.delete(); } System.out.println("***************************************"); System.out.println("FIM DA CRIACAO DO ARQUIVO"); System.out.println("***************************************"); } catch (IOException e) { e.printStackTrace(); throw new ControladorException("erro.sistema", e); } catch (Exception e) { e.printStackTrace(); throw new ControladorException("erro.sistema", e); } } /** * Este caso de uso permite a emiss�o de um ou mais documentos de cobran�a * * [UC0476] Emitir Documento de Cobran�a - Ordem de Corte * * @author Ivan Sergio * @data 21/05/2009 * * @param * @return void */ public void emitirDocumentoCobrancaOrdemCorte( CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma, CobrancaAcaoAtividadeComando cobrancaAcaoAtividadeComando, Date dataAtualPesquisa, CobrancaAcao acaoCobranca, CobrancaGrupo grupoCobranca, CobrancaCriterio cobrancaCriterio) throws ControladorException { if (acaoCobranca.getId().equals(CobrancaAcao.CORTE_ADMINISTRATIVO) || acaoCobranca.getId().equals(CobrancaAcao.CORTE_ADMINISTRATIVO_LIGADO_A_REVELIA)) { // [UC0349 Emitir Documento fr Cobran�a - AvisoCorte] this.emitirDocumentoCobrancaOrdemCorteAdministrativo( cobrancaAcaoAtividadeCronograma, cobrancaAcaoAtividadeComando, dataAtualPesquisa, acaoCobranca, grupoCobranca, cobrancaCriterio); } else if (acaoCobranca.getId().equals(CobrancaAcao.CORTE_FISICO) || acaoCobranca.getId().equals(CobrancaAcao.CORTE_FISICO_LIGADO_A_REVELIA) || acaoCobranca.getId().equals(CobrancaAcao.CORTE_FISICO_PUBLICO) || acaoCobranca.getId().equals(CobrancaAcao.RECORTE)) { // [UC0640] Gerar TXT Corte Fisico COMPESA this.gerarTxtCorteFisico( cobrancaAcaoAtividadeCronograma, cobrancaAcaoAtividadeComando, dataAtualPesquisa, acaoCobranca, grupoCobranca, cobrancaCriterio); } } /** * * Este caso de uso permite a emiss�o de um ou mais documentos de cobran�a * * [UC0476] Emitir Documento de Cobran�a - Ordem de Corte * * @author Ana Maria * @data 07/09/2006 * * @param * @return void */ private void emitirDocumentoCobrancaOrdemCorteAdministrativo( CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma, CobrancaAcaoAtividadeComando cobrancaAcaoAtividadeComando, Date dataAtualPesquisa, CobrancaAcao acaoCobranca, CobrancaGrupo grupoCobranca, CobrancaCriterio cobrancaCriterio) throws ControladorException { boolean flagFimPesquisa = false; final int quantidadeCobrancaDocumento = 1000; int quantidadeCobrancaDocumentoInicio = 0; StringBuilder cobrancaDocumentoTxt = new StringBuilder(); int sequencialImpressao = 0; System.out.println("***************************************"); System.out.println("ENTROU NO CORTE ADMINISTRATIVO OU FISICO"); System.out.println("***************************************"); Collection colecaoEmitirDocumentoCobranca = null; Map<Integer, Integer> mapAtualizaSequencial = null; Integer idCronogramaAtividadeAcaoCobranca = null; Integer idComandoAtividadeAcaoCobranca = null; Integer idAcaoCobranca = null; if (cobrancaAcaoAtividadeCronograma != null && cobrancaAcaoAtividadeCronograma.getId() != null) { idCronogramaAtividadeAcaoCobranca = cobrancaAcaoAtividadeCronograma .getId(); } if (cobrancaAcaoAtividadeComando != null && cobrancaAcaoAtividadeComando.getId() != null) { idComandoAtividadeAcaoCobranca = cobrancaAcaoAtividadeComando .getId(); } if (acaoCobranca != null && acaoCobranca.getId() != null) { idAcaoCobranca = acaoCobranca.getId(); } while (!flagFimPesquisa) { // map que armazena o sequencial e o numero da // conta para no final atualizar todos os // sequencias mapAtualizaSequencial = new HashMap(); try { colecaoEmitirDocumentoCobranca = repositorioCobranca .pesquisarCobrancaDocumentoOrdemCortePorRota( idCronogramaAtividadeAcaoCobranca, idComandoAtividadeAcaoCobranca, dataAtualPesquisa, idAcaoCobranca, quantidadeCobrancaDocumentoInicio); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } if (colecaoEmitirDocumentoCobranca != null && !colecaoEmitirDocumentoCobranca.isEmpty()) { System.out.println("***************************************"); System.out.println("QUANTIDADE DE COBRAN�A:" + colecaoEmitirDocumentoCobranca.size()); System.out.println("***************************************"); String nomeCliente = null; Collection colecaoCobrancaDocumentoItem = null; if (colecaoEmitirDocumentoCobranca.size() < quantidadeCobrancaDocumento) { flagFimPesquisa = true; } else { quantidadeCobrancaDocumentoInicio = quantidadeCobrancaDocumentoInicio + 1000; } int metadeColecao = 0; if (colecaoEmitirDocumentoCobranca.size() % 2 == 0) { metadeColecao = colecaoEmitirDocumentoCobranca.size() / 2; } else { metadeColecao = (colecaoEmitirDocumentoCobranca.size() / 2) + 1; } System.out.println("***************************************"); System.out.println("INICIO DIVIDE A COLECAO:"); System.out.println("***************************************"); Map<Integer, Map<Object, Object>> mapCobrancaDocumentoOrdenada = dividirColecao(colecaoEmitirDocumentoCobranca); System.out.println("***************************************"); System.out.println("FIM DIVIDE A COLECAO:"); System.out.println("***************************************"); EmitirDocumentoCobrancaHelper emitirDocumentoCobrancaHelper = null; if (mapCobrancaDocumentoOrdenada != null) { int countOrdem = 0; while (countOrdem < mapCobrancaDocumentoOrdenada.size()) { Map<Object, Object> mapCobrancaoDocumentoDivididas = mapCobrancaDocumentoOrdenada .get(countOrdem); Iterator iteratorColecaoCobrancaDocumento = mapCobrancaoDocumentoDivididas .keySet().iterator(); while (iteratorColecaoCobrancaDocumento.hasNext()) { emitirDocumentoCobrancaHelper = null; int situacao = 0; emitirDocumentoCobrancaHelper = (EmitirDocumentoCobrancaHelper) iteratorColecaoCobrancaDocumento .next(); /* * Estes objetos auxiliar�o na formata��o da * inscri��o que ser� composta por informa��es do * documento de cobran�a e do im�vel a ele associado */ Imovel inscricao = null; SetorComercial setorComercialInscricao = null; Quadra quadraInscricao = null; Localidade localidade = null; sequencialImpressao++; while (situacao < 2) { if (situacao == 0) { situacao = 1; sequencialImpressao = atualizaSequencial( sequencialImpressao, situacao, metadeColecao); } else { emitirDocumentoCobrancaHelper = (EmitirDocumentoCobrancaHelper) mapCobrancaoDocumentoDivididas .get(emitirDocumentoCobrancaHelper); situacao = 2; sequencialImpressao = atualizaSequencial( sequencialImpressao, situacao, metadeColecao); } if (emitirDocumentoCobrancaHelper != null) { /* * Objeto que ser� utilizado para armazenar * as informa��es do documento de cobran�a * de acordo com o layout definido no caso * de uso */ try { nomeCliente = this.repositorioClienteImovel .pesquisarNomeClientePorImovel(emitirDocumentoCobrancaHelper .getIdImovel()); CobrancaDocumento cobrancaDocumento = new CobrancaDocumento(); cobrancaDocumento .setId(emitirDocumentoCobrancaHelper .getIdDocumentoCobranca()); colecaoCobrancaDocumentoItem = this.repositorioCobranca .selecionarCobrancaDocumentoItemReferenteConta(cobrancaDocumento); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException( "erro.sistema", ex); } if (colecaoCobrancaDocumentoItem != null && !colecaoCobrancaDocumentoItem .isEmpty()) { // In�cio do processo de gera��o do // arquivo txt // LINHA 01 // ================================== /* * Canal ("1") Fonte ("1") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(Util .completaString("", 35)); // Nome da Localidade cobrancaDocumentoTxt .append(Util .completaString( emitirDocumentoCobrancaHelper .getDescricaoLocalidade(), 30)); //Rota if (emitirDocumentoCobrancaHelper.getCodigoRota() != null){ cobrancaDocumentoTxt.append(Util .completaString("", 5)); cobrancaDocumentoTxt.append("Rota: "); cobrancaDocumentoTxt .append(Util.adicionarZerosEsquedaNumero(5, emitirDocumentoCobrancaHelper.getCodigoRota().toString())); if (emitirDocumentoCobrancaHelper.getNumeroSequencialRota() != null){ cobrancaDocumentoTxt.append("/"); cobrancaDocumentoTxt .append(Util.adicionarZerosEsquedaNumero(5, emitirDocumentoCobrancaHelper.getNumeroSequencialRota().toString())); cobrancaDocumentoTxt.append(Util .completaString("", 63)); } else{ cobrancaDocumentoTxt.append(Util .completaString("", 69)); } } else{ cobrancaDocumentoTxt.append(Util .completaString("", 85)); } cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 02 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Inscri��o quadraInscricao = new Quadra(); setorComercialInscricao = new SetorComercial(); localidade = new Localidade(); inscricao = new Imovel(); quadraInscricao .setNumeroQuadra(emitirDocumentoCobrancaHelper .getNumeroQuadra()); setorComercialInscricao .setCodigo(emitirDocumentoCobrancaHelper .getCodigoSetorComercial()); localidade .setId(emitirDocumentoCobrancaHelper .getIdLocalidade()); inscricao.setLocalidade(localidade); inscricao .setSetorComercial(setorComercialInscricao); inscricao.setQuadra(quadraInscricao); inscricao .setLote(emitirDocumentoCobrancaHelper .getLote()); inscricao .setSubLote(emitirDocumentoCobrancaHelper .getSubLote()); cobrancaDocumentoTxt .append(Util .completaString( inscricao .getInscricaoFormatada(), 20)); cobrancaDocumentoTxt.append(Util .completaString("", 14)); // Nome do Cliente cobrancaDocumentoTxt .append(Util.completaString( nomeCliente, 50)); cobrancaDocumentoTxt.append(Util .completaString("", 65)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 03 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 66)); // Matr�cula do im�vel String matriculaImovelFormatada = Util .retornaMatriculaImovelFormatada(emitirDocumentoCobrancaHelper .getIdImovel()); cobrancaDocumentoTxt .append(Util .completaString( matriculaImovelFormatada, 10)); cobrancaDocumentoTxt.append(Util .completaString("", 74)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 04 // ================================== String enderecoFormatado = getControladorEndereco() .pesquisarEnderecoFormatado( emitirDocumentoCobrancaHelper .getIdImovel()); /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Endere�o Formatado cobrancaDocumentoTxt.append(Util .completaString( enderecoFormatado, 61)); cobrancaDocumentoTxt.append(" "); // Data de Validade if (emitirDocumentoCobrancaHelper .getEmissao() != null) { if (emitirDocumentoCobrancaHelper .getNumeroDiasValidade() != null) { cobrancaDocumentoTxt .append(Util .formatarData(Util .adicionarNumeroDiasDeUmaData( emitirDocumentoCobrancaHelper .getEmissao(), emitirDocumentoCobrancaHelper .getNumeroDiasValidade() .intValue()))); } else { cobrancaDocumentoTxt .append(Util .formatarData(emitirDocumentoCobrancaHelper .getEmissao())); } } else { cobrancaDocumentoTxt.append(Util .completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 75)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 05 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 67)); //CRC2574 alterado por Vivianne Sousa 19/08/2009 - Francisco // Sequencial de impress�o cobrancaDocumentoTxt.append(Util.completaStringComEspacoAEsquerda( ""+ emitirDocumentoCobrancaHelper.getNumeroOS(),9)); //""+ emitirDocumentoCobrancaHelper.getNumeroSequenciaDocumento(),9)); cobrancaDocumentoTxt.append(Util .completaString("", 74)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 06 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); /* * Quantidades de economias por * categoria: 1� RESID�NCIAL 2� * COMERCIAL 3� INDUSTRIAL 4� P�BLICA */ Imovel imovel = new Imovel(); imovel .setId(emitirDocumentoCobrancaHelper .getIdImovel()); Collection colecaoCategorias = getControladorImovel() .obterQuantidadeEconomiasCategoria( imovel); String qtdResidencial = ""; String qtdComercial = ""; String qtdIndustrial = ""; String qtdPublico = ""; if (colecaoCategorias != null && !colecaoCategorias.isEmpty()) { Iterator iteratorColecaoCategorias = colecaoCategorias .iterator(); Categoria categoria = null; while (iteratorColecaoCategorias .hasNext()) { categoria = (Categoria) iteratorColecaoCategorias .next(); if (categoria.getId().equals( Categoria.RESIDENCIAL)) { qtdResidencial = "" + categoria .getQuantidadeEconomiasCategoria(); } else if (categoria .getId() .equals( Categoria.COMERCIAL)) { qtdComercial = "" + categoria .getQuantidadeEconomiasCategoria(); } else if (categoria .getId() .equals( Categoria.INDUSTRIAL)) { qtdIndustrial = "" + categoria .getQuantidadeEconomiasCategoria(); } else if (categoria .getId() .equals( Categoria.PUBLICO)) { qtdPublico = "" + categoria .getQuantidadeEconomiasCategoria(); } } } colecaoCategorias = null; // Resid�ncial if (!qtdResidencial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdResidencial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 3)); // Comercial if (!qtdComercial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdComercial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 3)); // Industrial if (!qtdIndustrial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdIndustrial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 6)); // P�blico if (!qtdPublico.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdPublico)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 4)); // Data de Emiss�o if (emitirDocumentoCobrancaHelper .getEmissao() != null) { cobrancaDocumentoTxt .append(Util .formatarData(emitirDocumentoCobrancaHelper .getEmissao())); } else { cobrancaDocumentoTxt.append(Util .completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 4)); // Perfil do Im�vel cobrancaDocumentoTxt .append(Util .completaString( emitirDocumentoCobrancaHelper .getDescricaoImovelPerfil(), 8)); cobrancaDocumentoTxt.append(Util .completaString("", 6)); String numeroHidrometro = getControladorAtendimentoPublico() .pesquisarNumeroHidrometroLigacaoAgua( emitirDocumentoCobrancaHelper .getIdImovel()); // N�mero Hidr�metro if (numeroHidrometro != null) { cobrancaDocumentoTxt.append(Util .completaString( numeroHidrometro, 10)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 7)); // Grupo de Cobran�a cobrancaDocumentoTxt .append(Util .completaString( "" + emitirDocumentoCobrancaHelper .getIdCobrancaGrupo(), 6)); // Sequencial de impress�o cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .retornaSequencialFormatado(sequencialImpressao), 9)); cobrancaDocumentoTxt.append(Util .completaString("", 61)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 07 // ================================== /* * Canal ("1") Fonte ("1") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("1"); /* * Selecionar os itens do documento de * cobran�a correspondentes a conta e * ordenar por ano/m�s de refer�ncia da * conta */ if (colecaoCobrancaDocumentoItem != null && !colecaoCobrancaDocumentoItem .isEmpty()) { Iterator iteratorColecaoCobrancaDocumentoItem = null; CobrancaDocumentoItem cobrancaDocumentoItem = null; int countImpressao = colecaoCobrancaDocumentoItem .size() - 13; cobrancaDocumentoTxt.append(Util .completaString("", 1)); /* * Caso a quantidade de itens * selecionados seja superior a 15 * [SB0001 - Calcular Valor e Data * de Vencimento Anterior] * * Caso contr�rio: Dados do primeiro * e segundo itens selecionados */ if (colecaoCobrancaDocumentoItem .size() > 15) { CalcularValorDataVencimentoAnteriorHelper calcularValorDataVencimentoAnteriorHelper = this .calcularValorDataVencimentoAnterior( colecaoCobrancaDocumentoItem, 15); // Constante "DEBTO.ATE" cobrancaDocumentoTxt .append("DEBTO.ATE"); cobrancaDocumentoTxt .append(Util .completaString( "", 3)); // Data de Vencimento anterior // retornado // pelo // [SB0001] cobrancaDocumentoTxt .append(Util .formatarData(calcularValorDataVencimentoAnteriorHelper .getDataVencimentoAnterior())); cobrancaDocumentoTxt .append(Util .completaString( "", 127)); } else { iteratorColecaoCobrancaDocumentoItem = colecaoCobrancaDocumentoItem .iterator(); cobrancaDocumentoItem = null; cobrancaDocumentoItem = (CobrancaDocumentoItem) iteratorColecaoCobrancaDocumentoItem .next(); // M�s/Ano de refer�ncia da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(cobrancaDocumentoItem .getContaGeral() .getConta() .getReferencia()), 7)); cobrancaDocumentoTxt .append("."); // D�gito verificador da conta cobrancaDocumentoTxt .append(cobrancaDocumentoItem .getContaGeral() .getConta() .getDigitoVerificadorConta()); cobrancaDocumentoTxt .append(Util .completaString( "", 3)); // Data de vencimento da conta cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumentoItem .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(Util .completaString( "", 127)); } cobrancaDocumentoTxt .append(System .getProperty("line.separator")); // LINHA 08 // ================================== /* * Canal ("") Fonte ("1") */ if (countImpressao <= 0) { iteratorColecaoCobrancaDocumentoItem = colecaoCobrancaDocumentoItem .iterator(); cobrancaDocumentoItem = null; int countRegistros = 0; while (iteratorColecaoCobrancaDocumentoItem .hasNext()) { cobrancaDocumentoItem = (CobrancaDocumentoItem) iteratorColecaoCobrancaDocumentoItem .next(); if (countRegistros > 0) { cobrancaDocumentoTxt .append(" "); cobrancaDocumentoTxt .append("1"); cobrancaDocumentoTxt .append(" "); // M�s/Ano de refer�ncia // da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(cobrancaDocumentoItem .getContaGeral() .getConta() .getReferencia()), 7)); cobrancaDocumentoTxt .append("."); // D�gito verificador da // conta cobrancaDocumentoTxt .append(cobrancaDocumentoItem .getContaGeral() .getConta() .getDigitoVerificadorConta()); cobrancaDocumentoTxt .append(Util .completaString( "", 3)); // Data de vencimento da // conta cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumentoItem .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(Util .completaString( "", 127)); cobrancaDocumentoTxt .append(System .getProperty("line.separator")); } countRegistros++; } } else { while (countImpressao < colecaoCobrancaDocumentoItem .size()) { cobrancaDocumentoItem = (CobrancaDocumentoItem) ((List) colecaoCobrancaDocumentoItem) .get(countImpressao); cobrancaDocumentoTxt .append(" "); cobrancaDocumentoTxt .append("1"); cobrancaDocumentoTxt .append(" "); // M�s/Ano de refer�ncia da // conta cobrancaDocumentoTxt .append(Util .completaString( Util .formatarAnoMesParaMesAno(cobrancaDocumentoItem .getContaGeral() .getConta() .getReferencia()), 7)); cobrancaDocumentoTxt .append("."); // D�gito verificador da // conta cobrancaDocumentoTxt .append(cobrancaDocumentoItem .getContaGeral() .getConta() .getDigitoVerificadorConta()); cobrancaDocumentoTxt .append(Util .completaString( "", 3)); // Data de vencimento da // conta cobrancaDocumentoTxt .append(Util .formatarData(cobrancaDocumentoItem .getContaGeral() .getConta() .getDataVencimentoConta())); cobrancaDocumentoTxt .append(Util .completaString( "", 127)); cobrancaDocumentoTxt .append(System .getProperty("line.separator")); countImpressao++; } } } // LINHA 09 // ================================== /* * Canal ("1") Fonte ("2") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 6)); // Valor total do documento de cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .formatarMoedaReal(emitirDocumentoCobrancaHelper .getValorDocumento()), 16)); cobrancaDocumentoTxt.append(Util .completaString("", 128)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 10 // ================================== /* * Canal ("1") Fonte ("4") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("4"); cobrancaDocumentoTxt.append(Util .completaString("", 1)); float valorDocumento = emitirDocumentoCobrancaHelper .getValorDocumento() .floatValue(); if (valorDocumento > 500) { cobrancaDocumentoTxt .append("PRIORIDADE - D�BITO ACIMA DE R$ 500,00"); } else { cobrancaDocumentoTxt.append(Util .completaString("", 38)); } cobrancaDocumentoTxt.append(Util .completaString("", 111)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 11 // ================================== /* * Canal ("-") Fonte ("2") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 12 // ================================== /* * Canal ("-") Fonte ("2") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 13 // ================================== /* * Canal ("-") Fonte ("2") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 150)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 14 // ================================== /* * Canal ("-") Fonte ("2") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(" "); // Grupo de Cobran�a cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( emitirDocumentoCobrancaHelper .getIdCobrancaGrupo() .toString(), 2)); cobrancaDocumentoTxt.append("-"); // Sigla e descri�ao da ger�ncia // regional cobrancaDocumentoTxt .append(Util .completaString( emitirDocumentoCobrancaHelper .getNomeAbreviadoGerencia(), 3)); cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt .append(Util .completaString( emitirDocumentoCobrancaHelper .getNomeGerencia(), 25)); cobrancaDocumentoTxt.append(Util .completaString("", 25)); // C�digo e descri��o da empresa if (emitirDocumentoCobrancaHelper .getIdEmpresa() != null) { cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( emitirDocumentoCobrancaHelper .getIdEmpresa() .toString(), 4)); cobrancaDocumentoTxt.append("- "); cobrancaDocumentoTxt .append(Util .completaString( emitirDocumentoCobrancaHelper .getDescricaoEmpresa(), 10)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 16)); } cobrancaDocumentoTxt.append(Util .completaString("", 76)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 15 // ================================== /* * Canal ("1") Fonte ("1") */ cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); cobrancaDocumentoTxt .append(Util .completaString( inscricao .getInscricaoFormatada(), 20)); cobrancaDocumentoTxt.append(Util .completaString("", 14)); // Nome do Cliente cobrancaDocumentoTxt .append(Util.completaString( nomeCliente, 50)); cobrancaDocumentoTxt.append(Util .completaString("", 65)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 16 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 66)); cobrancaDocumentoTxt .append(Util .completaString( matriculaImovelFormatada, 10)); cobrancaDocumentoTxt.append(Util .completaString("", 74)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 17 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Endere�o Formatado cobrancaDocumentoTxt.append(Util .completaString( enderecoFormatado, 62)); cobrancaDocumentoTxt.append(Util .completaString("", 87)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 18 // ================================== /* * Canal ("+") Fonte ("2") */ cobrancaDocumentoTxt.append("+"); cobrancaDocumentoTxt.append("2"); cobrancaDocumentoTxt.append(Util .completaString("", 67)); //CRC2574 alterado por Vivianne Sousa 19/08/2009 - Francisco // Sequencial do Documento de Cobran�a cobrancaDocumentoTxt.append(Util.completaStringComEspacoAEsquerda( ""+ emitirDocumentoCobrancaHelper.getNumeroOS(),9)); //""+ emitirDocumentoCobrancaHelper.getNumeroSequenciaDocumento(),9)); cobrancaDocumentoTxt.append(Util .completaString("", 74)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); // LINHA 19 // ================================== /* * Canal ("-") Fonte ("1") */ cobrancaDocumentoTxt.append("-"); cobrancaDocumentoTxt.append("1"); cobrancaDocumentoTxt.append(" "); // Resid�ncial if (!qtdResidencial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdResidencial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 3)); // Comercial if (!qtdComercial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdComercial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 3)); // Industrial if (!qtdIndustrial.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdIndustrial)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 5)); // P�blico if (!qtdPublico.equals("")) { cobrancaDocumentoTxt .append(Util .adicionarZerosEsquedaNumero( 3, qtdPublico)); } else { cobrancaDocumentoTxt.append(Util .completaString("", 3)); } cobrancaDocumentoTxt.append(Util .completaString("", 1)); // Data de Emiss�o if (emitirDocumentoCobrancaHelper .getEmissao() != null) { cobrancaDocumentoTxt .append(Util .formatarData(emitirDocumentoCobrancaHelper .getEmissao())); } else { cobrancaDocumentoTxt.append(Util .completaString("", 10)); } cobrancaDocumentoTxt.append(Util .completaString("", 4)); // Perfil do Im�vel cobrancaDocumentoTxt .append(Util .completaString( emitirDocumentoCobrancaHelper .getDescricaoImovelPerfil(), 8)); cobrancaDocumentoTxt.append(Util .completaString("", 10)); // C�digo da situa��o da liga��o de �gua cobrancaDocumentoTxt .append(Util .completaString( "" + emitirDocumentoCobrancaHelper .getIdLigacaoAguaSituacao(), 3)); // C�digo da situa��o da liga��o do // esgoto cobrancaDocumentoTxt .append(Util .completaString( "" + emitirDocumentoCobrancaHelper .getIdLigacaoEsgotoSituacao(), 3)); cobrancaDocumentoTxt.append(Util .completaString("", 3)); // Grupo de Cobran�a cobrancaDocumentoTxt .append(Util .completaString( "" + emitirDocumentoCobrancaHelper .getIdCobrancaGrupo(), 6)); cobrancaDocumentoTxt.append(Util .completaString("", 9)); // Sequencial de impress�o cobrancaDocumentoTxt .append(Util .completaStringComEspacoAEsquerda( Util .retornaSequencialFormatado(sequencialImpressao), 7)); cobrancaDocumentoTxt.append(Util .completaString("", 62)); cobrancaDocumentoTxt.append(System .getProperty("line.separator")); } // adiciona o id da // conta e o sequencial // no para serem // atualizados mapAtualizaSequencial.put( emitirDocumentoCobrancaHelper .getIdDocumentoCobranca(), sequencialImpressao); colecaoCobrancaDocumentoItem = null; } } } mapCobrancaoDocumentoDivididas = null; countOrdem++; } mapCobrancaDocumentoOrdenada = null; } } else { flagFimPesquisa = true; } try { repositorioCobranca .atualizarSequencialCobrancaDocumentoImpressao(mapAtualizaSequencial); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } mapAtualizaSequencial = null; colecaoEmitirDocumentoCobranca = null; } System.out.println("***************************************"); System.out.println("FIM DO CORTE ADMINISTRATIVO OU FISICO"); System.out.println("***************************************"); Date dataAtual = new Date(); String nomeZip = null; if (idAcaoCobranca.equals(CobrancaAcao.CORTE_ADMINISTRATIVO)) { if (idCronogramaAtividadeAcaoCobranca != null) { nomeZip = "ORDEM_CORTE_ADMINISTRATIVO_GRUPO_" + grupoCobranca.getId() + "_" + Util.formatarData(dataAtual); nomeZip = nomeZip.replace("/", "_"); } else { String descricaoAbrevDocumentoTipo = ""; if (acaoCobranca != null && acaoCobranca.getDocumentoTipo() != null) { descricaoAbrevDocumentoTipo = acaoCobranca .getDocumentoTipo().getDescricaoAbreviado(); } String tituloComandoEventual = cobrancaAcaoAtividadeComando .getDescricaoTitulo(); nomeZip = descricaoAbrevDocumentoTipo + " " + tituloComandoEventual + " " + Util.formatarData(dataAtual); nomeZip = nomeZip.replace("/", "_"); nomeZip = nomeZip.replace(" ", "_"); } } else { if (idAcaoCobranca.equals(CobrancaAcao.CORTE_FISICO)) { if (idCronogramaAtividadeAcaoCobranca != null) { nomeZip = "ORDEM_CORTE_FISICO_GRUPO_" + grupoCobranca.getId() + "_" + Util.formatarData(dataAtual); nomeZip = nomeZip.replace("/", "_"); } else { String descricaoAbrevDocumentoTipo = ""; if (acaoCobranca != null && acaoCobranca.getDocumentoTipo() != null) { descricaoAbrevDocumentoTipo = acaoCobranca .getDocumentoTipo().getDescricaoAbreviado(); } String tituloComandoEventual = cobrancaAcaoAtividadeComando .getDescricaoTitulo(); nomeZip = descricaoAbrevDocumentoTipo + " " + tituloComandoEventual + " " + Util.formatarData(dataAtual); nomeZip = nomeZip.replace("/", "_"); nomeZip = nomeZip.replace(" ", "_"); } } } try { System.out.println("***************************************"); System.out.println("INICIO CRIAR ARQUIVO"); System.out.println("***************************************"); if (cobrancaDocumentoTxt != null && cobrancaDocumentoTxt.length() != 0) { cobrancaDocumentoTxt.append("\u0004"); File leitura = new File(nomeZip + ".txt"); // criar o arquivo zip File compactado = new File(nomeZip + ".zip"); // nomeZip ZipOutputStream zos = new ZipOutputStream(new FileOutputStream( compactado)); BufferedWriter out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(leitura.getAbsolutePath()))); out.write(cobrancaDocumentoTxt.toString()); out.close(); ZipUtil.adicionarArquivo(zos, leitura); // close the stream zos.close(); leitura.delete(); } System.out.println("***************************************"); System.out.println("FIM CRIAR ARQUIVO"); System.out.println("***************************************"); } catch (IOException e) { e.printStackTrace(); throw new ControladorException("erro.sistema", e); } catch (Exception e) { e.printStackTrace(); throw new ControladorException("erro.sistema", e); } } /** * [UC0251] Gerar Atividade de A��o de Cobran�a * * @author Raphael Rossiter * @date 20/07/2009 * * @param helper * @throws ControladorException */ public void gerarAtividadeAcaoCobrancaEmissaoDocumento(EmissaoDocumentoCobrancaHelper helper) throws ControladorException{ //7.1 para as a��es aviso de corte if (helper.getAcaoCobranca().getId().equals(CobrancaAcao.AVISO_CORTE) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.AVISO_CORTE_A_REVELIA)|| helper.getAcaoCobranca().getId().equals(CobrancaAcao.VISITA_COBRANCA)) { // [UC0349 Emitir Documento fr Cobran�a - AvisoCorte] emitirDocumentoCobranca(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } // 7.2 para as a��es corte administrativo ou corte fisico if (helper.getAcaoCobranca().getId().equals(CobrancaAcao.CORTE_ADMINISTRATIVO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CORTE_FISICO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CORTE_ADMINISTRATIVO_LIGADO_A_REVELIA) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CORTE_FISICO_LIGADO_A_REVELIA) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CORTE_FISICO_PUBLICO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.RECORTE)) { // [UC0349 Emitir Documento fr Cobran�a - AvisoCorte] emitirDocumentoCobrancaOrdemCorte(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } // 7.3 para as a��es supress�o parcial ou supress�o total if (helper.getAcaoCobranca().getId().equals(CobrancaAcao.SUPRESSAO_PARCIAL) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.SUPRESSAO_TOTAL)) { // [UC0349 Emitir Documento fr Cobran�a - AvisoCorte] emitirDocumentoCobrancaOrdemSupressao(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } // 7.4 para as a��es fiscaliza��o suprimido ou fiscaliza��o // cortado if (helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_SUPRIMIDO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_CORTADO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_FACTIVEL) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_POTENCIAL) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_LIGADO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_TOTAL) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.FISCALIZACAO_LIGADO_A_REVELIA)) { // [UC0349 Emitir Documento fr Cobran�a - AvisoCorte] emitirDocumentoCobrancaOrdemFiscalizacao(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } //************************************************************** // Autor: Ivan Sergio // Data: 18/05/2009 // CRC1902 //************************************************************** if (helper.getAcaoCobranca().getId().equals(CobrancaAcao.INSPECAO_LIGACOES)) { // [UC0904] Gerar TXT Inspecao Ligacoes gerarTxtInspecaoLigacoes(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } //************************************************************** // 7.5 para as a��es carta ligado ou carta cortado if (helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_COBRANCA_SUPRIMIDO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_COBRANCA_CORTADO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_TARIFA_SOCIAL_LIGADO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_TARIFA_SOCIAL_CORTADO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_COBRANCA_LIGADO) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_COBRANCA_LIGADO_A_REVELIA) || helper.getAcaoCobranca().getId().equals(CobrancaAcao.CARTA_TARIFA_SOCIAL_LIGADO_A_REVELIA)) { // [UC0575] Emitir Aviso de Cobran�a emitirAvisoCobranca(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } // 7.4 para as a��es fiscaliza��o suprimido ou fiscaliza��o // cortado if (helper.getAcaoCobranca().getId().equals( CobrancaAcao.CARTA_COBRANCA_PARCELAMENTO)) { // [UC0576 Emitir Parcelamento em atraso] emitirParcelamentoEmAtraso(helper.getCobrancaAcaoAtividadeCronograma(), helper.getCobrancaAcaoAtividadeComando(), helper.getDataAtual(), helper.getAcaoCobranca(), helper.getGrupoCobranca(), helper.getCriterioCobranca()); } } }