package gcom.micromedicao; import gcom.atendimentopublico.ligacaoagua.LigacaoAgua; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.endereco.Logradouro; import gcom.cadastro.endereco.LogradouroBairro; import gcom.cadastro.geografico.Bairro; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.faturamento.FaturamentoGrupo; import gcom.faturamento.FaturamentoSituacaoTipo; import gcom.micromedicao.hidrometro.HidrometroInstalacaoHistorico; import gcom.micromedicao.leitura.LeituraTipo; import gcom.micromedicao.medicao.MedicaoTipo; import gcom.util.ControladorException; import gcom.util.ErroRepositorioException; import gcom.util.Util; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import javax.ejb.SessionBean; /** * Controlador Micromedicao CAERN * * @author S�vio Luiz * @date 19/03/2007 */ public class ControladorMicromedicaoCAERNSEJB extends ControladorMicromedicao implements SessionBean { private static final long serialVersionUID = 1L; // ============================================================================================================== // M�TODOS EXCLUSIVOS DA CAERN // ============================================================================================================== // valida anoMes para caso de uso anlise excecoes leituras public boolean validaDataFaturamentoIncompativel(String anoMesReferencia, String anoMesAtual) { boolean retorno = true; String anoMesReferenciaMaisUmMes = "" + Util.somarData(new Integer(anoMesReferencia)); String anoMesReferenciaMenosUmMes = "" + Util.subtrairMesDoAnoMes(new Integer(anoMesReferencia), 1); if (!((Util.compararAnoMesReferencia(new Integer(anoMesReferencia), new Integer(anoMesAtual), "=")) || (Util.compararAnoMesReferencia(new Integer( anoMesReferenciaMaisUmMes), new Integer(anoMesAtual), "=")) || (Util.compararAnoMesReferencia(new Integer( anoMesReferenciaMenosUmMes), new Integer(anoMesAtual), "=")))) { retorno = false; } return retorno; } // valida anoMes para caso de uso anlise excecoes leituras public boolean validaDataFaturamentoIncompativelInferior( String anoMesReferencia, String anoMesAnterior) { boolean retorno = true; String anoMesReferenciaMenosUmMes = "" + Util.subtrairMesDoAnoMes(new Integer(anoMesReferencia), 2); // Comparando a data anterior faturada no form com o ano // m�s // refer�ncia e com o ano m�s anterior if (!((Util.compararAnoMesReferencia(new Integer(anoMesReferencia), new Integer(anoMesAnterior), "=")) || (Util.compararAnoMesReferencia(new Integer( anoMesReferenciaMenosUmMes), new Integer(anoMesAnterior), "=")) || (Util .compararAnoMesReferencia(new Integer(anoMesReferencia), new Integer(Util.somaMesAnoMesReferencia(new Integer( anoMesAnterior), 1)), "=")))) { retorno = false; } return retorno; } /*public int obterConsumoMinimoLigacao(Imovel imovel, Collection colecaoCategorias) throws ControladorException { // Criamos um totalizador Integer tot = 0; // Selecionamos as subcategorias do imovel FiltroImovelSubCategoria filtroImovelSubCategoria = new FiltroImovelSubCategoria(); filtroImovelSubCategoria .adicionarCaminhoParaCarregamentoEntidade("comp_id.subcategoria.categoria"); filtroImovelSubCategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.IMOVEL_ID, imovel.getId())); Iterator iteSub = null; try { Collection colSub = repositorioUtil.pesquisar( filtroImovelSubCategoria, ImovelSubcategoria.class .getName()); filtroImovelSubCategoria = null; iteSub = colSub.iterator(); } catch (ErroRepositorioException e) { e.printStackTrace(); } while (iteSub.hasNext()) { ImovelSubcategoria sub = (ImovelSubcategoria) iteSub.next(); // Selecionamos o consumo tarifa da vigencia FiltroConsumoTarifaVigencia filtroConsumoTarifaVigencia = new FiltroConsumoTarifaVigencia(); filtroConsumoTarifaVigencia .adicionarParametro(new ParametroSimples( FiltroConsumoTarifaVigencia.CONSUMO_TARIFA_ID, imovel.getConsumoTarifa().getId(), ParametroSimples.CONECTOR_AND)); filtroConsumoTarifaVigencia.adicionarParametro(new MenorQue( FiltroConsumoTarifaVigencia.DATA_VIGENCIA, new Date(), ParametroSimples.CONECTOR_OR, 2)); filtroConsumoTarifaVigencia .adicionarParametro(new ParametroSimples( FiltroConsumoTarifaVigencia.DATA_VIGENCIA, new Date())); ConsumoTarifaVigencia consumoTarifaVigenciaPrincipal = null; try { Iterator iteConsumoTarifaVigencia = repositorioUtil.pesquisar( filtroConsumoTarifaVigencia, ConsumoTarifaVigencia.class.getName()).iterator(); while (iteConsumoTarifaVigencia.hasNext()) { ConsumoTarifaVigencia consumoTarifaVigencia = (ConsumoTarifaVigencia) iteConsumoTarifaVigencia .next(); if (consumoTarifaVigenciaPrincipal == null || (consumoTarifaVigenciaPrincipal .getDataVigencia() .before(consumoTarifaVigencia .getDataVigencia()))) { consumoTarifaVigenciaPrincipal = consumoTarifaVigencia; } } } catch (ErroRepositorioException e) { e.printStackTrace(); } // Selecionamos o consumo tarifa da categoria FiltroConsumoTarifaCategoria filtroConsumoTarifaCategoria = new FiltroConsumoTarifaCategoria(); filtroConsumoTarifaCategoria .adicionarParametro(new ParametroSimples( FiltroConsumoTarifaCategoria.SUBCATEGORIA_ID, sub .getComp_id().getSubcategoria().getId())); filtroConsumoTarifaCategoria .adicionarParametro(new ParametroSimples( FiltroConsumoTarifaCategoria.CONSUMO_VIGENCIA_ID, consumoTarifaVigenciaPrincipal.getId())); try { Collection colConsumoTarifaCategoria = repositorioUtil .pesquisar(filtroConsumoTarifaCategoria, ConsumoTarifaCategoria.class.getName()); Iterator iteConsumoTarifaCategoria = colConsumoTarifaCategoria .iterator(); // Verificamos se existe tarifa minima para a subcategoria // informada if (iteConsumoTarifaCategoria != null && iteConsumoTarifaCategoria.hasNext()) { ConsumoTarifaCategoria consumo = (ConsumoTarifaCategoria) iteConsumoTarifaCategoria .next(); tot += consumo.getNumeroConsumoMinimo() * sub.getQuantidadeEconomias(); } else { // Selecionamos o consumo tarifa da categoria filtroConsumoTarifaCategoria = new FiltroConsumoTarifaCategoria(); filtroConsumoTarifaCategoria .adicionarParametro(new ParametroSimples( FiltroConsumoTarifaCategoria.CATEGORIA_ID, sub.getComp_id().getSubcategoria().getCategoria().getId())); filtroConsumoTarifaCategoria .adicionarParametro(new ParametroSimples( FiltroConsumoTarifaCategoria.CONSUMO_VIGENCIA_ID, consumoTarifaVigenciaPrincipal.getId())); colConsumoTarifaCategoria = repositorioUtil.pesquisar( filtroConsumoTarifaCategoria, ConsumoTarifaCategoria.class.getName()); if (colConsumoTarifaCategoria != null && !colConsumoTarifaCategoria.isEmpty()) { iteConsumoTarifaCategoria = colConsumoTarifaCategoria .iterator(); ConsumoTarifaCategoria consumo = (ConsumoTarifaCategoria) iteConsumoTarifaCategoria .next(); tot += consumo.getNumeroConsumoMinimo() * sub.getQuantidadeEconomias(); } } } catch (ErroRepositorioException e) { e.printStackTrace(); } } return tot; }*/ /** * [UC0105] Obter Consumo M�nimo da Liga��o por Subcategoria * * @author Raphael Rossiter * @date 11/04/2007 * * @return imovel, colecaoSubcategoria * @throws ControladorException */ /*public int obterConsumoMinimoLigacao(Imovel imovel, Collection colecaoSubcategoria) throws ControladorException { int consumoMinimoLigacao = 0; Collection colecaoDataVigencia = null; Integer consumoMinimo = null; // Obt�m o id do consumo tarifa vig�ncia da maior data de vig�ncia da // tarifa do im�vel try { colecaoDataVigencia = repositorioMicromedicao .pesquisarMaiorDataVigenciaConsumoTarifaImovel(new Date(), imovel); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); new ControladorException("erro.sistema", ex); } // Obt�m o id do array e atribui na vari�vel Object[] consumoTarifaVigenciaIdArray = (Object[]) Util .retonarObjetoDeColecaoArray(colecaoDataVigencia); Integer consumoTarifaVigenciaId = null; if (consumoTarifaVigenciaIdArray == null) { throw new ControladorException( "erro.nao_cadastrada_consumo_tarifa_vigencia", null, String .valueOf(imovel.getId())); } if (consumoTarifaVigenciaIdArray[0] != null) { consumoTarifaVigenciaId = (Integer) consumoTarifaVigenciaIdArray[0]; } // Cria o objeto consumo tarifa vig�ncia e seta o id ConsumoTarifaVigencia consumoTarifaVigencia = new ConsumoTarifaVigencia(); consumoTarifaVigencia.setId(consumoTarifaVigenciaId); // Obter Quantidade de Economias por Subcategoria if (colecaoSubcategoria == null) { colecaoSubcategoria = getControladorImovel() .obterQuantidadeEconomiasSubCategoria(imovel.getId()); } Iterator colecaoSubcategoriaIterator = colecaoSubcategoria.iterator(); while (colecaoSubcategoriaIterator.hasNext()) { Subcategoria subcategoria = (Subcategoria) colecaoSubcategoriaIterator .next(); try { // Obt�m o consumo m�nimo da tarifa da categoria do im�vel Object consumoMinimoObjeto = repositorioMicromedicao .pesquisarConsumoMinimoTarifaSubcategoriaVigencia( subcategoria, consumoTarifaVigencia); consumoMinimo = (Integer) consumoMinimoObjeto; } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); new ControladorException("erro.sistema", ex); }*/ /* * Caso n�o exista tarifa cadastrada para a subcategoria em questao, * utilizar a tarifa da categoria */ /*if (consumoMinimo == null) { Categoria categoria = subcategoria.getCategoria(); categoria.setQuantidadeEconomiasCategoria(subcategoria .getQuantidadeEconomias()); Collection colecaoCategoria = new ArrayList(); colecaoCategoria.add(categoria); consumoMinimo = super.obterConsumoMinimoLigacao(imovel, colecaoCategoria); consumoMinimoLigacao = consumoMinimoLigacao + consumoMinimo; } else{ // Multiplica a quantidade de economias da subcategoria pelo consumo // m�nimo e acumula consumoMinimoLigacao = consumoMinimoLigacao + (subcategoria.getQuantidadeEconomias().intValue() * consumoMinimo .intValue()); } } // Retorna o consumo m�nimo da liga��o return consumoMinimoLigacao; }*/ //Colocado por Fl�vio Cordeiro - 07/03/2008 - pedido por Claudio Lira //Modifica��o nos gerarDadosLeituraConvencionalRegistroUM, gerarDadosLeituraConvencionalRegistroDOIS //Caern /** * [UC00083] Gerar Dados para Leitura * * [SB0002] Gerar Rela��o(ROL) em TXT - Registro 1 * * @author Rafael Francisco Pinto, Raphael Rossiter * @date 22/01/2007, 28/03/2007 * * @param imovel, * anoMesFaturamento * @throws ControladorException */ /*protected StringBuilder gerarDadosLeituraConvencionalRegistroUM( Imovel imovel, int anoMesFaturamento) throws ControladorException { StringBuilder arquivoTxtLinha = new StringBuilder(); // 1.2.1 - Tipo de Registro 1 (UM) arquivoTxtLinha.append("1"); // 1.2.1.1 - Nome String nomeClienteUsuario = null; try { // Pesquisa o nome do cliente que tem o tipo de rela��o usu�rio. nomeClienteUsuario = repositorioClienteImovel .pesquisarNomeClientePorImovel(imovel.getId()); } catch (ErroRepositorioException e) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", e); } arquivoTxtLinha.append(completaString(nomeClienteUsuario, 40)); // 1.2.1.2 - Situa��o (RETIRAR - DEIXAR ESPA�OS - COM TAMANHO = 06) arquivoTxtLinha.append(completaString("", 6)); // 1.2.1.3 Collection colecaoSubCategoria = this.getControladorImovel() .obterQuantidadeEconomiasSubCategoria(imovel.getId()); // 1.2.1.3.1 - SubCategoria 01 // 1.2.1.3.2 - Quantidade 01 // 1.2.1.3.3 - SubCategoria 02 // 1.2.1.3.4 - Quantidade 02 if (colecaoSubCategoria != null && !colecaoSubCategoria.isEmpty()) { Iterator itera = colecaoSubCategoria.iterator(); int tam = 0; while (itera.hasNext()) { tam++; if (tam < 3) { Subcategoria subcategoria = (Subcategoria) itera.next(); // tipoEconomia = categoria_id(1 posi��o) + // subcategoria_codigo(3 posi��es) //Retirado por Fl�vio Cordeiro - 05/05/2008 - pedido por Claudio Lira //Alterar a gera��o do txt do rol de leitura tirando a informa��o do c�digo da categoria //do arquivo txt, considerando que a 1� posi��o do c�digo da subcategoria corresponde //ao c�digo da categoria. arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(1, subcategoria.getCategoria().getId() + "")); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(2, subcategoria.getCodigo() + "")); // qtdeEconomia arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(3, "" + subcategoria.getQuantidadeEconomias())); } else { break; } } if (tam < 2) { arquivoTxtLinha.append(completaString("", 6)); } } else { arquivoTxtLinha.append(completaString("", 12)); } // 1.2.1.4 - Consumo Integer numeroConsumoFaturadoMes = null; try { // 1.2.1.4.1 - Consumo 01 int anoMesSubtraido = Util .subtrairMesDoAnoMes(anoMesFaturamento, 1); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovel.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for diferente de nulo if (numeroConsumoFaturadoMes != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + numeroConsumoFaturadoMes)); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.1.4.2 - Consumo 02 anoMesSubtraido = Util.subtrairMesDoAnoMes(anoMesFaturamento, 2); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovel.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for diferente de nulo if (numeroConsumoFaturadoMes != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + numeroConsumoFaturadoMes)); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.1.4.3 - Consumo 03 anoMesSubtraido = Util.subtrairMesDoAnoMes(anoMesFaturamento, 3); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovel.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for diferente de nulo if (numeroConsumoFaturadoMes != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + numeroConsumoFaturadoMes)); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } // 1.2.1.5 - Condi��o String condicao = null; try { condicao = this.repositorioMicromedicao.obterDescricaoConsumoTipo( imovel.getId(), LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (condicao != null) { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda("" + condicao, 8)); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 8)); } //Retirado por Fl�vio Cordeiro - 06/03/2008 - pedido por Claudio Lira // 1.2.1.6 - N�mero do Lacre // if (imovel.getLigacaoAgua().getNumeroLacre() != null) { // arquivoTxtLinha.append(completaString(imovel.getLigacaoAgua() // .getNumeroLacre(), 6)); // } else { // arquivoTxtLinha.append(completaString("", 6)); // } // 1.2.1.7 - Matr�cula do Im�vel arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda(imovel .getId().toString(), 9)); arquivoTxtLinha.append(System.getProperty("line.separator")); return arquivoTxtLinha; }*/ /** * [UC00083] Gerar Dados para Leitura * * [SB0002] Gerar Rela��o(ROL) em TXT - Registro 2 * * @author Rafael Francisco Pinto, Raphael Rossiter * @date 22/01/2007, 28/03/2007 * * @param imovel, * anoMesCorrente, sistemaParametro * @throws ControladorException */ /*protected StringBuilder gerarDadosLeituraConvencionalRegistroDOIS( Imovel imovel, Integer anoMesCorrente, SistemaParametro sistemaParametro) throws ControladorException { StringBuilder arquivoTxtLinha = new StringBuilder(); boolean ligacaoAgua = false; boolean ligacaoPoco = false; if (imovel.getLigacaoAgua() != null && imovel.getLigacaoAgua().getId() != null && imovel.getLigacaoAgua().getHidrometroInstalacaoHistorico() != null && imovel.getLigacaoAgua().getHidrometroInstalacaoHistorico() .getId() != null) { ligacaoAgua = true; } if (imovel.getHidrometroInstalacaoHistorico() != null && imovel.getHidrometroInstalacaoHistorico().getId() != null) { ligacaoPoco = true; } // Dados do Hidrometro Short numeroDigitosHidrometro = null; StringBuilder dadosHidrometro = null; if (ligacaoAgua && ligacaoPoco) { Object[] dadosHidroemtroNumeroLeitura = pesquisarDadosHidrometroTipoLigacaoAgua(imovel); dadosHidrometro = (StringBuilder) dadosHidroemtroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidroemtroNumeroLeitura[1]; } else { if (ligacaoAgua) { Object[] dadosHidroemtroNumeroLeitura = pesquisarDadosHidrometroTipoLigacaoAgua(imovel); dadosHidrometro = (StringBuilder) dadosHidroemtroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidroemtroNumeroLeitura[1]; } else { if (ligacaoPoco) { Object[] dadosHidroemtroNumeroLeitura = pesquisarDadosHidrometroTipoPoco(imovel); dadosHidrometro = (StringBuilder) dadosHidroemtroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidroemtroNumeroLeitura[1]; } else { Object[] dadosHidroemtroNumeroLeitura = pesquisarDadosHidrometroTipoPoco(imovel); dadosHidrometro = (StringBuilder) dadosHidroemtroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidroemtroNumeroLeitura[1]; } } } // 1.2.2 - Tipo de Registro 2 (DOIS) arquivoTxtLinha.append("2"); // 1.2.2.1 - Endere�o // Pesquisa o endere�o do imovel passando o id String enderecoImovel = getControladorEndereco() .pesquisarEnderecoFormatado(imovel.getId()); if (enderecoImovel != null && !enderecoImovel.equals("")) { // endere�o do im�vel arquivoTxtLinha.append(completaString(enderecoImovel, 60)); } else { arquivoTxtLinha.append(completaString("", 60)); } // 1.2.2.3 - Inscri��o do Imovel // 1.2.2.3.1 - Quadra // 1.2.2.3.2 - Lote // 1.2.2.3.3 - SubLote arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(3, "" + imovel.getQuadra().getNumeroQuadra())); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + imovel.getLote())); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(3, "" + imovel.getSubLote())); // 1.2.2.4 - Sequencial da Rota arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + imovel.getNumeroSequencialRota())); // 1.2.2.5 - Leitura Atual (Leitura anterior) * Integer anoMesAnterior = Util.subtrairData(anoMesCorrente); * * String leituraAnterior = null; Integer idMedicaoTipo = null; * * MedicaoHistorico medicaoHistorico = null; * * Object[] retorno = pesquisaLeituraAnterior(ligacaoAgua, ligacaoPoco, * anoMesAnterior, imovel); // verifica se a leitura anterior � * diferente de nula if (retorno[0] != null) { leituraAnterior = * retorno[0].toString(); } // verifica se a leitura situa��o atual � * diferente de // nula if (retorno[1] != null) { medicaoHistorico = * (MedicaoHistorico) retorno[1]; } // verifica se o id da medi��o tipo * � diferente de nula if (retorno[2] != null) { idMedicaoTipo = * (Integer) retorno[2]; } * * if (leituraAnterior != null) { * arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(6, "" + * leituraAnterior)); } else { * arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(6, "")); } // 1.2.2.6 - Leitura Esperada // 1.2.2.7 // 1.2.2.8 * Object[] faixaInicialFinal = pesquisarFaixaEsperadaOuFalsa(imovel, * dadosHidrometro, leituraAnterior, medicaoHistorico, idMedicaoTipo, * sistemaParametro, false, numeroDigitosHidrometro); * * StringBuilder faixaInicialFinalString = (StringBuilder) * faixaInicialFinal[0]; * * arquivoTxtLinha.append(faixaInicialFinalString); * Colocado por Raphael Rossiter em 30/03/2007 (Analista: Rosana) Obter * a leitura atual e a leitura esperada da mesma forma que � feito para * o sistema legado. * * 1.2.2.5 Leitura atual * * 1.2.2.6 Leitura esperada Integer anoMesAnterior = Util.subtrairData(anoMesCorrente); String leituraAnterior = null; Integer idMedicaoTipo = null; MedicaoHistorico medicaoHistorico = null; Object[] retorno = pesquisaLeituraAnterior(ligacaoAgua, ligacaoPoco, anoMesAnterior, imovel); // verifica se a leitura anterior � diferente de nula if (retorno[0] != null) { leituraAnterior = retorno[0].toString(); } // verifica se a leitura situa��o atual � diferente de // nula if (retorno[1] != null) { medicaoHistorico = (MedicaoHistorico) retorno[1]; } // verifica se o id da medi��o tipo � diferente de nula if (retorno[2] != null) { idMedicaoTipo = (Integer) retorno[2]; } Object[] faixaInicialFinal = pesquisarFaixaEsperadaOuFalsa(imovel, dadosHidrometro, leituraAnterior, medicaoHistorico, idMedicaoTipo, sistemaParametro, false, numeroDigitosHidrometro); StringBuilder faixaInicialFinalString = (StringBuilder) faixaInicialFinal[0]; arquivoTxtLinha.append(faixaInicialFinalString); Integer numeroConsumoFaturadoMes = null; try { // 1.2.2.9 - Consumo 04 int anoMesSubtraido = Util.subtrairMesDoAnoMes(anoMesCorrente, 4); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovel.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for diferente de nulo if (numeroConsumoFaturadoMes != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + numeroConsumoFaturadoMes)); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.2.10 - Consumo 05 anoMesSubtraido = Util.subtrairMesDoAnoMes(anoMesCorrente, 5); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovel.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for diferente de nulo if (numeroConsumoFaturadoMes != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + numeroConsumoFaturadoMes)); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.2.11 - Consumo 06 anoMesSubtraido = Util.subtrairMesDoAnoMes(anoMesCorrente, 6); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovel.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for diferente de nulo if (numeroConsumoFaturadoMes != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + numeroConsumoFaturadoMes)); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } // 1.2.2.12 - Consumo M�dio Integer numeroConsumoMedio = null; try { numeroConsumoMedio = this.repositorioMicromedicao .pesquisarNumeroConsumoMedioImovel(imovel.getId(), anoMesCorrente, LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (numeroConsumoMedio != null) { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda("" + numeroConsumoMedio, 4)); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 4)); } //feito por Fl�vio Cordeiro - 07/03/2008 pedido por Claudio Lira // 1.2.2.2 - Hidr�metro if (ligacaoPoco && !ligacaoAgua) { String numeroHidrometroFinal = imovel .getHidrometroInstalacaoHistorico().getHidrometro() .getNumero().trim(); if (numeroHidrometroFinal.length() > 10) { numeroHidrometroFinal = numeroHidrometroFinal.substring( numeroHidrometroFinal.length() - 10, numeroHidrometroFinal.length()); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(10, numeroHidrometroFinal)); } else { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(10, numeroHidrometroFinal)); } } else { String numeroHidrometroFinal = imovel.getLigacaoAgua() .getHidrometroInstalacaoHistorico().getHidrometro() .getNumero().trim(); if (numeroHidrometroFinal.length() > 10) { numeroHidrometroFinal = numeroHidrometroFinal.substring( numeroHidrometroFinal.length() - 10, numeroHidrometroFinal.length()); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(10, numeroHidrometroFinal)); } else { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(10, numeroHidrometroFinal)); } } arquivoTxtLinha.append(System.getProperty("line.separator")); return arquivoTxtLinha; } <<<<<<< ControladorMicromedicaoCAERNSEJB.java */ // ----------------------novosss----------------------------------- /** * [UC00083] Gerar Dados para Leitura * * [SB0002] Gerar Rela��o(ROL) em TXT - Registro 1 * * @author Romulo Aurelio * @date 15/07/2008 * * @param movimentoRoteiroEmpresa, * anoMesFaturamento * @throws ControladorException */ protected StringBuilder gerarDadosLeituraConvencionalRegistroUM( MovimentoRoteiroEmpresa movimentoRoteiroEmpresa, int anoMesFaturamento) throws ControladorException { StringBuilder arquivoTxtLinha = new StringBuilder(); // 1.2.1 - Tipo de Registro 1 (UM) arquivoTxtLinha.append("1"); // 1.2.1.1 - Nome arquivoTxtLinha.append(completaString(movimentoRoteiroEmpresa .getNomeCliente(), 40)); // 1.2.1.2 - Situa��o (RETIRAR - DEIXAR ESPA�OS - COM TAMANHO = 06) arquivoTxtLinha.append(completaString("", 6)); // 1.2.1.3 // Categoria if (movimentoRoteiroEmpresa.getCategoriaPrincipal() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(1, movimentoRoteiroEmpresa.getCategoriaPrincipal().getId() + "")); } else { arquivoTxtLinha.append(Util.completaString("", 1)); } // Subcategoria1 if (movimentoRoteiroEmpresa.getCodigoSubcategoria1() != null && movimentoRoteiroEmpresa.getCodigoSubcategoria1() != 0) { arquivoTxtLinha.append(movimentoRoteiroEmpresa.getCodigoSubcategoria1().toString().substring(1,3)); }else if(movimentoRoteiroEmpresa.getCodigoSubcategoria1() == 0){ arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(2,"0")); }else { arquivoTxtLinha.append(Util.completaString("", 2)); } // qtdeEconomia2 if (movimentoRoteiroEmpresa.getQuantidadeEconomias() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(3, movimentoRoteiroEmpresa.getQuantidadeEconomias() + "")); } else { arquivoTxtLinha.append(Util.completaString("", 3)); } // Categoria2 if (movimentoRoteiroEmpresa.getCategoria2() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(1, movimentoRoteiroEmpresa.getCategoria2().getId() + "")); } else { arquivoTxtLinha.append(Util.completaString("", 1)); } // Subcategoria2 if (movimentoRoteiroEmpresa.getCodigoSubcategoria2() != null) { arquivoTxtLinha.append(movimentoRoteiroEmpresa.getCodigoSubcategoria2().toString().substring(1,3)); } else { arquivoTxtLinha.append(Util.completaString("", 2)); } // qtdeEconomia2 if (movimentoRoteiroEmpresa.getQuantidadeEconomias2() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(3, movimentoRoteiroEmpresa.getQuantidadeEconomias2() + "")); } else { arquivoTxtLinha.append(Util.completaString("", 3)); } // NumeroConsumoFaturadoMenos1Mes if (movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos1Mes() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa .getNumeroConsumoFaturadoMenos1Mes())); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 4)); } // NumeroConsumoFaturadoMenos2Mes if (movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos2Meses() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa .getNumeroConsumoFaturadoMenos2Meses())); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 4)); } // NumeroConsumoFaturadoMenos3Mes if (movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos3Meses() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa .getNumeroConsumoFaturadoMenos3Meses())); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 4)); } // 1.2.1.5 - Condi��o if (movimentoRoteiroEmpresa.getDescricaoConsumoTipo() != null) { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerdaTruncandoAoTamanhoMaximoInformado("" + movimentoRoteiroEmpresa.getDescricaoConsumoTipo(), 8)); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 8)); } // Retirado por Fl�vio Cordeiro - 06/03/2008 - pedido por Claudio Lira // 1.2.1.6 - N�mero do Lacre // if (imovel.getLigacaoAgua().getNumeroLacre() != null) { // arquivoTxtLinha.append(completaString(imovel.getLigacaoAgua() // .getNumeroLacre(), 6)); // } else { // arquivoTxtLinha.append(completaString("", 6)); // } // 1.2.1.7 - Matr�cula do Im�vel /* * arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda(imovel * .getId().toString(), 9)); */ // 1.2.1.7 - Matr�cula do Im�vel arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( movimentoRoteiroEmpresa.getImovel().getId().toString(), 9)); arquivoTxtLinha.append(System.getProperty("line.separator")); return arquivoTxtLinha; } /** * [UC00083] Gerar Dados para Leitura * * [SB0002] Gerar Rela��o(ROL) em TXT - Registro 2 * * @author Rafael Francisco Pinto, Raphael Rossiter * @date 22/01/2007, 28/03/2007 * * @param imovel, * anoMesCorrente, sistemaParametro * @throws ControladorException */ protected StringBuilder gerarDadosLeituraConvencionalRegistroDOIS( MovimentoRoteiroEmpresa movimentoRoteiroEmpresa, Integer anoMesCorrente, SistemaParametro sistemaParametro) throws ControladorException { StringBuilder arquivoTxtLinha = new StringBuilder(); // Dados do Hidrometro StringBuilder dadosHidrometro = new StringBuilder(); String dataInstalacaohidrometro = Util .formatarDataAAAAMMDD(movimentoRoteiroEmpresa .getDataInstalacaoHidrometro()); dadosHidrometro.append(Util.adicionarZerosEsquedaNumeroTruncando(1, "" + movimentoRoteiroEmpresa.getHidrometroMarca().getCodigoHidrometroMarca() .toString()) + completaString("" + movimentoRoteiroEmpresa.getNumeroHidrometro(), 10) + Util.adicionarZerosEsquedaNumeroTruncando(1, movimentoRoteiroEmpresa.getHidrometroCapacidade() .getId().toString()) + Util.adicionarZerosEsquedaNumeroTruncando(1, movimentoRoteiroEmpresa.getHidrometroLocalInstalacao() .getId().toString()) + dataInstalacaohidrometro + Util.adicionarZerosEsquedaNumeroTruncando(1, movimentoRoteiroEmpresa.getHidrometroProtecao().getId() .toString())); // 1.2.2 - Tipo de Registro 2 (DOIS) arquivoTxtLinha.append("2"); // 1.2.2.1 - Endere�o if (movimentoRoteiroEmpresa.getEnderecoImovel() != null && !movimentoRoteiroEmpresa.getEnderecoImovel().equals("")) { // endere�o do im�vel arquivoTxtLinha.append(completaString(movimentoRoteiroEmpresa.getEnderecoImovel(), 60)); } else { arquivoTxtLinha.append(completaString("", 60)); } // 1.2.2.3 - Inscri��o do Imovel // 1.2.2.3.1 - Quadra // 1.2.2.3.2 - Lote // 1.2.2.3.3 - SubLote arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(3, "" + movimentoRoteiroEmpresa.getNumeroQuadra())); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa.getNumeroLoteImovel())); arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(3, "" + movimentoRoteiroEmpresa.getNumeroSubloteImovel())); // 1.2.2.4 - Sequencial da Rota arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa.getNumeroSequencialRota())); if(movimentoRoteiroEmpresa. getNumeroFaixaLeituraEsperadaInicial()!=null){ arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(6,""+movimentoRoteiroEmpresa. getNumeroFaixaLeituraEsperadaInicial())); }else{ arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(6,"")); } if(movimentoRoteiroEmpresa. getNumeroFaixaLeituraEsperadaFinal()!=null){ arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(6,""+movimentoRoteiroEmpresa. getNumeroFaixaLeituraEsperadaFinal())); }else{ arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(6,"")); } // 1.2.2.9 - Consumo 04 if (movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos4Meses() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos4Meses())); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.2.10 - Consumo 05 if (movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos5Meses() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos5Meses())); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.2.10 - Consumo 06 if (movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos6Meses() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumero(4, "" + movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos6Meses())); } else { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda( "", 4)); } // 1.2.2.12 - Consumo M�dio if (movimentoRoteiroEmpresa.getNumeroConsumoMedio() != null) { arquivoTxtLinha.append(Util.completaStringComEspacoAEsquerda("" + movimentoRoteiroEmpresa.getNumeroConsumoMedio(), 4)); } else { arquivoTxtLinha .append(Util.completaStringComEspacoAEsquerda("", 4)); } if (movimentoRoteiroEmpresa.getNumeroHidrometro() != null) { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(10, movimentoRoteiroEmpresa.getNumeroHidrometro())); } else { arquivoTxtLinha.append(Util.adicionarZerosEsquedaNumeroTruncando(10, "")); } arquivoTxtLinha.append(System.getProperty("line.separator")); return arquivoTxtLinha; } /** * Author: R�mulo Aur�lio [UC0083] - Gerar Dados para Leitura * * @param objetosImoveis * @return */ public Collection verificarImoveisParaSerGerados(Collection objetosImoveis) { // Instancia uma cole��o que ser� usada para gerar o arquivo // txt. Collection<Imovel> imoveisParaSerGerados = new ArrayList(); Iterator imovelIterator = objetosImoveis.iterator(); while (imovelIterator.hasNext()) { // Recupera o imovel da cole��o Imovel imovel = (Imovel) imovelIterator.next(); // variavel respons�vel para entrar em uma das 4 condic�es // abaixo /* * if (sistemaParametro.getNomeAbreviadoEmpresa().toUpperCase() * .equals("COMPESA")) { */ boolean achouImovel = false; /** * [SF0002] - Verificar situa��o especial de faturamento Autor: * S�vio Luiz Data: 21/12/2005 */ // caso no imovel o faturamento situa��o grupo seja // diferente de // nulo e igual a leitura // n�o realizada ent�o n�o seleciona o imovel caso contrario // seleciona. if (imovel.getFaturamentoSituacaoTipo() == null || !imovel .getFaturamentoSituacaoTipo() .equals( FaturamentoSituacaoTipo.INDICADOR_PARALIZACAO_LEITURA_NAO_REALIZADA)) { if (!achouImovel) { // Verifica se a situa��o da liga��o agua � // diferente de // nulo // Se for verifica se est� ligado ou cortado /*if (imovel.getLigacaoAguaSituacao() != null && imovel.getLigacaoAguaSituacao() .getIndicadorFaturamentoSituacao() != null && (imovel.getLigacaoAguaSituacao() .getIndicadorFaturamentoSituacao() .equals(LigacaoAguaSituacao.FATURAMENTO_ATIVO))) {*/ // Se for ligado ou cortado ent�o // Verifica se a liga��o agua � diferente de // nulo // se for verifica se o id da liga��o agua � // igual // ao id // do // imovel e // se o id do hist�rico da instala��o do // hidrometro // � // diferente de // null if (imovel.getLigacaoAgua() != null && imovel.getLigacaoAgua().getId() != null && (imovel.getLigacaoAgua().getId().equals( imovel.getId()) && imovel .getLigacaoAgua() .getHidrometroInstalacaoHistorico() != null && imovel .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getId() != null)) { imoveisParaSerGerados.add(imovel); achouImovel = true; } //} } if (!achouImovel) { // Verifica se a situa��o da liga��o esgoto � // diferente // de nulo // Se for verifica se est� ligado if (imovel.getLigacaoEsgotoSituacao() != null && imovel.getLigacaoEsgotoSituacao() .getIndicadorFaturamentoSituacao() != null && (imovel.getLigacaoEsgotoSituacao() .getIndicadorFaturamentoSituacao() .equals(LigacaoEsgotoSituacao.FATURAMENTO_ATIVO))) { // Verifica se o id do hidrometro historico � // diferente de // nulo na tabela imovel if (imovel.getHidrometroInstalacaoHistorico() != null && imovel.getHidrometroInstalacaoHistorico() .getId() != null) { imoveisParaSerGerados.add(imovel); achouImovel = true; } } } if (!achouImovel) { // Verifica se a situa��o da liga��o agua � // diferente de // nulo // Se for verifica se est� suprimido if (imovel.getLigacaoAguaSituacao() != null && imovel.getLigacaoAguaSituacao().getId() != null && imovel.getLigacaoAguaSituacao().getId().equals( LigacaoAguaSituacao.SUPRIMIDO)) { // verifica se o indicador de fiscaliza��o // suprimido // � // diferente de nulo // se for verifica se est� ativo if (imovel.getQuadra().getRota() .getIndicadorFiscalizarSuprimido() != null && imovel.getQuadra().getRota() .getIndicadorFiscalizarSuprimido() .equals(Rota.INDICADOR_SUPRIMIDO_ATIVO)) { imoveisParaSerGerados.add(imovel); achouImovel = true; } } } if (!achouImovel) { // Verifica se a situa��o da liga��o agua � // diferente de // nulo // Se for verifica se est� cortado if ((imovel.getLigacaoAguaSituacao() != null && imovel .getLigacaoAguaSituacao().getId() != null) && (imovel.getLigacaoAguaSituacao().getId() .equals(LigacaoAguaSituacao.CORTADO))) { // Se for cortado ent�o // Verifica se a liga��o agua � diferente de // nulo // se for verifica se o id da liga��o agua � // igual // ao id do // imovel e // se o id do hist�rico da instala��o do // hidrometro // � null if (imovel.getLigacaoAgua() != null && imovel.getLigacaoAgua().getId() != null && (imovel.getLigacaoAgua().getId().equals( imovel.getId()) && (imovel .getLigacaoAgua() .getHidrometroInstalacaoHistorico() == null || imovel .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getId() == null))) { // verifica se o indicador de fiscaliza��o // cortado � // diferente de nulo // se for verifica se est� ativo if (imovel.getQuadra().getRota() .getIndicadorFiscalizarCortado() != null && imovel .getQuadra() .getRota() .getIndicadorFiscalizarCortado() .equals( Rota.INDICADOR_CORTADO_ATIVO)) { imoveisParaSerGerados.add(imovel); achouImovel = true; } } } } } } return imoveisParaSerGerados; } /** * [UC00083] Gerar Dados para Leitura * * @author R�mulo Aur�lio * @date 07/07/2008 */ public Collection retornaImoveisPorRota(Rota rota, SistemaParametro sistemaParametro) throws ControladorException { // inicializa uma cole��o de imoveis Collection objetosImoveis = new ArrayList(); // cria uma cole��o de im�vel por rota Collection imoveisPorRota = null; try { imoveisPorRota = repositorioMicromedicao .pesquisarImoveisPorRotaCAERN(rota, sistemaParametro.getNomeAbreviadoEmpresa()); } catch (ErroRepositorioException e) { e.printStackTrace(); } if (imoveisPorRota != null && !imoveisPorRota.isEmpty()) { Iterator imovelporRotaIterator = imoveisPorRota.iterator(); while (imovelporRotaIterator.hasNext()) { // cria um array de objetos para pegar os parametros // de // retorno da pesquisa Object[] arrayImoveisPorRota = (Object[]) imovelporRotaIterator .next(); // instancia um im�vel Imovel imovel = new Imovel(); if (arrayImoveisPorRota[0] != null) { // seta o id no imovel imovel.setId((Integer) arrayImoveisPorRota[0]); } if (arrayImoveisPorRota[1] != null) { // instancia uma localidade para ser setado no // im�vel Localidade localidade = new Localidade(); localidade.setId((Integer) arrayImoveisPorRota[1]); imovel.setLocalidade(localidade); } if (arrayImoveisPorRota[2] != null) { // instancia um setor comercial para ser setado // no // im�vel SetorComercial setorComercial = new SetorComercial(); setorComercial.setCodigo(Integer .parseInt(arrayImoveisPorRota[2].toString())); imovel.setSetorComercial(setorComercial); } Quadra quadra = new Quadra(); if (arrayImoveisPorRota[3] != null) { // instancia uma quadra para ser setado no // im�vel Integer numeroQuadra = (Integer) arrayImoveisPorRota[3]; quadra.setNumeroQuadra(numeroQuadra); imovel.setQuadra(quadra); } if (arrayImoveisPorRota[4] != null) { // seta o lote no im�vel imovel.setLote(Short.parseShort(arrayImoveisPorRota[4] .toString())); } if (arrayImoveisPorRota[5] != null) { // seta o lote no im�vel imovel.setSubLote(Short .parseShort(arrayImoveisPorRota[5].toString())); } if (arrayImoveisPorRota[6] != null) { // instancia uma imovel perfil para ser setado // no // im�vel ImovelPerfil imovelPerfil = new ImovelPerfil(); imovelPerfil.setId((Integer) arrayImoveisPorRota[6]); imovel.setImovelPerfil(imovelPerfil); } LigacaoAgua ligacaoAgua = new LigacaoAgua(); if (arrayImoveisPorRota[7] != null) { // instancia uma liga��o agua para ser setado no // im�vel ligacaoAgua.setId((Integer) arrayImoveisPorRota[7]); } // instancia um hidrometro instala��o historico para // ser // colocado na ligacao agua if (arrayImoveisPorRota[30] != null) { HidrometroInstalacaoHistorico hidrometroInstalacaoHistoricoLigacaoAgua = (HidrometroInstalacaoHistorico) arrayImoveisPorRota[30]; MedicaoTipo medicaoTipo = new MedicaoTipo(); medicaoTipo.setId((Integer) arrayImoveisPorRota[26]); hidrometroInstalacaoHistoricoLigacaoAgua .setMedicaoTipo(medicaoTipo); ligacaoAgua .setHidrometroInstalacaoHistorico(hidrometroInstalacaoHistoricoLigacaoAgua); } imovel.setLigacaoAgua(ligacaoAgua); // //instancia um hidrometro instala��o historico // para // ser colocado no imovel if (arrayImoveisPorRota[31] != null) { HidrometroInstalacaoHistorico hidrometroInstalacaoHistoricoImovel = (HidrometroInstalacaoHistorico) arrayImoveisPorRota[31]; MedicaoTipo medicaoTipo = new MedicaoTipo(); medicaoTipo.setId((Integer) arrayImoveisPorRota[27]); hidrometroInstalacaoHistoricoImovel .setMedicaoTipo(medicaoTipo); imovel .setHidrometroInstalacaoHistorico(hidrometroInstalacaoHistoricoImovel); } // instancia a rota Rota rotaImovel = new Rota(); if (arrayImoveisPorRota[10] != null) { // seta o id da rota rotaImovel.setId((Integer) arrayImoveisPorRota[10]); } if (arrayImoveisPorRota[11] != null) { // seta o indicador fiscalizador suprimido na // rota rotaImovel .setIndicadorFiscalizarSuprimido(Short .parseShort(arrayImoveisPorRota[11] .toString())); } if (arrayImoveisPorRota[12] != null) { // seta o indicador fiscalizador cortado na rota rotaImovel .setIndicadorFiscalizarCortado(Short .parseShort(arrayImoveisPorRota[12] .toString())); } if (arrayImoveisPorRota[13] != null) { // seta o indicador gerar fiscalizacao na rota rotaImovel .setIndicadorGerarFiscalizacao(Short .parseShort(arrayImoveisPorRota[13] .toString())); } if (arrayImoveisPorRota[14] != null) { // seta o indicador fgerar falsa faixa na rota rotaImovel .setIndicadorGerarFalsaFaixa(Short .parseShort(arrayImoveisPorRota[14] .toString())); } if (arrayImoveisPorRota[15] != null) { // seta o percentual geracao fiscalizacao na // rota rotaImovel .setPercentualGeracaoFiscalizacao((BigDecimal) (arrayImoveisPorRota[15])); } if (arrayImoveisPorRota[16] != null) { // seta o percentual geracao faixa falsa na rota rotaImovel .setPercentualGeracaoFaixaFalsa((BigDecimal) (arrayImoveisPorRota[16])); } if(rota.getLeiturista() != null ){ rotaImovel.setLeiturista(rota.getLeiturista()); } // instancia a empresa Empresa empresa = new Empresa(); if (arrayImoveisPorRota[17] != null) { // seta o id na empresa empresa.setId((Integer) arrayImoveisPorRota[17]); } if (arrayImoveisPorRota[18] != null) { // seta a descri��o abreviada na empresa empresa.setDescricaoAbreviada(arrayImoveisPorRota[18] .toString()); } if (arrayImoveisPorRota[19] != null) { // seta email da empresa empresa.setEmail(arrayImoveisPorRota[19].toString()); } if (arrayImoveisPorRota[28] != null) { // seta email da empresa empresa .setDescricao(arrayImoveisPorRota[28] .toString()); } // seta a empresa na rota rotaImovel.setEmpresa(empresa); // instancia o faturamento FaturamentoGrupo faturamentoGrupo = new FaturamentoGrupo(); if (arrayImoveisPorRota[20] != null) { // seta o id no faturamentGrupo faturamentoGrupo .setId((Integer) arrayImoveisPorRota[20]); } if (arrayImoveisPorRota[21] != null) { // seta o descri��o no faturamentGrupo faturamentoGrupo .setDescricao((String) arrayImoveisPorRota[21]); } // seta o faturamento na rota rotaImovel.setFaturamentoGrupo(faturamentoGrupo); if (arrayImoveisPorRota[22] != null) { // instancia a liga��o esgoto situa��o LeituraTipo leituraTipo = new LeituraTipo(); // seta o id na liga��o esgoto situa��o leituraTipo.setId((Integer) arrayImoveisPorRota[22]); // seta a liga��o esgoto situa��o no imovel rotaImovel.setLeituraTipo(leituraTipo); } // seta a rota na quadra quadra.setRota(rotaImovel); // seta o roteiro empresa na quadra quadra .setRoteiroEmpresa((RoteiroEmpresa) arrayImoveisPorRota[29]); // seta a quadra no imovel imovel.setQuadra(quadra); if (arrayImoveisPorRota[23] != null) { // instancia a liga��o agua situa��o LigacaoAguaSituacao ligacaoAguaSituacao = new LigacaoAguaSituacao(); // seta o id na liga��o agua situa��o ligacaoAguaSituacao .setId((Integer) arrayImoveisPorRota[23]); // seta a liga��o agua situa��o no imovel imovel.setLigacaoAguaSituacao(ligacaoAguaSituacao); } if (arrayImoveisPorRota[24] != null) { // instancia a liga��o esgoto situa��o LigacaoEsgotoSituacao ligacaoEsgotoSituacao = new LigacaoEsgotoSituacao(); // seta o id na liga��o esgoto situa��o ligacaoEsgotoSituacao .setId((Integer) arrayImoveisPorRota[24]); // seta a liga��o esgoto situa��o no imovel imovel.setLigacaoEsgotoSituacao(ligacaoEsgotoSituacao); } if (arrayImoveisPorRota[25] != null) { // instancia o faturamento situacao tipo FaturamentoSituacaoTipo faturamentoSituacaoTipo = new FaturamentoSituacaoTipo(); // seta o id no faturamento situacao tipo faturamentoSituacaoTipo .setIndicadorParalisacaoLeitura((Short) arrayImoveisPorRota[25]); // seta a liga��o esgoto situa��o no imovel imovel .setFaturamentoSituacaoTipo(faturamentoSituacaoTipo); } if (arrayImoveisPorRota[32] != null) { imovel.getQuadra().getRota().getEmpresa().setId( (Integer) arrayImoveisPorRota[32]); } if (arrayImoveisPorRota[33] != null) { imovel.getLigacaoAguaSituacao() .setIndicadorFaturamentoSituacao( (Short) arrayImoveisPorRota[33]); } if (arrayImoveisPorRota[34] != null) { imovel.getLigacaoEsgotoSituacao() .setIndicadorFaturamentoSituacao( (Short) arrayImoveisPorRota[34]); } if (arrayImoveisPorRota[35] != null) { LogradouroBairro logradouroBairro = new LogradouroBairro(); logradouroBairro .setId((Integer) arrayImoveisPorRota[35]); imovel.setLogradouroBairro(logradouroBairro); } if (arrayImoveisPorRota[36] != null) { Logradouro logradouro = new Logradouro(); logradouro.setId((Integer) arrayImoveisPorRota[36]); imovel.getLogradouroBairro().setLogradouro(logradouro); } if (arrayImoveisPorRota[37] != null) { imovel.getLogradouroBairro().getLogradouro().setNome( (String) arrayImoveisPorRota[37]); } if (arrayImoveisPorRota[38] != null) { Bairro bairro = new Bairro(); bairro.setNome((String) arrayImoveisPorRota[38]); imovel.getLogradouroBairro().setBairro(bairro); } if (arrayImoveisPorRota[39] != null) { imovel.setNumeroImovel(completaString( (String) arrayImoveisPorRota[39], 5)); } if (arrayImoveisPorRota[40] != null) { imovel .setNumeroSequencialRota((Integer) arrayImoveisPorRota[40]); } if (arrayImoveisPorRota[41] != null) { ligacaoAgua.setNumeroLacre(completaString( (String) arrayImoveisPorRota[41], 6)); } if (arrayImoveisPorRota[42] != null) { imovel.setComplementoEndereco( (String) arrayImoveisPorRota[42]); } if (arrayImoveisPorRota[43] != null) { GerenciaRegional gerenciaRegional = new GerenciaRegional(); gerenciaRegional .setId((Integer) arrayImoveisPorRota[43]); imovel.getLocalidade().setGerenciaRegional( gerenciaRegional); } if (arrayImoveisPorRota[44] != null) { rotaImovel.setCodigo((Short) arrayImoveisPorRota[44]); } // adiciona na cole��o de imoveis objetosImoveis.add(imovel); arrayImoveisPorRota = null; } } imoveisPorRota.clear(); imoveisPorRota = null; return objetosImoveis; } /** * [UC00083] Gerar Dados para Leitura * @date 07/07/2008 * @author R�mulo Aur�lio * @param imoveisParaSerGerados * @param anoMesCorrente * @param sistemaParametro * @param idLeituraTipo * @throws ControladorException */ /*public void inserirDadosImoveisMovimentoRoteiroEmpresa( Collection imoveisParaSerGerados, int anoMesCorrente, SistemaParametro sistemaParametro, Integer idLeituraTipo) throws ControladorException { Collection colecaoMovimentoRoteiroEmpresa = new ArrayList(); if (imoveisParaSerGerados != null && !imoveisParaSerGerados.isEmpty()) { // é usado para na faixa falsa saber se o hidrometro foi // selecionado // ou // não boolean hidrometroSelecionado = false; Integer quantidadeRegistros = 0; Integer quantidadeImoveis = 0; ListIterator imovelParaSerGeradoIterator = ((List) imoveisParaSerGerados) .listIterator(0); Imovel imovelParaSerGerado = null; // ListIterator imovelParaSerGeradoIterator = (ListIterator) // imoveisParaSerGerados // .iterator(); while (imovelParaSerGeradoIterator.hasNext()) { boolean ligacaoAgua = false; boolean ligacaoPoco = false; imovelParaSerGerado = (Imovel) imovelParaSerGeradoIterator .next(); // incrementa a quantidade de registros quantidadeRegistros = quantidadeRegistros + 1; quantidadeImoveis = quantidadeImoveis + 1; if (imovelParaSerGerado.getLigacaoAgua() != null && imovelParaSerGerado.getLigacaoAgua().getId() != null && imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico() != null && imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico().getId() != null) { ligacaoAgua = true; } if (imovelParaSerGerado.getHidrometroInstalacaoHistorico() != null && imovelParaSerGerado .getHidrometroInstalacaoHistorico().getId() != null) { ligacaoPoco = true; } MovimentoRoteiroEmpresa movimentoRoteiroEmpresa = new MovimentoRoteiroEmpresa(); LeituraTipo leituraTipo = new LeituraTipo(); leituraTipo.setId(idLeituraTipo); movimentoRoteiroEmpresa.setLeituraTipo(leituraTipo); movimentoRoteiroEmpresa.setAnoMesMovimento(anoMesCorrente); if (imovelParaSerGerado.getQuadra() != null) { movimentoRoteiroEmpresa .setRoteiroEmpresa(imovelParaSerGerado.getQuadra() .getRoteiroEmpresa()); movimentoRoteiroEmpresa.setNumeroQuadra(imovelParaSerGerado .getQuadra().getNumeroQuadra()); if (imovelParaSerGerado.getQuadra().getRota() != null) { // id do grupo de faturamento movimentoRoteiroEmpresa .setFaturamentoGrupo(imovelParaSerGerado .getQuadra().getRota() .getFaturamentoGrupo()); } if (imovelParaSerGerado.getQuadra().getRoteiroEmpresa() != null) { movimentoRoteiroEmpresa.setEmpresa(imovelParaSerGerado .getQuadra().getRoteiroEmpresa().getEmpresa()); } else { movimentoRoteiroEmpresa.setEmpresa(imovelParaSerGerado .getQuadra().getRota().getEmpresa()); } } movimentoRoteiroEmpresa.setLocalidade(imovelParaSerGerado .getLocalidade()); movimentoRoteiroEmpresa .setCodigoSetorComercial(imovelParaSerGerado .getSetorComercial().getCodigo()); movimentoRoteiroEmpresa.setNumeroLoteImovel("" + imovelParaSerGerado.getLote()); movimentoRoteiroEmpresa.setNumeroSubloteImovel("" + imovelParaSerGerado.getSubLote()); movimentoRoteiroEmpresa.setImovelPerfil(imovelParaSerGerado .getImovelPerfil()); // caso seja tipo ligação agua e poço cria a string // primeiro // com // tipo // ligação agua if (ligacaoAgua && ligacaoPoco) { if (imovelParaSerGerado.getLigacaoAgua() != null && imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico() != null && imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico().getId() != null && !imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico().getId() .equals("")) { movimentoRoteiroEmpresa .setMedicaoTipo(imovelParaSerGerado .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getMedicaoTipo()); } // caso não seja } else { // caso seja tipo ligação agua cria a string com // tipo // ligação agua if (ligacaoAgua) { if (imovelParaSerGerado.getLigacaoAgua() != null && imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico() != null && imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getId() != null && !imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getId().equals("")) { movimentoRoteiroEmpresa .setMedicaoTipo(imovelParaSerGerado .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getMedicaoTipo()); } } else { // caso seja tipo ligação poço cria a string // com // tipo // ligação poço if (ligacaoPoco) { if (imovelParaSerGerado .getHidrometroInstalacaoHistorico() != null && imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getId() != null && !imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getId().equals("")) { movimentoRoteiroEmpresa .setMedicaoTipo(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getMedicaoTipo()); } } } } // Matricula do imóvel movimentoRoteiroEmpresa.setImovel(imovelParaSerGerado); // Perfil do imovel movimentoRoteiroEmpresa.setImovelPerfil(imovelParaSerGerado .getImovelPerfil()); String nomeClienteUsuario = null; try { // Pesquisa o nome do cliente que tem o tipo de // relação // usuário. nomeClienteUsuario = repositorioClienteImovel .pesquisarNomeClientePorImovel(imovelParaSerGerado .getId()); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } // nome do cliente usuário movimentoRoteiroEmpresa.setNomeCliente(completaString( nomeClienteUsuario, 50)); // Pesquisa o endereço do imovel passando o id String enderecoImovel = getControladorEndereco() .pesquisarEnderecoFormatado(imovelParaSerGerado.getId()); if (enderecoImovel != null && !enderecoImovel.equals("")) { // endereço do imóvel movimentoRoteiroEmpresa.setEnderecoImovel(completaString( enderecoImovel, 100)); } else { movimentoRoteiroEmpresa.setEnderecoImovel(completaString( "", 100)); } // Dados do Hidrometro // caso seja tipo ligação agua e poço cria a string // primeiro // com // tipo // ligação agua Short numeroDigitosHidrometro = null; StringBuilder dadosHidrometro = null; Integer capacidadeHidrometro = null; Integer marcaHidrometro = null; if (ligacaoAgua && ligacaoPoco) { Object[] dadosHidrometroNumeroLeitura = pesquisarDadosHidrometroTipoLigacaoAgua(imovelParaSerGerado); dadosHidrometro = (StringBuilder) dadosHidrometroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidrometroNumeroLeitura[1]; capacidadeHidrometro = (Integer) dadosHidrometroNumeroLeitura[2]; marcaHidrometro = (Integer) dadosHidrometroNumeroLeitura[3]; HidrometroCapacidade capacidade = new HidrometroCapacidade(); capacidade.setId(capacidadeHidrometro); movimentoRoteiroEmpresa.setHidrometroCapacidade(capacidade); HidrometroMarca hidrometroMarca = new HidrometroMarca(); hidrometroMarca.setId(marcaHidrometro); movimentoRoteiroEmpresa.setHidrometroMarca(hidrometroMarca); movimentoRoteiroEmpresa.setNumeroHidrometro(completaString( (String) dadosHidrometroNumeroLeitura[4], 10)); // caso não seja } else { // caso seja tipo ligação agua cria a string com // tipo // ligação agua if (ligacaoAgua) { Object[] dadosHidrometroNumeroLeitura = pesquisarDadosHidrometroTipoLigacaoAgua(imovelParaSerGerado); dadosHidrometro = (StringBuilder) dadosHidrometroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidrometroNumeroLeitura[1]; capacidadeHidrometro = (Integer) dadosHidrometroNumeroLeitura[2]; marcaHidrometro = (Integer) dadosHidrometroNumeroLeitura[3]; HidrometroCapacidade capacidade = new HidrometroCapacidade(); capacidade.setId(capacidadeHidrometro); movimentoRoteiroEmpresa .setHidrometroCapacidade(capacidade); HidrometroMarca hidrometroMarca = new HidrometroMarca(); hidrometroMarca.setId(marcaHidrometro); movimentoRoteiroEmpresa .setHidrometroMarca(hidrometroMarca); movimentoRoteiroEmpresa .setNumeroHidrometro(completaString( (String) dadosHidrometroNumeroLeitura[4], 10)); // caso não seja } else { // caso seja tipo ligação poço cria a string // com // tipo // ligação poço if (ligacaoPoco) { Object[] dadosHidrometroNumeroLeitura = pesquisarDadosHidrometroTipoPoco(imovelParaSerGerado); dadosHidrometro = (StringBuilder) dadosHidrometroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidrometroNumeroLeitura[1]; capacidadeHidrometro = (Integer) dadosHidrometroNumeroLeitura[2]; marcaHidrometro = (Integer) dadosHidrometroNumeroLeitura[3]; HidrometroCapacidade capacidade = new HidrometroCapacidade(); capacidade.setId(capacidadeHidrometro); movimentoRoteiroEmpresa .setHidrometroCapacidade(capacidade); HidrometroMarca hidrometroMarca = new HidrometroMarca(); hidrometroMarca.setId(marcaHidrometro); movimentoRoteiroEmpresa .setHidrometroMarca(hidrometroMarca); movimentoRoteiroEmpresa .setNumeroHidrometro(completaString( (String) dadosHidrometroNumeroLeitura[4], 10)); // caso não seja nem um nem outro então // pode // chamar // qualquer um dos métodos // pois os dois fazem a verificação e // retorna // strings // vazia e // a data cpm zeros } else { Object[] dadosHidrometroNumeroLeitura = pesquisarDadosHidrometroTipoPoco(imovelParaSerGerado); dadosHidrometro = (StringBuilder) dadosHidrometroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidrometroNumeroLeitura[1]; capacidadeHidrometro = (Integer) dadosHidrometroNumeroLeitura[2]; marcaHidrometro = (Integer) dadosHidrometroNumeroLeitura[3]; HidrometroCapacidade capacidade = new HidrometroCapacidade(); capacidade.setId(capacidadeHidrometro); movimentoRoteiroEmpresa .setHidrometroCapacidade(capacidade); HidrometroMarca hidrometroMarca = new HidrometroMarca(); hidrometroMarca.setId(marcaHidrometro); movimentoRoteiroEmpresa .setHidrometroMarca(hidrometroMarca); movimentoRoteiroEmpresa .setNumeroHidrometro(completaString( (String) dadosHidrometroNumeroLeitura[4], 10)); } } } if (imovelParaSerGerado.getHidrometroInstalacaoHistorico() != null) { movimentoRoteiroEmpresa .setHidrometroLocalInstalacao(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getHidrometroLocalInstalacao()); movimentoRoteiroEmpresa .setDataInstalacaoHidrometro(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getDataInstalacao()); movimentoRoteiroEmpresa .setHidrometroProtecao(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getHidrometroProtecao()); } if (imovelParaSerGerado.getLigacaoAgua() .getHidrometroInstalacaoHistorico() != null) { movimentoRoteiroEmpresa .setHidrometroLocalInstalacao(imovelParaSerGerado .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getHidrometroLocalInstalacao()); movimentoRoteiroEmpresa .setDataInstalacaoHidrometro(imovelParaSerGerado .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getDataInstalacao()); movimentoRoteiroEmpresa .setHidrometroProtecao(imovelParaSerGerado .getLigacaoAgua() .getHidrometroInstalacaoHistorico() .getHidrometroProtecao()); } // id da ligacao agua situação if (imovelParaSerGerado.getLigacaoAguaSituacao() != null && imovelParaSerGerado.getLigacaoAguaSituacao().getId() != null) { // Situação da ligação de agua movimentoRoteiroEmpresa .setLigacaoAguaSituacao(imovelParaSerGerado .getLigacaoAguaSituacao()); } // id da ligacao esgoto situação if (imovelParaSerGerado.getLigacaoEsgotoSituacao() != null && imovelParaSerGerado.getLigacaoEsgotoSituacao() .getId() != null) { // Situação de ligação esgoto movimentoRoteiroEmpresa .setLigacaoEsgotoSituacao(imovelParaSerGerado .getLigacaoEsgotoSituacao()); } // pega as descrições das categorias do imovel Categoria categoria = getControladorImovel() .obterDescricoesCategoriaImovel(imovelParaSerGerado); // quantidade de economias movimentoRoteiroEmpresa .setDescricaoAbreviadaCategoriaImovel(categoria .getDescricaoAbreviada()); // [UC0086 - Obter quantidade de economias] int quantidadeEconomias = getControladorImovel() .obterQuantidadeEconomias(imovelParaSerGerado); // quantidade de economias movimentoRoteiroEmpresa.setQuantidadeEconomias(new Integer( quantidadeEconomias).shortValue()); // Leitura anterior Integer anoMesAnterior = Util.subtrairData(anoMesCorrente); String leituraAnterior = null; Integer idMedicaoTipo = null; MedicaoHistorico medicaoHistorico = null; Object[] retorno = pesquisaLeituraAnterior(ligacaoAgua, ligacaoPoco, anoMesAnterior, imovelParaSerGerado); // verifica se a leitura anterior é diferente de // nula if (retorno[0] != null) { leituraAnterior = retorno[0].toString(); } // verifica se a leitura situação atual é diferente // de // nula if (retorno[1] != null) { medicaoHistorico = (MedicaoHistorico) retorno[1]; } // verifica se o id da medição tipo é diferente de // nula if (retorno[2] != null) { idMedicaoTipo = (Integer) retorno[2]; } // verifica se a leitura anterior é diferente de // nula // para // ser // jogado no arquivo // txt if (leituraAnterior != null) { movimentoRoteiroEmpresa .setNumeroLeituraAnterior(new Integer( leituraAnterior)); // caso contrario coloca a string com zeros } else { movimentoRoteiroEmpresa .setNumeroLeituraAnterior(new Integer(0)); } // Faixa de leitura esperada Object[] faixaInicialFinal = pesquisarFaixaEsperadaOuFalsaCelular( imovelParaSerGerado, dadosHidrometro, leituraAnterior, medicaoHistorico, idMedicaoTipo, sistemaParametro, hidrometroSelecionado, numeroDigitosHidrometro); hidrometroSelecionado = Boolean .parseBoolean(faixaInicialFinal[1].toString()); boolean faixaFalsaLeitura = Boolean .parseBoolean(faixaInicialFinal[2].toString()); int faixaInicialEsperada = 0; int faixaFinalEsperada = 0; if (!faixaFalsaLeitura) { faixaInicialEsperada = Integer .parseInt(faixaInicialFinal[3].toString()); faixaFinalEsperada = Integer.parseInt(faixaInicialFinal[4] .toString()); } movimentoRoteiroEmpresa .setNumeroFaixaLeituraEsperadaInicial(faixaInicialEsperada); movimentoRoteiroEmpresa .setNumeroFaixaLeituraEsperadaFinal(faixaFinalEsperada); movimentoRoteiroEmpresa.setUltimaAlteracao(new Date()); movimentoRoteiroEmpresa.setRota(imovelParaSerGerado.getQuadra() .getRota()); *//** * Obtem a colecao economias por categoria * *//* Collection colecaoSubCategoria = this.getControladorImovel() .obterQuantidadeEconomiasSubCategoria( imovelParaSerGerado.getId()); // 1.10.1 - SubCategoria 01 // 1.10.2 - Quantidade 01 // 1.10.3 - SubCategoria 02 // 1.10.4 - Quantidade 02 if (colecaoSubCategoria != null && !colecaoSubCategoria.isEmpty()) { Iterator itera = colecaoSubCategoria.iterator(); for (int i = 0; i < 2; i++) { while (itera.hasNext()) { Subcategoria subcategoria = (Subcategoria) itera .next(); // tipoEconomia = categoria_id(1 // posição) + // subcategoria_codigo(3 posições) if (i == 0) { Categoria categoriaPrincipal = new Categoria(); categoriaPrincipal.setId(subcategoria .getCategoria().getId()); movimentoRoteiroEmpresa .setCategoriaPrincipal(categoriaPrincipal); // Código da subcategoria do imovel movimentoRoteiroEmpresa .setCodigoSubcategoria1(subcategoria .getCodigo()); // qtdeEconomia movimentoRoteiroEmpresa .setQuantidadeEconomias(subcategoria .getQuantidadeEconomias() .shortValue()); } else { Categoria categoria2 = new Categoria(); categoria2.setId(subcategoria .getCategoria().getId()); movimentoRoteiroEmpresa .setCategoria2(categoria2); // Código da 2 subcategoria do // imovel movimentoRoteiroEmpresa .setCodigoSubcategoria2(subcategoria .getCodigo()); // qtdeEconomia movimentoRoteiroEmpresa .setQuantidadeEconomias2(subcategoria .getQuantidadeEconomias() .shortValue()); } } } } // 1.11 - Consumo Integer numeroConsumoFaturadoMes = null; Integer anoMesFaturamento = sistemaParametro .getAnoMesFaturamento(); try { // 1.11.1 - Consumo 01 int anoMesSubtraido = Util.subtrairMesDoAnoMes( anoMesFaturamento, 6); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovelParaSerGerado.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for // diferente de nulo if (numeroConsumoFaturadoMes != null) { movimentoRoteiroEmpresa .setNumeroConsumoFaturadoMenos6Meses(numeroConsumoFaturadoMes); } // 1.11.2 - Consumo 02 anoMesSubtraido = Util.subtrairMesDoAnoMes( anoMesFaturamento, 5); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovelParaSerGerado.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for // diferente de nulo if (numeroConsumoFaturadoMes != null) { movimentoRoteiroEmpresa .setNumeroConsumoFaturadoMenos5Meses(numeroConsumoFaturadoMes); } // 1.11.3 - Consumo 03 anoMesSubtraido = Util.subtrairMesDoAnoMes( anoMesFaturamento, 4); numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovelParaSerGerado.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); // caso o numero consumo faturado do mes for // diferente de nulo if (numeroConsumoFaturadoMes != null) { movimentoRoteiroEmpresa .setNumeroConsumoFaturadoMenos4Meses(numeroConsumoFaturadoMes); } } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } // 1.12 - Condição String condicao = null; try { condicao = this.repositorioMicromedicao .obterDescricaoConsumoTipo(imovelParaSerGerado .getId(), LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (condicao != null) { movimentoRoteiroEmpresa.setDescricaoConsumoTipo("" + condicao); } // 1.13 - Número do Lacre if (imovelParaSerGerado.getLigacaoAgua().getNumeroLacre() != null) { movimentoRoteiroEmpresa.setNumeroLacreLigacaoAgua(Util .completaStringComEspacoAEsquerda("" + imovelParaSerGerado.getLigacaoAgua() .getNumeroLacre(), 6)); } // 1.14 - Sequencial da Rota movimentoRoteiroEmpresa .setNumeroSequencialRota(imovelParaSerGerado .getNumeroSequencialRota()); // 1.15 - Consumo 04 int anoMesSubtraido = Util.subtrairMesDoAnoMes( anoMesFaturamento, 3); try { numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovelParaSerGerado.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e3) { e3.printStackTrace(); } // caso o numero consumo faturado do mes for // diferente // de nulo if (numeroConsumoFaturadoMes != null) { movimentoRoteiroEmpresa .setNumeroConsumoFaturadoMenos3Meses(numeroConsumoFaturadoMes); } // 1.16 - Consumo 05 anoMesSubtraido = Util .subtrairMesDoAnoMes(anoMesFaturamento, 2); try { numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovelParaSerGerado.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e2) { e2.printStackTrace(); } // caso o numero consumo faturado do mes for // diferente // de nulo if (numeroConsumoFaturadoMes != null) { movimentoRoteiroEmpresa .setNumeroConsumoFaturadoMenos2Meses(numeroConsumoFaturadoMes); } // 1.17 - Consumo 06 anoMesSubtraido = Util .subtrairMesDoAnoMes(anoMesFaturamento, 1); try { numeroConsumoFaturadoMes = repositorioMicromedicao .obterConsumoLigacaoAguaOuEsgotoDoImovelPeloTipoLogacao( imovelParaSerGerado.getId(), anoMesSubtraido, LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e1) { e1.printStackTrace(); } // caso o numero consumo faturado do mes for // diferente // de nulo if (numeroConsumoFaturadoMes != null) { movimentoRoteiroEmpresa .setNumeroConsumoFaturadoMenos1Mes(numeroConsumoFaturadoMes); } // 1.18 - Consumo Medio Integer numeroConsumoMedio = null; try { numeroConsumoMedio = this.repositorioMicromedicao .pesquisarNumeroConsumoMedioImovel( imovelParaSerGerado.getId(), anoMesCorrente, LigacaoTipo.LIGACAO_AGUA); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (numeroConsumoMedio != null) { movimentoRoteiroEmpresa .setNumeroConsumoMedio(numeroConsumoMedio); } // 1.19 -Rota movimentoRoteiroEmpresa.setCodigoRota(imovelParaSerGerado .getQuadra().getRota().getCodigo()); // 1.20 - Codigo Logradouro Logradouro logradouro = new Logradouro(); logradouro.setId(imovelParaSerGerado .getLogradouroBairro().getLogradouro().getId()); movimentoRoteiroEmpresa.setLogradouro(logradouro); // 1.21 - Nome do Logradouro movimentoRoteiroEmpresa.setNomeLogradouro(imovelParaSerGerado .getLogradouroBairro().getLogradouro().getNome()); // 1.22 - Numero do Imovel movimentoRoteiroEmpresa.setNumeroImovel(imovelParaSerGerado .getNumeroImovel()); // 1.23 - Complemento movimentoRoteiroEmpresa .setComplementoEndereco(imovelParaSerGerado .getComplementoEndereco()); // 1.24 - Nome do Bairro movimentoRoteiroEmpresa.setNomeBairro(imovelParaSerGerado .getLogradouroBairro().getBairro().getNome()); // 1.1 Incricao do Imovel movimentoRoteiroEmpresa.setInscricaoImovel(imovelParaSerGerado .getInscricaoFormatada()); // Id gerencia Regional GerenciaRegional gerenciaRegional = new GerenciaRegional(); gerenciaRegional.setId(imovelParaSerGerado .getLocalidade().getGerenciaRegional().getId()); movimentoRoteiroEmpresa .setGerenciaRegional(gerenciaRegional); //LEITURISTA if(imovelParaSerGerado.getQuadra().getRota().getLeiturista() != null){ movimentoRoteiroEmpresa.setLeiturista(imovelParaSerGerado.getQuadra().getRota().getLeiturista()); } colecaoMovimentoRoteiroEmpresa.add(movimentoRoteiroEmpresa); // Caso Imovel tenha Ligacao de Agua e de Poço if(ligacaoAgua && ligacaoPoco){ MovimentoRoteiroEmpresa movimentoRoteiroEmpresaPoco = new MovimentoRoteiroEmpresa(); movimentoRoteiroEmpresaPoco.setAnoMesMovimento(movimentoRoteiroEmpresa.getAnoMesMovimento()); if(movimentoRoteiroEmpresa.getCategoria2()!=null){ movimentoRoteiroEmpresaPoco.setCategoria2(movimentoRoteiroEmpresa.getCategoria2()); } if(movimentoRoteiroEmpresa.getCategoriaPrincipal()!=null){ movimentoRoteiroEmpresaPoco.setCategoriaPrincipal(movimentoRoteiroEmpresa.getCategoriaPrincipal()); } movimentoRoteiroEmpresaPoco.setCodigoRota(movimentoRoteiroEmpresa.getCodigoRota()); movimentoRoteiroEmpresaPoco.setCodigoSetorComercial(movimentoRoteiroEmpresa.getCodigoSetorComercial()); if(movimentoRoteiroEmpresa.getCodigoSubcategoria1() != null ){ movimentoRoteiroEmpresaPoco.setCodigoSubcategoria1(movimentoRoteiroEmpresa.getCodigoSubcategoria1()); } if(movimentoRoteiroEmpresa.getCodigoSubcategoria2() != null ){ movimentoRoteiroEmpresaPoco.setCodigoSubcategoria2(movimentoRoteiroEmpresa.getCodigoSubcategoria2()); } if(movimentoRoteiroEmpresa.getComplementoEndereco() != null ){ movimentoRoteiroEmpresaPoco.setComplementoEndereco(movimentoRoteiroEmpresa.getComplementoEndereco()); } if(movimentoRoteiroEmpresa.getDataHoraProcessamento() != null ){ movimentoRoteiroEmpresaPoco.setDataHoraProcessamento(movimentoRoteiroEmpresa.getDataHoraProcessamento()); } if(movimentoRoteiroEmpresa.getDataInstalacaoHidrometro() != null ){ movimentoRoteiroEmpresaPoco.setDataInstalacaoHidrometro(movimentoRoteiroEmpresa.getDataInstalacaoHidrometro()); } if(movimentoRoteiroEmpresa.getDescricaoAbreviadaCategoriaImovel() != null ){ movimentoRoteiroEmpresaPoco.setDescricaoAbreviadaCategoriaImovel(movimentoRoteiroEmpresa.getDescricaoAbreviadaCategoriaImovel()); } if(movimentoRoteiroEmpresa.getDescricaoAbreviadaLogradouroTipo() != null ){ movimentoRoteiroEmpresaPoco.setDescricaoAbreviadaLogradouroTipo(movimentoRoteiroEmpresa.getDescricaoAbreviadaLogradouroTipo()); } if(movimentoRoteiroEmpresa.getDescricaoAbreviadaLogradouroTitulo() != null ){ movimentoRoteiroEmpresaPoco.setDescricaoAbreviadaLogradouroTitulo(movimentoRoteiroEmpresa.getDescricaoAbreviadaLogradouroTitulo()); } if(movimentoRoteiroEmpresa.getDescricaoConsumoTipo() != null ){ movimentoRoteiroEmpresaPoco.setDescricaoConsumoTipo(movimentoRoteiroEmpresa.getDescricaoConsumoTipo()); } if(movimentoRoteiroEmpresa.getEmpresa() != null ){ movimentoRoteiroEmpresaPoco.setEmpresa(movimentoRoteiroEmpresa.getEmpresa()); } if(movimentoRoteiroEmpresa.getEnderecoImovel() != null ){ movimentoRoteiroEmpresaPoco.setEnderecoImovel(movimentoRoteiroEmpresa.getEnderecoImovel()); } if(movimentoRoteiroEmpresa.getFaturamentoGrupo() != null ){ movimentoRoteiroEmpresaPoco.setFaturamentoGrupo(movimentoRoteiroEmpresa.getFaturamentoGrupo()); } if(movimentoRoteiroEmpresa.getGerenciaRegional() != null ){ movimentoRoteiroEmpresaPoco.setGerenciaRegional(movimentoRoteiroEmpresa.getGerenciaRegional()); } if(movimentoRoteiroEmpresa.getHidrometroProtecao() != null ){ movimentoRoteiroEmpresaPoco.setHidrometroProtecao(movimentoRoteiroEmpresa.getHidrometroProtecao()); } if(movimentoRoteiroEmpresa.getImovel() != null ){ movimentoRoteiroEmpresaPoco.setImovel(movimentoRoteiroEmpresa.getImovel()); } if(movimentoRoteiroEmpresa.getImovelPerfil() != null ){ movimentoRoteiroEmpresaPoco.setImovelPerfil(movimentoRoteiroEmpresa.getImovelPerfil()); } if(movimentoRoteiroEmpresa.getIndicadorAtualizacaoLeitura() != null ){ movimentoRoteiroEmpresaPoco.setIndicadorAtualizacaoLeitura(movimentoRoteiroEmpresa.getIndicadorAtualizacaoLeitura()); } if(movimentoRoteiroEmpresa.getIndicadorConfirmacaoLeitura() != null ){ movimentoRoteiroEmpresaPoco.setIndicadorConfirmacaoLeitura(movimentoRoteiroEmpresa.getIndicadorConfirmacaoLeitura()); } if(movimentoRoteiroEmpresa.getInscricaoImovel() != null ){ movimentoRoteiroEmpresaPoco.setInscricaoImovel(movimentoRoteiroEmpresa.getInscricaoImovel()); } if(movimentoRoteiroEmpresa.getLeituraAnormalidade() != null ){ movimentoRoteiroEmpresaPoco.setLeituraAnormalidade(movimentoRoteiroEmpresa.getLeituraAnormalidade()); } if(movimentoRoteiroEmpresa.getLeituraTipo() != null ){ movimentoRoteiroEmpresaPoco.setLeituraTipo(movimentoRoteiroEmpresa.getLeituraTipo()); } if(movimentoRoteiroEmpresa.getLigacaoAguaSituacao() != null ){ movimentoRoteiroEmpresaPoco.setLigacaoAguaSituacao(movimentoRoteiroEmpresa.getLigacaoAguaSituacao()); } if(movimentoRoteiroEmpresa.getLigacaoEsgotoSituacao() != null ){ movimentoRoteiroEmpresaPoco.setLigacaoEsgotoSituacao(movimentoRoteiroEmpresa.getLigacaoEsgotoSituacao()); } if(movimentoRoteiroEmpresa.getLocalidade() != null ){ movimentoRoteiroEmpresaPoco.setLocalidade(movimentoRoteiroEmpresa.getLocalidade()); } if(movimentoRoteiroEmpresa.getLogradouro() != null ){ movimentoRoteiroEmpresaPoco.setLogradouro(movimentoRoteiroEmpresa.getLogradouro()); } if(movimentoRoteiroEmpresa.getNomeBairro() != null ){ movimentoRoteiroEmpresaPoco.setNomeBairro(movimentoRoteiroEmpresa.getNomeBairro()); } if(movimentoRoteiroEmpresa.getNomeCliente() != null ){ movimentoRoteiroEmpresaPoco.setNomeCliente(movimentoRoteiroEmpresa.getNomeCliente()); } if(movimentoRoteiroEmpresa.getNomeLeiturista() != null ){ movimentoRoteiroEmpresaPoco.setNomeLeiturista(movimentoRoteiroEmpresa.getNomeLeiturista()); } if(movimentoRoteiroEmpresa.getLeiturista() != null ){ movimentoRoteiroEmpresaPoco.setLeiturista(movimentoRoteiroEmpresa.getLeiturista()); } if(movimentoRoteiroEmpresa.getNomeLogradouro() != null ){ movimentoRoteiroEmpresaPoco.setNomeLogradouro(movimentoRoteiroEmpresa.getNomeLogradouro()); } if(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos1Mes() != null ){ movimentoRoteiroEmpresaPoco.setNumeroConsumoFaturadoMenos1Mes(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos1Mes()); } if(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos2Meses() != null ){ movimentoRoteiroEmpresaPoco.setNumeroConsumoFaturadoMenos2Meses(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos2Meses()); } if(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos3Meses() != null ){ movimentoRoteiroEmpresaPoco.setNumeroConsumoFaturadoMenos3Meses(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos3Meses()); } if(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos4Meses() != null ){ movimentoRoteiroEmpresaPoco.setNumeroConsumoFaturadoMenos4Meses(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos4Meses()); } if(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos5Meses() != null ){ movimentoRoteiroEmpresaPoco.setNumeroConsumoFaturadoMenos5Meses(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos5Meses()); } if(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos6Meses() != null ){ movimentoRoteiroEmpresaPoco.setNumeroConsumoFaturadoMenos6Meses(movimentoRoteiroEmpresa.getNumeroConsumoFaturadoMenos6Meses()); } if(movimentoRoteiroEmpresa.getNumeroImovel() != null ){ movimentoRoteiroEmpresaPoco.setNumeroImovel(movimentoRoteiroEmpresa.getNumeroImovel()); } if(movimentoRoteiroEmpresa.getNumeroLacreLigacaoAgua() != null ){ movimentoRoteiroEmpresaPoco.setNumeroLacreLigacaoAgua(movimentoRoteiroEmpresa.getNumeroLacreLigacaoAgua()); } if(movimentoRoteiroEmpresa.getNumeroLeituraAnterior() != null ){ movimentoRoteiroEmpresaPoco.setNumeroLeituraAnterior(movimentoRoteiroEmpresa.getNumeroLeituraAnterior()); } if(movimentoRoteiroEmpresa.getNumeroLoteImovel() != null ){ movimentoRoteiroEmpresaPoco.setNumeroLoteImovel(movimentoRoteiroEmpresa.getNumeroLoteImovel()); } if(movimentoRoteiroEmpresa.getNumeroQuadra() != null ){ movimentoRoteiroEmpresaPoco.setNumeroQuadra(movimentoRoteiroEmpresa.getNumeroQuadra()); } if(movimentoRoteiroEmpresa.getNumeroSequencialRota() != null ){ movimentoRoteiroEmpresaPoco.setNumeroSequencialRota(movimentoRoteiroEmpresa.getNumeroSequencialRota()); } if(movimentoRoteiroEmpresa.getNumeroSubloteImovel() != null ){ movimentoRoteiroEmpresaPoco.setNumeroSubloteImovel(movimentoRoteiroEmpresa.getNumeroSubloteImovel()); } if(movimentoRoteiroEmpresa.getQuantidadeEconomias() != null ){ movimentoRoteiroEmpresaPoco.setQuantidadeEconomias(movimentoRoteiroEmpresa.getQuantidadeEconomias()); } if(movimentoRoteiroEmpresa.getQuantidadeEconomias2() != null ){ movimentoRoteiroEmpresaPoco.setQuantidadeEconomias2(movimentoRoteiroEmpresa.getQuantidadeEconomias2()); } if(movimentoRoteiroEmpresa.getRota() != null ){ movimentoRoteiroEmpresaPoco.setRota(movimentoRoteiroEmpresa.getRota()); } if(movimentoRoteiroEmpresa.getRoteiroEmpresa() != null ){ movimentoRoteiroEmpresaPoco.setRoteiroEmpresa(movimentoRoteiroEmpresa.getRoteiroEmpresa()); } if(movimentoRoteiroEmpresa.getTempoLeitura() != null ){ movimentoRoteiroEmpresaPoco.setTempoLeitura(movimentoRoteiroEmpresa.getTempoLeitura()); } if(movimentoRoteiroEmpresa.getUltimaAlteracao() != null ){ movimentoRoteiroEmpresaPoco.setUltimaAlteracao(movimentoRoteiroEmpresa.getUltimaAlteracao()); } //Medicao Tipo MedicaoTipo medicaoTipo = new MedicaoTipo(); medicaoTipo.setId(MedicaoTipo.POCO); movimentoRoteiroEmpresaPoco.setMedicaoTipo(medicaoTipo); Object[] dadosHidrometroNumeroLeitura = pesquisarDadosHidrometroTipoPoco(imovelParaSerGerado); dadosHidrometro = (StringBuilder) dadosHidrometroNumeroLeitura[0]; numeroDigitosHidrometro = (Short) dadosHidrometroNumeroLeitura[1]; capacidadeHidrometro = (Integer) dadosHidrometroNumeroLeitura[2]; marcaHidrometro = (Integer) dadosHidrometroNumeroLeitura[3]; //Capacidade Hidrometro HidrometroCapacidade capacidade = new HidrometroCapacidade(); capacidade.setId(capacidadeHidrometro); movimentoRoteiroEmpresaPoco.setHidrometroCapacidade(capacidade); //Marca do Hidrometro HidrometroMarca hidrometroMarca = new HidrometroMarca(); hidrometroMarca.setId(marcaHidrometro); movimentoRoteiroEmpresaPoco.setHidrometroMarca(hidrometroMarca); //Numero Hidrometro movimentoRoteiroEmpresaPoco.setNumeroHidrometro( (String) dadosHidrometroNumeroLeitura[4]); if (imovelParaSerGerado .getHidrometroInstalacaoHistorico() != null) { //Local de Instalação movimentoRoteiroEmpresaPoco .setHidrometroLocalInstalacao(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getHidrometroLocalInstalacao()); //Data de Instalação movimentoRoteiroEmpresaPoco .setDataInstalacaoHidrometro(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getDataInstalacao()); //Proteção do Hidrometro movimentoRoteiroEmpresaPoco .setHidrometroProtecao(imovelParaSerGerado .getHidrometroInstalacaoHistorico() .getHidrometroProtecao()); } // verifica se a leitura anterior é diferente de // nula if (retorno[3] != null) { leituraAnterior = retorno[3].toString(); }else{ leituraAnterior = "0"; } // verifica se a leitura situação atual é diferente // de // nula if (retorno[4] != null) { medicaoHistorico = (MedicaoHistorico) retorno[4]; }else{ medicaoHistorico = new MedicaoHistorico(); } // verifica se o id da medição tipo é diferente de // nula if (retorno[5] != null) { idMedicaoTipo = (Integer) retorno[5]; }else{ idMedicaoTipo = MedicaoTipo.POCO; } // verifica se a leitura anterior é diferente de // nula // para // ser // jogado no arquivo // txt if (leituraAnterior != null) { movimentoRoteiroEmpresaPoco .setNumeroLeituraAnterior(new Integer( leituraAnterior)); // caso contrario coloca a string com zeros }else{ movimentoRoteiroEmpresaPoco .setNumeroLeituraAnterior(new Integer(0)); } // Faixa de leitura esperada faixaInicialFinal = pesquisarFaixaEsperadaOuFalsaCelular( imovelParaSerGerado, dadosHidrometro, leituraAnterior, medicaoHistorico, idMedicaoTipo, sistemaParametro, hidrometroSelecionado, numeroDigitosHidrometro); faixaInicialEsperada = 0; faixaFinalEsperada = 0; faixaInicialEsperada = Integer .parseInt(faixaInicialFinal[3].toString()); faixaFinalEsperada = Integer .parseInt(faixaInicialFinal[4].toString()); movimentoRoteiroEmpresaPoco .setNumeroFaixaLeituraEsperadaInicial(faixaInicialEsperada); movimentoRoteiroEmpresaPoco .setNumeroFaixaLeituraEsperadaFinal(faixaFinalEsperada); movimentoRoteiroEmpresaPoco.setUltimaAlteracao(new Date()); colecaoMovimentoRoteiroEmpresa.add(movimentoRoteiroEmpresaPoco); } imovelParaSerGerado = null; } try{ getControladorBatch().inserirColecaoObjetoParaBatch( colecaoMovimentoRoteiroEmpresa); } catch (ControladorException e) { colecaoMovimentoRoteiroEmpresa.isEmpty(); sessionContext.setRollbackOnly(); e.printStackTrace(); } colecaoMovimentoRoteiroEmpresa.clear(); colecaoMovimentoRoteiroEmpresa = null; } }*/ }