/*
   * Métodos que farão a pesquisa da localidade ou do município
   * informado pelo usuário (Pressionando a telca ENTER).
   */
  private void pesquisarLocalidade(
      HttpServletRequest request, GerarRelatorioEvolucaoContasAReceberContabilActionForm form) {

    Fachada fachada = Fachada.getInstancia();

    FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
    filtroLocalidade.adicionarParametro(
        new ParametroSimples(FiltroLocalidade.ID, form.getCodigoLocalidade()));

    Collection pesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName());

    if (pesquisa != null && !pesquisa.isEmpty()) {
      Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(pesquisa);

      form.setCodigoLocalidade("" + localidade.getId());
      form.setDescricaoLocalidade(localidade.getDescricao());
    } else {
      form.setCodigoLocalidade("");
      form.setDescricaoLocalidade("Localidade Inexistente");
    }
  }
  private void pesquisarMunicipio(
      HttpServletRequest request, GerarRelatorioEvolucaoContasAReceberContabilActionForm form) {

    Fachada fachada = Fachada.getInstancia();

    FiltroMunicipio filtroMunicipio = new FiltroMunicipio();
    filtroMunicipio.adicionarParametro(
        new ParametroSimples(FiltroMunicipio.ID, form.getCodigoMunicipio()));

    Collection pesquisa = fachada.pesquisar(filtroMunicipio, Municipio.class.getName());

    if (pesquisa != null && !pesquisa.isEmpty()) {
      Municipio municipio = (Municipio) Util.retonarObjetoDeColecao(pesquisa);

      form.setCodigoMunicipio("" + municipio.getId());
      form.setDescricaoMunicipio(municipio.getNome());
    } else {
      form.setCodigoMunicipio("");
      form.setDescricaoMunicipio("Município Inexistente");
    }
  }
  public ActionForward execute(
      ActionMapping actionMapping,
      ActionForm actionForm,
      HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse) {

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

    Fachada fachada = Fachada.getInstancia();
    // ActionForm
    GerarRelatorioEvolucaoContasAReceberContabilActionForm form =
        (GerarRelatorioEvolucaoContasAReceberContabilActionForm) actionForm;

    FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional();

    Collection<GerenciaRegional> gerenciasRegionais =
        fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName());

    httpServletRequest.setAttribute("colecaoGerenciaRegional", gerenciasRegionais);

    FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio();
    filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME);
    Collection<UnidadeNegocio> colecaoUnidadeNegocio =
        fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName());

    httpServletRequest.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio);

    String pesquisarLocalidade = httpServletRequest.getParameter("pesquisarLocalidade");
    // Pesquisando a Localidade pelo código que o usuário digitou
    if (pesquisarLocalidade != null && pesquisarLocalidade.equalsIgnoreCase("OK")) {
      String codigoLocalidade = form.getCodigoLocalidade();
      if (codigoLocalidade != null && !codigoLocalidade.trim().equals("")) {
        pesquisarLocalidade(httpServletRequest, form);
      }
      // Localidade
      if (form.getCodigoLocalidade() != null
          && !form.getCodigoLocalidade().equals("")
          && form.getDescricaoLocalidade() != null
          && !form.getDescricaoLocalidade().equals("")) {
        httpServletRequest.setAttribute("localidadeEncontrada", true);
      }
    }
    String pesquisarMunicipio = httpServletRequest.getParameter("pesquisarMunicipio");
    // Pesquisando o município pelo código que o usuário digitou
    if (pesquisarMunicipio != null && pesquisarMunicipio.equalsIgnoreCase("OK")) {
      String codigoMunicipio = form.getCodigoMunicipio();
      if (codigoMunicipio != null && !codigoMunicipio.trim().equals("")) {
        pesquisarMunicipio(httpServletRequest, form);
      }
      // Município
      if (form.getCodigoMunicipio() != null
          && !form.getCodigoMunicipio().equals("")
          && form.getDescricaoMunicipio() != null
          && !form.getDescricaoMunicipio().equals("")) {
        httpServletRequest.setAttribute("municipioEncontrado", true);
      }
    }

    return retorno;
  }