package gcom.gui.cadastro.localidade; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class ExibirFiltrarLocalidadeAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping.findForward("filtrarLocalidade"); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); if (sessao.getAttribute("consulta") != null) { sessao.removeAttribute("consulta"); } FiltrarLocalidadeActionForm filtrarLocalidadeActionForm = (FiltrarLocalidadeActionForm) actionForm; Collection colecaoPesquisa; if (sessao.getAttribute("colecaoGerenciaRegional") == null) { // Carregamento inicial do formul�rio. FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME_ABREVIADO); filtroGerenciaRegional.adicionarParametro(new ParametroSimples( FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional colecaoPesquisa = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Nenhum registro na tabela gerencia_regional foi encontrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "Gerencia_Regional"); } else { GerenciaRegional gerenciaRegional = null; Iterator iterator = colecaoPesquisa.iterator(); while (iterator.hasNext()) { gerenciaRegional = (GerenciaRegional) iterator.next(); String descGerenciaRegional = gerenciaRegional .getNomeAbreviado() + "-" + gerenciaRegional.getNome(); gerenciaRegional.setNome(descGerenciaRegional); } sessao.setAttribute("colecaoGerenciaRegional", colecaoPesquisa); } } if (sessao.getAttribute("colecaoUnidadeNegocio") == null) { // Carregamento inicial do formul�rio. FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME_ABREVIADO); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples( FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional Collection colecaoUnidadeNegocio = fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName()); if (colecaoUnidadeNegocio == null || colecaoUnidadeNegocio.isEmpty()) { // Nenhum registro na tabela gerencia_regional foi encontrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "Unidade de Neg�cio"); } else { UnidadeNegocio unidadeNegocio = null; Iterator iterator = colecaoUnidadeNegocio.iterator(); while (iterator.hasNext()) { unidadeNegocio = (UnidadeNegocio) iterator.next(); String descUnidadeNegocio = unidadeNegocio .getNomeAbreviado() + "-" + unidadeNegocio.getNome(); unidadeNegocio.setNome(descUnidadeNegocio); } sessao.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); } } String objetoConsulta = (String) httpServletRequest .getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")) { switch (Integer.parseInt(objetoConsulta)) { case 1: String idGerenciaRegional = filtrarLocalidadeActionForm.getGerenciaID(); if(idGerenciaRegional != null && !idGerenciaRegional.equals(ConstantesSistema.NUMERO_NAO_INFORMADO+"")){ // Carregamento inicial do formul�rio. FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples(FiltroUnidadeNegocio.ID_GERENCIA,idGerenciaRegional)); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples( FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional Collection colecaoUnidadeNegocio = fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName()); if (colecaoUnidadeNegocio == null || colecaoUnidadeNegocio.isEmpty()) { // Nenhum registro na tabela gerencia_regional foi encontrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "Unidade de Neg�cio"); } else { UnidadeNegocio unidadeNegocio = null; Iterator iterator = colecaoUnidadeNegocio.iterator(); while (iterator.hasNext()) { unidadeNegocio = (UnidadeNegocio) iterator.next(); String descUnidadeNegocio = unidadeNegocio .getNomeAbreviado() + "-" + unidadeNegocio.getNome(); unidadeNegocio.setNome(descUnidadeNegocio); } sessao.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); } }else{ // Carregamento inicial do formul�rio. FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples( FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional Collection colecaoUnidadeNegocio = fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName()); if (colecaoUnidadeNegocio == null || colecaoUnidadeNegocio.isEmpty()) { // Nenhum registro na tabela gerencia_regional foi encontrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "Unidade de Neg�cio"); } else { UnidadeNegocio unidadeNegocio = null; Iterator iterator = colecaoUnidadeNegocio.iterator(); while (iterator.hasNext()) { unidadeNegocio = (UnidadeNegocio) iterator.next(); String descUnidadeNegocio = unidadeNegocio .getNomeAbreviado() + "-" + unidadeNegocio.getNome(); unidadeNegocio.setNome(descUnidadeNegocio); } sessao.setAttribute("colecaoUnidadeNegocio", colecaoUnidadeNegocio); } } break; case 2: String idUnidadeNegocio = filtrarLocalidadeActionForm.getIdUnidadeNegocio(); if(idUnidadeNegocio != null && !idUnidadeNegocio.equals(ConstantesSistema.NUMERO_NAO_INFORMADO+"")){ // Carregamento inicial do formul�rio. FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.adicionarCaminhoParaCarregamentoEntidade("gerenciaRegional"); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples(FiltroUnidadeNegocio.ID,idUnidadeNegocio)); filtroUnidadeNegocio.adicionarParametro(new ParametroSimples( FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional Collection colecaoUnidadeNegocio = fachada.pesquisar(filtroUnidadeNegocio, UnidadeNegocio.class.getName()); UnidadeNegocio unidadeNegocio = (UnidadeNegocio) colecaoUnidadeNegocio.iterator().next(); // Carregamento inicial do formul�rio. FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.adicionarParametro(new ParametroSimples(FiltroGerenciaRegional.ID, unidadeNegocio.getGerenciaRegional().getId())); filtroGerenciaRegional.adicionarParametro(new ParametroSimples( FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional colecaoPesquisa = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Nenhum registro na tabela gerencia_regional foi encontrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "Gerencia_Regional"); } else { GerenciaRegional gerenciaRegional = null; Iterator iterator = colecaoPesquisa.iterator(); while (iterator.hasNext()) { gerenciaRegional = (GerenciaRegional) iterator.next(); filtrarLocalidadeActionForm.setGerenciaID(gerenciaRegional.getId().toString()); String descGerenciaRegional = gerenciaRegional .getNomeAbreviado() + "-" + gerenciaRegional.getNome(); gerenciaRegional.setNome(descGerenciaRegional); } sessao.setAttribute("colecaoGerenciaRegional", colecaoPesquisa); } }else{ // Carregamento inicial do formul�rio. FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.adicionarParametro(new ParametroSimples( FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Gerencia_Regional colecaoPesquisa = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Nenhum registro na tabela gerencia_regional foi encontrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "Gerencia_Regional"); } else { GerenciaRegional gerenciaRegional = null; Iterator iterator = colecaoPesquisa.iterator(); while (iterator.hasNext()) { gerenciaRegional = (GerenciaRegional) iterator.next(); String descGerenciaRegional = gerenciaRegional .getNomeAbreviado() + "-" + gerenciaRegional.getNome(); gerenciaRegional.setNome(descGerenciaRegional); } sessao.setAttribute("colecaoGerenciaRegional", colecaoPesquisa); } } default: break; } } if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer") .equalsIgnoreCase("S")) { // -------------- bt LIMPAR --------------- // Limpando o formulario filtrarLocalidadeActionForm.setLocalidadeID(""); filtrarLocalidadeActionForm.setLocalidadeNome(""); filtrarLocalidadeActionForm.setIndicadorUso("3"); filtrarLocalidadeActionForm.setOrdernarPor("1"); filtrarLocalidadeActionForm .setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL .toString()); filtrarLocalidadeActionForm.setIdUnidadeNegocio("" + ConstantesSistema.NUMERO_NAO_INFORMADO); filtrarLocalidadeActionForm.setGerenciaID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); sessao.setAttribute("indicadorAtualizar", "1"); } if (filtrarLocalidadeActionForm.getIndicadorUso() == null || filtrarLocalidadeActionForm.getIndicadorUso() .equalsIgnoreCase("")) { filtrarLocalidadeActionForm.setIndicadorUso("3"); } if (filtrarLocalidadeActionForm.getOrdernarPor() == null || filtrarLocalidadeActionForm.getOrdernarPor() .equalsIgnoreCase("")) { filtrarLocalidadeActionForm.setOrdernarPor("1"); } if (filtrarLocalidadeActionForm.getTipoPesquisa() == null || filtrarLocalidadeActionForm.getTipoPesquisa() .equalsIgnoreCase("")) { filtrarLocalidadeActionForm .setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL .toString()); } // c�digo para checar ou naum o Atualizar String primeiraVez = httpServletRequest.getParameter("menu"); if (primeiraVez != null && !primeiraVez.equals("")) { sessao.setAttribute("indicadorAtualizar", "1"); filtrarLocalidadeActionForm.setIndicadorUso("3"); filtrarLocalidadeActionForm.setOrdernarPor("1"); filtrarLocalidadeActionForm .setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL .toString()); } // se voltou da tela de Atualizar Localidade if (sessao.getAttribute("voltar") != null && sessao.getAttribute("voltar").equals("filtrar")) { sessao.setAttribute("indicadorAtualizar", "1"); if(sessao.getAttribute("tipoPesquisa") != null){ filtrarLocalidadeActionForm.setTipoPesquisa(sessao.getAttribute("tipoPesquisa").toString()); } } sessao.removeAttribute("voltar"); sessao.removeAttribute("idRegistroAtualizacao"); sessao.removeAttribute("tipoPesquisa"); // devolve o mapeamento de retorno return retorno; } }