/**
   * Description of the Method
   *
   * @param actionMapping Description of the Parameter
   * @param actionForm Description of the Parameter
   * @param httpServletRequest Description of the Parameter
   * @param httpServletResponse Description of the Parameter
   * @return Description of the Return Value
   */
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {

    ActionForward retorno = actionMapping.findForward("listaBairro");

    // Mudar isso quando tiver esquema de segurança
    HttpSession sessao = httpServletRequest.getSession(false);

    DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm;

    // Recupera os parâmetros do form
    String idMunicipio = (String) pesquisarActionForm.get("idMunicipio");
    String nomeBairro = (String) pesquisarActionForm.get("nomeBairro");
    String tipoPesquisa = (String) pesquisarActionForm.get("tipoPesquisa");

    FiltroBairro filtroBairro = new FiltroBairro(FiltroBairro.NOME);

    boolean peloMenosUmParametroInformado = false;

    // Insere os parâmetros informados no filtro

    if (idMunicipio != null && !idMunicipio.trim().equalsIgnoreCase("")) {
      peloMenosUmParametroInformado = true;
      filtroBairro.adicionarParametro(new ParametroSimples(FiltroBairro.MUNICIPIO_ID, idMunicipio));
    }

    if (nomeBairro != null && !nomeBairro.trim().equalsIgnoreCase("")) {
      peloMenosUmParametroInformado = true;
      if (tipoPesquisa != null
          && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {
        filtroBairro.adicionarParametro(new ComparacaoTextoCompleto(FiltroBairro.NOME, nomeBairro));
      } else {
        filtroBairro.adicionarParametro(new ComparacaoTexto(FiltroBairro.NOME, nomeBairro));
      }
    }
    if (sessao.getAttribute("indicadorUsoTodos") == null) {
      filtroBairro.adicionarParametro(
          new ParametroSimples(FiltroBairro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO));
    }

    // Erro caso o usuário mandou filtrar sem nenhum parâmetro
    if (!peloMenosUmParametroInformado) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    Collection bairros = null;

    // Obtém a instância da Fachada
    Fachada fachada = Fachada.getInstancia();

    // adiciona as dependências para serem mostradas na página
    filtroBairro.adicionarCaminhoParaCarregamentoEntidade("municipio");

    // Faz a busca das empresas
    bairros = fachada.pesquisar(filtroBairro, Bairro.class.getName());

    if (bairros == null || bairros.isEmpty()) {

      // Nenhum municipio cadastrado
      throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, "bairro");
    } else {

      // Aciona o controle de paginação para que sejam pesquisados apenas
      // os registros que aparecem na página
      Map resultado =
          controlarPaginacao(httpServletRequest, retorno, filtroBairro, Bairro.class.getName());
      bairros = (Collection) resultado.get("colecaoRetorno");
      retorno = (ActionForward) resultado.get("destinoActionForward");

      // Coloca a coleção na sessão
      sessao.setAttribute("colecaoBairros", bairros);
    }

    return retorno;
  }
  /**
   * < <Descrição do método>>
   *
   * @param actionMapping Descrição do parâmetro
   * @param actionForm Descrição do parâmetro
   * @param httpServletRequest Descrição do parâmetro
   * @param httpServletResponse Descrição do parâmetro
   * @return Descrição do retorno
   */
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {
    ActionForward retorno = actionMapping.findForward("listaMunicipio");

    // Mudar isso quando tiver esquema de segurança
    HttpSession sessao = httpServletRequest.getSession(false);

    DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm;

    // Recupera os parâmetros do form
    String nome = (String) pesquisarActionForm.get("nomeMunicipio");
    Integer idRegiaoDesenvolvimento = (Integer) pesquisarActionForm.get("idRegiaoDesenvolvimento");
    Integer idRegiao = (Integer) pesquisarActionForm.get("idRegiao");
    Integer idMicrorregiao = (Integer) pesquisarActionForm.get("idMicrorregiao");
    Integer idUnidadeFederacao = (Integer) pesquisarActionForm.get("idUnidadeFederacao");
    String tipoPesquisa = (String) pesquisarActionForm.get("tipoPesquisa");

    FiltroMunicipio filtroMunicipio = new FiltroMunicipio();

    filtroMunicipio.setCampoOrderBy(FiltroCliente.NOME);

    boolean peloMenosUmParametroInformado = false;

    // Insere os parâmetros informados no filtro

    if (nome != null && !nome.trim().equalsIgnoreCase("")) {
      peloMenosUmParametroInformado = true;
      if (tipoPesquisa != null
          && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {
        filtroMunicipio.adicionarParametro(new ComparacaoTextoCompleto(FiltroMunicipio.NOME, nome));
      } else {
        filtroMunicipio.adicionarParametro(new ComparacaoTexto(FiltroMunicipio.NOME, nome));
      }
    }

    if (idRegiaoDesenvolvimento != null
        && idRegiaoDesenvolvimento.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
      peloMenosUmParametroInformado = true;
      filtroMunicipio.adicionarParametro(
          new ParametroSimples(FiltroMunicipio.REGIAO_DESENVOLVOMENTO_ID, idRegiaoDesenvolvimento));
    }

    if (idRegiao != null && idRegiao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
      peloMenosUmParametroInformado = true;
      filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.REGIAO_ID, idRegiao));
    }

    if (idMicrorregiao != null
        && idMicrorregiao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
      peloMenosUmParametroInformado = true;
      filtroMunicipio.adicionarParametro(
          new ParametroSimples(FiltroMunicipio.MICRORREGICAO_ID, idMicrorregiao));
    }

    if (idUnidadeFederacao != null
        && idUnidadeFederacao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) {
      peloMenosUmParametroInformado = true;
      filtroMunicipio.adicionarParametro(
          new ParametroSimples(FiltroMunicipio.UNIDADE_FEDERACAO_ID, idUnidadeFederacao));
    }

    if (sessao.getAttribute("indicadorUsoTodos") == null) {
      filtroMunicipio.adicionarParametro(
          new ParametroSimples(
              FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO));
    }

    // Erro caso o usuário mandou filtrar sem nenhum parâmetro
    if (!peloMenosUmParametroInformado) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    Collection municipios = null;

    // Obtém a instância da Fachada
    Fachada fachada = Fachada.getInstancia();

    // adiciona as dependências para serem mostradas na página
    filtroMunicipio.adicionarCaminhoParaCarregamentoEntidade("microrregiao.regiao");

    // Faz a busca das empresas
    municipios = fachada.pesquisar(filtroMunicipio, Municipio.class.getName());

    // Aciona o controle de paginação para que sejam pesquisados apenas
    // os registros que aparecem na página
    Map resultado =
        controlarPaginacao(httpServletRequest, retorno, filtroMunicipio, Municipio.class.getName());
    municipios = (Collection) resultado.get("colecaoRetorno");
    retorno = (ActionForward) resultado.get("destinoActionForward");

    if (municipios.isEmpty()) {
      // Nenhum logradouro cadastrado de acordo com os parâmetros passados
      throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, "município");
    }
    sessao.setAttribute("colecaoMunicipios", municipios);

    return retorno;
  }
  /**
   * < <Descrição do método>>
   *
   * @param actionMapping Descrição do parâmetro
   * @param actionForm Descrição do parâmetro
   * @param httpServletRequest Descrição do parâmetro
   * @param httpServletResponse Descrição do parâmetro
   * @return Descrição do retorno
   */
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {

    ActionForward retorno = actionMapping.findForward("listaFonteCaptacao");

    // Mudar isso quando tiver esquema de segurança
    HttpSession sessao = httpServletRequest.getSession(false);

    DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm;

    String codigo = (String) pesquisarActionForm.get("codigoFonteCaptacao");
    String descricao = (String) pesquisarActionForm.get("descricaoFonteCaptacao");
    String tipoPesquisaDescricao = (String) pesquisarActionForm.get("tipoPesquisaDescricao");
    String descricaoAbreviada = (String) pesquisarActionForm.get("descricaoAbreviadaFonteCaptacao");

    boolean peloMenosUmParametroInformado = false;

    String idTipoCaptacao = null;
    String tipoPesquisa = null;

    FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao();

    // Objetos que serão retornados pelo Hibernate
    filtroFonteCaptacao.adicionarCaminhoParaCarregamentoEntidade("tipoCaptacao");

    filtroFonteCaptacao.setCampoOrderBy(FiltroFonteCaptacao.ID);

    Fachada fachada = Fachada.getInstancia();

    if (sessao.getAttribute("idTipoCaptacao") != null) {
      idTipoCaptacao = sessao.getAttribute("idTipoCaptacao").toString();
    }

    if (sessao.getAttribute("tipoPesquisa") != null) {
      tipoPesquisa = sessao.getAttribute("tipoPesquisa").toString();
    }
    if (sessao.getAttribute("indicadorUsoTodos") == null) {
      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(
              FiltroFonteCaptacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO));
    }

    if (idTipoCaptacao != null && !idTipoCaptacao.equals("")) {

      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(FiltroFonteCaptacao.ID_TIPO_CAPTACAO, idTipoCaptacao));
      peloMenosUmParametroInformado = true;
    }

    if (codigo != null && !codigo.equals("")) {
      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(FiltroFonteCaptacao.ID, new Integer(codigo)));
      peloMenosUmParametroInformado = true;
    }
    if (descricao != null && !descricao.trim().equalsIgnoreCase("")) {
      if (tipoPesquisaDescricao != null
          && tipoPesquisaDescricao.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {
        filtroFonteCaptacao.adicionarParametro(
            new ComparacaoTextoCompleto(FiltroFonteCaptacao.DESCRICAO, descricao));
      } else {
        filtroFonteCaptacao.adicionarParametro(
            new ComparacaoTexto(FiltroFonteCaptacao.DESCRICAO, descricao));
      }
      peloMenosUmParametroInformado = true;
    }

    if (descricaoAbreviada != null && !descricaoAbreviada.trim().equals("")) {

      filtroFonteCaptacao.adicionarParametro(
          new ParametroSimples(FiltroFonteCaptacao.DESCRICAO_ABREVIADA, descricaoAbreviada));
    }

    if (!peloMenosUmParametroInformado) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    Collection fonteCaptacao =
        fachada.pesquisar(filtroFonteCaptacao, FonteCaptacao.class.getName());

    if (fonteCaptacao != null && !fonteCaptacao.isEmpty()) {
      // Aciona o controle de paginação para que sejam pesquisados apenas
      // os registros que aparecem na página
      Map resultado =
          controlarPaginacao(
              httpServletRequest, retorno, filtroFonteCaptacao, FonteCaptacao.class.getName());
      fonteCaptacao = (Collection) resultado.get("colecaoRetorno");
      retorno = (ActionForward) resultado.get("destinoActionForward");
      sessao.setAttribute("fonteCaptacao", fonteCaptacao);

    } else {
      throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, "fonte captacao");
    }

    // Passa o parametro para o tipo de resultado e o tira da sessão
    httpServletRequest.setAttribute("tipoPesquisa", tipoPesquisa);

    return retorno;
  }
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {

    // Inicializacoes de variaveis
    ActionForward retorno = actionMapping.findForward("retornoPesquisa");
    HttpSession sessao = httpServletRequest.getSession(false);

    // Fachada fachada = Fachada.getInstancia();

    PesquisarUsuarioActionForm form = (PesquisarUsuarioActionForm) actionForm;

    String tipoUsuario = form.getTipoUsuario();
    String nomeUsuario = form.getNome();
    String matriculaFuncionario = form.getMatriculaFuncionario();
    String tipoPesquisa = (String) form.getTipoPesquisa();
    String login = form.getLogin();
    String idUnidadeOrganizacional = form.getIdUnidadeOrganizacional();

    // Matrícula mair q zero
    if (matriculaFuncionario.equals("0")) {
      throw new ActionServletException("atencao.matricula_usuario_maior_zero");
    }

    FiltroUsuario filtroUsuario = new FiltroUsuario();

    boolean peloMenosUm = false;

    // Pesquisa usuarioTipo
    filtroUsuario.adicionarCaminhoParaCarregamentoEntidade("usuarioTipo");
    if (tipoUsuario != null
        && (new Integer(tipoUsuario).intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO)) {
      filtroUsuario.adicionarParametro(
          new ParametroSimples(FiltroUsuario.USUARIO_TIPO_ID, tipoUsuario));
      peloMenosUm = true;
    }

    // Pesquisa nomeUsuario
    if (nomeUsuario != null && !nomeUsuario.equals("")) {
      peloMenosUm = true;
      if (tipoPesquisa != null
          && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {
        filtroUsuario.adicionarParametro(
            new ComparacaoTextoCompleto(FiltroUsuario.NOME_USUARIO, nomeUsuario));
      } else {
        filtroUsuario.adicionarParametro(
            new ComparacaoTexto(FiltroUsuario.NOME_USUARIO, nomeUsuario));
      }
    }

    if (login != null && !login.equals("")) {
      peloMenosUm = true;
      filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.LOGIN, login));
    }

    // Pesquisa matriculaFuncionario
    filtroUsuario.adicionarCaminhoParaCarregamentoEntidade("funcionario");
    if (matriculaFuncionario != null && !matriculaFuncionario.equals("")) {
      filtroUsuario.adicionarParametro(
          new ParametroSimples(FiltroUsuario.FUNCIONARIO_ID, matriculaFuncionario));
      peloMenosUm = true;
    }

    if (idUnidadeOrganizacional != null && !idUnidadeOrganizacional.equals("")) {
      peloMenosUm = true;
      filtroUsuario.adicionarParametro(
          new ParametroSimples(FiltroUsuario.UNIDADE_ORGANIZACIONAL_ID, idUnidadeOrganizacional));
    }

    if (!peloMenosUm) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    //

    Map resultado =
        controlarPaginacao(httpServletRequest, retorno, filtroUsuario, Usuario.class.getName());
    Collection collectionUsuario = (Collection) resultado.get("colecaoRetorno");
    retorno = (ActionForward) resultado.get("destinoActionForward");

    // Validações
    if (collectionUsuario == null || collectionUsuario.isEmpty()) {
      throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, "usuario");
    } else {
      sessao.setAttribute("collectionUsuario", collectionUsuario);
    }

    String popup = (String) sessao.getAttribute("popup");
    if (popup != null && popup.equals("2")) {
      sessao.setAttribute("popup", popup);
    } else {
      sessao.removeAttribute("popup");
    }

    return retorno;
  }
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {

    ActionForward retorno = actionMapping.findForward("exibirManterHidrometroDiametro");

    HttpSession sessao = httpServletRequest.getSession(false);

    Fachada fachada = Fachada.getInstancia();

    FiltrarHidrometroDiametroActionForm filtrarHidrometroDiametroActionForm =
        (FiltrarHidrometroDiametroActionForm) actionForm;

    FiltroHidrometroDiametro filtroHidrometroDiametro = new FiltroHidrometroDiametro();

    boolean peloMenosUmParametroInformado = false;

    String id = filtrarHidrometroDiametroActionForm.getId();
    String descricao = filtrarHidrometroDiametroActionForm.getDescricao();
    String descricaoAbreviada = filtrarHidrometroDiametroActionForm.getDescricaoAbreviada();
    String numeroOrdem = filtrarHidrometroDiametroActionForm.getNumeroOrdem();
    String indicadorUso = filtrarHidrometroDiametroActionForm.getIndicadorUso();
    String tipoPesquisa = filtrarHidrometroDiametroActionForm.getTipoPesquisa();

    // ID
    if (id != null && !id.trim().equals("")) {
      peloMenosUmParametroInformado = true;
      filtroHidrometroDiametro.adicionarParametro(
          new ParametroSimples(FiltroHidrometroDiametro.ID, id));
    }
    // Descricao
    if (descricao != null && !descricao.trim().equalsIgnoreCase("")) {
      peloMenosUmParametroInformado = true;
      if (tipoPesquisa != null
          && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {

        filtroHidrometroDiametro.adicionarParametro(
            new ComparacaoTextoCompleto(FiltroHidrometroDiametro.DESCRICAO, descricao));
      } else {

        filtroHidrometroDiametro.adicionarParametro(
            new ComparacaoTexto(FiltroHidrometroDiametro.DESCRICAO, descricao));
      }
    }

    // Descricao Abreviada
    if (descricaoAbreviada != null && !descricaoAbreviada.trim().equalsIgnoreCase("")) {

      peloMenosUmParametroInformado = true;
      filtroHidrometroDiametro.adicionarParametro(
          new ComparacaoTextoCompleto(
              FiltroHidrometroDiametro.DESCRICAO_ABREVIADA, descricaoAbreviada));
    } else {

      filtroHidrometroDiametro.adicionarParametro(
          new ComparacaoTexto(FiltroHidrometroDiametro.DESCRICAO_ABREVIADA, descricaoAbreviada));
    }

    // Número da Ordem
    if (numeroOrdem != null && !numeroOrdem.trim().equalsIgnoreCase("")) {

      peloMenosUmParametroInformado = true;
      filtroHidrometroDiametro.adicionarParametro(
          new ParametroSimples(FiltroHidrometroDiametro.NUMERO_ORDEM, numeroOrdem));
    }

    // Indicador uso
    if (indicadorUso != null && !indicadorUso.trim().equals("")) {
      peloMenosUmParametroInformado = true;
      filtroHidrometroDiametro.adicionarParametro(
          new ParametroSimples(FiltroHidrometroDiametro.INDICADOR_USO, indicadorUso));
    }

    Collection colecaoHidrometroDiametro =
        fachada.pesquisar(filtroHidrometroDiametro, HidrometroDiametro.class.getName());

    // Verificar a existencia de um Diametro do Hidrometro
    if (colecaoHidrometroDiametro.isEmpty()) {
      throw new ActionServletException(
          "atencao.pesquisa_inexistente", null, "Diâmetro do Hidrômetro");
    }

    // Filtragem sem parametros
    if (!peloMenosUmParametroInformado == true) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    // Pesquisa sem registros

    if (colecaoHidrometroDiametro == null || colecaoHidrometroDiametro.isEmpty()) {
      throw new ActionServletException(
          "atencao.pesquisa.nenhumresultado", null, "Diâmetro do Hidrômetro");
    } else {
      httpServletRequest.setAttribute("colecaoHidrometroDiametro", colecaoHidrometroDiametro);
      HidrometroDiametro hidrometroDiametro = new HidrometroDiametro();
      hidrometroDiametro =
          (HidrometroDiametro) Util.retonarObjetoDeColecao(colecaoHidrometroDiametro);
      String idRegistroAtualizacao = hidrometroDiametro.getId().toString();
      sessao.setAttribute("idRegistroAtualizacao", idRegistroAtualizacao);
    }

    sessao.setAttribute("filtroHidrometroDiametro", filtroHidrometroDiametro);

    httpServletRequest.setAttribute("filtroHidrometroDiametro", filtroHidrometroDiametro);

    return retorno;
  }
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {

    ActionForward retorno = actionMapping.findForward("exibirManterLocalArmazenagemHidrometro");

    HttpSession sessao = httpServletRequest.getSession(false);

    Fachada fachada = Fachada.getInstancia();

    FiltrarLocalArmazenagemHidrometroActionForm filtrarLocalArmazenagemHidrometroActionForm =
        (FiltrarLocalArmazenagemHidrometroActionForm) actionForm;

    FiltroHidrometroLocalArmazenagem filtroHidrometroLocalArmazenagem =
        new FiltroHidrometroLocalArmazenagem();

    boolean peloMenosUmParametroInformado = false;

    String id = filtrarLocalArmazenagemHidrometroActionForm.getId();
    String descricao = filtrarLocalArmazenagemHidrometroActionForm.getDescricao();
    String indicadorUso = filtrarLocalArmazenagemHidrometroActionForm.getIndicadorUso();
    String indicadorOficina = filtrarLocalArmazenagemHidrometroActionForm.getIndicadorOficina();
    String descricaoAbreviada = filtrarLocalArmazenagemHidrometroActionForm.getDescricaoAbreviada();
    String tipoPesquisa = filtrarLocalArmazenagemHidrometroActionForm.getTipoPesquisa();

    //		Indicador Atualizar
    String indicadorAtualizar = httpServletRequest.getParameter("indicadorAtualizar");

    if (indicadorAtualizar != null && !indicadorAtualizar.equals("")) {
      sessao.setAttribute("indicadorAtualizar", indicadorAtualizar);
    } else {
      sessao.removeAttribute("indicadorAtualizar");
    }

    // ID
    if (id != null && !id.trim().equals("")) {
      boolean achou = fachada.verificarExistenciaAgente(new Integer(id));
      if (achou) {
        peloMenosUmParametroInformado = true;

        filtroHidrometroLocalArmazenagem.adicionarParametro(
            new ParametroSimples(FiltroHidrometroLocalArmazenagem.ID, id));
      }
    }
    // Descricao
    if (descricao != null && !descricao.trim().equalsIgnoreCase("")) {
      peloMenosUmParametroInformado = true;
      if (tipoPesquisa != null
          && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {

        filtroHidrometroLocalArmazenagem.adicionarParametro(
            new ComparacaoTextoCompleto(FiltroHidrometroLocalArmazenagem.DESCRICAO, descricao));
      } else {

        filtroHidrometroLocalArmazenagem.adicionarParametro(
            new ComparacaoTexto(FiltroHidrometroLocalArmazenagem.DESCRICAO, descricao));
      }
    }
    // Descricao Abreviada

    if (descricaoAbreviada != null && !descricaoAbreviada.trim().equalsIgnoreCase("")) {
      peloMenosUmParametroInformado = true;
      if (tipoPesquisa != null
          && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) {

        filtroHidrometroLocalArmazenagem.adicionarParametro(
            new ComparacaoTextoCompleto(
                FiltroHidrometroLocalArmazenagem.DESCRICAO_ABREVIADA, descricaoAbreviada));
      } else {

        filtroHidrometroLocalArmazenagem.adicionarParametro(
            new ComparacaoTexto(
                FiltroHidrometroLocalArmazenagem.DESCRICAO_ABREVIADA, descricaoAbreviada));
      }
    }

    // Indicador uso
    if (indicadorUso != null && !indicadorUso.trim().equals("")) {
      peloMenosUmParametroInformado = true;
      filtroHidrometroLocalArmazenagem.adicionarParametro(
          new ParametroSimples(FiltroHidrometroLocalArmazenagem.INDICADOR_USO, indicadorUso));
    }

    // Indicador de Oficina
    if (indicadorOficina != null && !indicadorOficina.trim().equals("")) {
      peloMenosUmParametroInformado = true;
      filtroHidrometroLocalArmazenagem.adicionarParametro(
          new ParametroSimples(
              FiltroHidrometroLocalArmazenagem.INDICADOR_OFICINA, indicadorOficina));
    }

    Collection<HidrometroLocalArmazenagem> colecaoHidrometroLocalArmazenagem =
        fachada.pesquisar(
            filtroHidrometroLocalArmazenagem, HidrometroLocalArmazenagem.class.getName());

    // Verificar a existencia de um Grupo de cadastro
    if (colecaoHidrometroLocalArmazenagem.isEmpty()) {
      throw new ActionServletException(
          "atencao.pesquisa_inexistente", null, "Local de Armazenagem do Hidrômetro");
    }

    // Filtragem sem parametros
    if (!peloMenosUmParametroInformado == true) {
      throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
    }

    // Pesquisa sem registros

    if (colecaoHidrometroLocalArmazenagem == null || colecaoHidrometroLocalArmazenagem.isEmpty()) {
      throw new ActionServletException(
          "atencao.pesquisa.nenhumresultado", null, "HidrometroLocalArmazenagem");
    } else {
      httpServletRequest.setAttribute(
          "colecaoHidrometroLocalArmazenagem", colecaoHidrometroLocalArmazenagem);
      HidrometroLocalArmazenagem hidrometroLocalArmazenagem = new HidrometroLocalArmazenagem();
      hidrometroLocalArmazenagem =
          (HidrometroLocalArmazenagem)
              Util.retonarObjetoDeColecao(colecaoHidrometroLocalArmazenagem);
      String idRegistroAtualizar = hidrometroLocalArmazenagem.getId().toString();
      sessao.setAttribute("idRegistroAtualizar", idRegistroAtualizar);
    }

    sessao.setAttribute("filtroHidrometroLocalArmazenagem", filtroHidrometroLocalArmazenagem);

    httpServletRequest.setAttribute(
        "filtroHidrometroLocalArmazenagem", filtroHidrometroLocalArmazenagem);

    return retorno;
  }