/**
  * Retorna imóvel a revisitar com indicador de revisitado igual a não e diferente do imóvel atual
  *
  * @return ImovelRevisitar
  * @params Integer idImovel
  * @author Fernanda Almeida
  * @date 20/09/2012
  */
 public ArrayList<ImovelRevisitar> buscarImovelNaoRevisitado() throws ControladorException {
   try {
     return repositorioImovelRevisitar.buscarImovelNaoRevisitado();
   } catch (RepositorioException ex) {
     ex.printStackTrace();
     Log.e(ConstantesSistema.CATEGORIA, ex.getMessage());
     throw new ControladorException(context.getResources().getString(R.string.db_erro));
   }
 }
  public void setMatriculasRevisitar(String idsRevisitar) throws ControladorException {
    try {
      ArrayList<String> strVector = Util.split(idsRevisitar, ',');
      ArrayList<String> matriculasRevisitar = new ArrayList<String>();

      for (int i = 0; i < strVector.size(); i++) {
        if (!matriculasRevisitar.contains(strVector.get(i))) {
          matriculasRevisitar.add(strVector.get(i));

          // Selecionamos o imovel(eis) passado(s)
          ImovelConta imovel =
              (ImovelConta)
                  ControladorBasico.getInstance()
                      .pesquisarPorId(new Integer(strVector.get(i)), new ImovelConta());

          // Verifica se o imóvel já não foi inserido na base
          ImovelRevisitar imovelRevisitarRepetido =
              (ImovelRevisitar)
                  RepositorioBasico.getInstance()
                      .pesquisarPorId(new Integer(strVector.get(i)), new ImovelRevisitar());

          if (imovelRevisitarRepetido == null) {

            HidrometroInstalado hidrometroAgua =
                getControladorHidrometroInstalado()
                    .buscarHidrometroInstaladoPorImovelTipoMedicao(
                        imovel.getId(), ConstantesSistema.LIGACAO_AGUA);
            HidrometroInstalado hidrometroPoco =
                getControladorHidrometroInstalado()
                    .buscarHidrometroInstaladoPorImovelTipoMedicao(
                        imovel.getId(), ConstantesSistema.LIGACAO_POCO);

            // Reseta os dados de hidrômetro água que foram alterados pelo usuário
            if (hidrometroAgua != null) {
              hidrometroAgua.setLeitura(null);
              hidrometroAgua.setAnormalidade(null);
              hidrometroAgua.setDataLeitura(null);
              hidrometroAgua.setLeituraAnteriorDigitada(null);
              hidrometroAgua.setQtdDiasAjustado(null);
              hidrometroAgua.setLeituraAtualFaturamento(null);
              hidrometroAgua.setLeituraAtualFaturamentoHelper(null);

              ControladorBasico.getInstance().atualizar(hidrometroAgua);
            }

            // Reseta os dados de hidrômetro água que foram alterados pelo usuário
            if (hidrometroPoco != null) {
              hidrometroPoco.setLeitura(null);
              hidrometroPoco.setAnormalidade(null);
              hidrometroPoco.setDataLeitura(null);
              hidrometroPoco.setLeituraAnteriorDigitada(null);
              hidrometroPoco.setQtdDiasAjustado(null);
              hidrometroPoco.setLeituraAtualFaturamento(null);
              hidrometroPoco.setLeituraAtualFaturamentoHelper(null);

              ControladorBasico.getInstance().atualizar(hidrometroPoco);
            }

            imovel.setConsumoAguaMedidoHistoricoFaturamento(null);
            imovel.setVolumeEsgotoMedidoHistoricoFaturamento(null);
            imovel.setIndcImovelCalculado(ConstantesSistema.NAO);
            imovel.setIndcImovelEnviado(ConstantesSistema.NAO);
            imovel.setIndcImovelImpresso(ConstantesSistema.NAO);

            ImovelRevisitar imovelRevisitar = new ImovelRevisitar();
            imovelRevisitar.setMatricula(imovel);
            imovelRevisitar.setIndicadorRevisitado(ConstantesSistema.NAO);
            try {
              RepositorioBasico.getInstance().inserir(imovelRevisitar);
            } catch (RepositorioException e) {
              Log.e(ConstantesSistema.CATEGORIA, e.getMessage());
              e.printStackTrace();
            }

            RepositorioBasico.getInstance().atualizar(imovel);
          }
        }
      }
    } catch (RepositorioException ex) {
      ex.printStackTrace();
      Log.e(ConstantesSistema.CATEGORIA, ex.getMessage());
      throw new ControladorException(context.getResources().getString(R.string.db_erro));
    }
  }