package gcom.gui.cadastro.localidade; import gcom.cadastro.localidade.FiltroGrauDificuldadeExecucao; import gcom.cadastro.localidade.FiltroGrauIntermitencia; import gcom.cadastro.localidade.FiltroGrauRiscoSegurancaFisica; import gcom.cadastro.localidade.FiltroNivelPressao; import gcom.cadastro.localidade.GrauDificuldadeExecucao; import gcom.cadastro.localidade.GrauIntermitencia; import gcom.cadastro.localidade.GrauRiscoSegurancaFisica; import gcom.cadastro.localidade.NivelPressao; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.QuadraFace; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.operacional.Bacia; import gcom.operacional.DistritoOperacional; import gcom.operacional.FiltroBacia; import gcom.operacional.FiltroDistritoOperacional; import gcom.operacional.FiltroSistemaEsgoto; import gcom.operacional.SistemaEsgoto; import gcom.util.ConstantesSistema; import gcom.util.Util; 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; /** * Classe respons�vel pela exibi��o da tela de cadastro das faces de uma quadra * * @author Raphael Rossiter * @date 31/03/2009 * * @alteracao 28/04/2010 - CRC4066 - Adicionado o Grau de Dificuladade de Execu��o, o Grau de Risco Seguran�a F�sica, * o N�vel de Press�o e o Grau de Intermit�ncia. */ public class ExibirAdicionarQuadraFaceAction extends GcomAction{ private Collection colecaoPesquisa; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirAdicionarQuadraFace"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); AdicionarQuadraFaceActionForm adicionarQuadraFaceActionForm = (AdicionarQuadraFaceActionForm) actionForm; String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")) { switch (Integer.parseInt(objetoConsulta)) { //Distrito Operacional case 5: //DISTRITO OPERACIONAL INFORMADO String distritoOperacionalID = adicionarQuadraFaceActionForm .getDistritoOperacionalID(); FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarParametro(new ParametroSimples( FiltroDistritoOperacional.ID, distritoOperacionalID)); filtroDistritoOperacional.adicionarParametro(new ParametroSimples( FiltroDistritoOperacional.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoPesquisa = fachada.pesquisar(filtroDistritoOperacional, DistritoOperacional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { //DISTRITO OPERACIONAL N�O ENCONTRADO adicionarQuadraFaceActionForm.setDistritoOperacionalID(""); adicionarQuadraFaceActionForm.setDistritoOperacionalDescricao("Distrito operacional inexistente."); httpServletRequest.setAttribute("corDistritoOperacional", "exception"); httpServletRequest.setAttribute("nomeCampo", "distritoOperacionalID"); } else { DistritoOperacional objetoDistritoOperacional = (DistritoOperacional) Util .retonarObjetoDeColecao(colecaoPesquisa); adicionarQuadraFaceActionForm.setDistritoOperacionalID(String .valueOf(objetoDistritoOperacional.getId())); adicionarQuadraFaceActionForm.setDistritoOperacionalDescricao(objetoDistritoOperacional .getDescricao()); httpServletRequest.setAttribute("corDistritoOperacional", "valor"); httpServletRequest.setAttribute("nomeCampo", "setorCensitarioID"); } break; //Bacia case 7: //SISTEMA DE ESGOTO INFORMADO String sistemaEsgotoID = adicionarQuadraFaceActionForm.getSistemaEsgotoID(); if (sistemaEsgotoID != null && !sistemaEsgotoID .equalsIgnoreCase(String.valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { FiltroBacia filtroBacia = new FiltroBacia(); filtroBacia.adicionarParametro(new ParametroSimples( FiltroBacia.SISTEMA_ESGOTO_ID, sistemaEsgotoID)); filtroBacia.adicionarParametro(new ParametroSimples( FiltroBacia.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoPesquisa = fachada.pesquisar(filtroBacia, Bacia.class.getName()); sessao.setAttribute("colecaoBacia", colecaoPesquisa); } else { adicionarQuadraFaceActionForm.setBaciaID(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)); sessao.removeAttribute("colecaoBacia"); } break; default: break; } } //VINDO DO POPUP DE DISTRITO OPERACIONAL if (httpServletRequest.getParameter("idCampoEnviarDados") != null){ adicionarQuadraFaceActionForm.setDistritoOperacionalID( httpServletRequest.getParameter("idCampoEnviarDados")); adicionarQuadraFaceActionForm.setDistritoOperacionalDescricao( httpServletRequest.getParameter("descricaoCampoEnviarDados")); } httpServletRequest.setAttribute("nomeCampo", "numeroFace"); //PREPARANDO O FORMUL�RIO PARA INSERIR prepararFormularioInserir(httpServletRequest, sessao, fachada, adicionarQuadraFaceActionForm); //PREPARANDO O FORMUL�RIO PARA ATUALIZAR prepararFormularioAtualizar(httpServletRequest, adicionarQuadraFaceActionForm, sessao, fachada); //MONTANDO URL DE RETORNO if (httpServletRequest.getParameter("telaRetorno") != null){ sessao.setAttribute("telaRetorno", (String.valueOf(httpServletRequest.getParameter("telaRetorno"))) + ".do?retornoQuadraFace=OK"); } //PESQUISAR DISTRITO OPERACIONAL PELO POPUP if (httpServletRequest.getParameter("pesquisarDistrito") != null){ retorno = actionMapping.findForward("pesquisarDistritoOperacional"); } return retorno; } private void prepararFormularioAtualizar(HttpServletRequest httpServletRequest, AdicionarQuadraFaceActionForm adicionarQuadraFaceActionForm, HttpSession sessao, Fachada fachada){ if (httpServletRequest.getParameter("acao") != null && httpServletRequest.getParameter("acao").equalsIgnoreCase("atualizar")){ adicionarQuadraFaceActionForm.setAcao("atualizar"); Collection colecaoQuadraFace = (Collection) sessao.getAttribute("colecaoQuadraFace"); Integer numeroQuadraFaceParaAtualizar = Integer.valueOf( httpServletRequest.getParameter("numeroQuadraFace")); Iterator it = colecaoQuadraFace.iterator(); QuadraFace quadraFace = null; while (it.hasNext()){ quadraFace = (QuadraFace) it.next(); if (quadraFace.getNumeroQuadraFace().equals(numeroQuadraFaceParaAtualizar)){ break; } } // CARREGANDO AS INFORMA�OES DA FACE DA QUADRA NO FORMULARIO if(quadraFace.getGrauDificuldadeExecucao() != null){ adicionarQuadraFaceActionForm.setGrauDificuldadeExecucaoID(String.valueOf(quadraFace .getGrauDificuldadeExecucao().getId())); }else{ adicionarQuadraFaceActionForm.setGrauDificuldadeExecucaoID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); } if(quadraFace.getGrauRiscoSegurancaFisica() != null){ adicionarQuadraFaceActionForm.setGrauRiscoSegurancaFisicaID(String.valueOf(quadraFace .getGrauRiscoSegurancaFisica().getId())); }else{ adicionarQuadraFaceActionForm.setGrauRiscoSegurancaFisicaID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); } if(quadraFace.getCondicaoAbastecimentoAgua() != null){ adicionarQuadraFaceActionForm.setNivelPressaoID(String.valueOf(quadraFace .getCondicaoAbastecimentoAgua().getNivelPressao().getId())); adicionarQuadraFaceActionForm.setGrauIntermitenciaID(String.valueOf(quadraFace .getCondicaoAbastecimentoAgua().getGrauIntermitencia().getId())); }else{ adicionarQuadraFaceActionForm.setNivelPressaoID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); adicionarQuadraFaceActionForm.setGrauIntermitenciaID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); } //CARREGANDO AS INFORMA�OES DA FACE DA QUADRA NO FORMULARIO adicionarQuadraFaceActionForm.setNumeroFace(quadraFace.getNumeroQuadraFace().toString()); adicionarQuadraFaceActionForm.setIndicadorRedeAguaAux(quadraFace.getIndicadorRedeAgua().toString()); adicionarQuadraFaceActionForm.setIndicadorRedeEsgotoAux(quadraFace.getIndicadorRedeEsgoto().toString()); //GRAU DIFICULDADE EXECU��O FiltroGrauDificuldadeExecucao filtroGrauDificuldadeExecucao = new FiltroGrauDificuldadeExecucao(); filtroGrauDificuldadeExecucao.adicionarParametro(new ParametroSimples( FiltroGrauDificuldadeExecucao.INDICADOR_GRAU_DIFICULDADE_EXECUCAO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoGrauDificuldade = null; colecaoGrauDificuldade = fachada.pesquisar(filtroGrauDificuldadeExecucao, GrauDificuldadeExecucao.class.getName()); if (colecaoGrauDificuldade == null || colecaoGrauDificuldade.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Grau_Dificuldade_Execucao"); } else { sessao.setAttribute("colecaoGrauDificuldadeExecucao", colecaoGrauDificuldade); } //GRAU DE RISCO SEGURAN�A F�SICA FiltroGrauRiscoSegurancaFisica filtroGrauRiscoSegurancaFisica = new FiltroGrauRiscoSegurancaFisica(); filtroGrauRiscoSegurancaFisica.adicionarParametro(new ParametroSimples( FiltroGrauRiscoSegurancaFisica.INDICADOR_GRAU_RISCO_SEGURANCA_FISICA, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoGrauRisco = null; colecaoGrauRisco = fachada.pesquisar(filtroGrauRiscoSegurancaFisica, GrauRiscoSegurancaFisica.class.getName()); if (colecaoGrauRisco == null || colecaoGrauRisco.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Grau_Risco_Seguranca_Fisica"); } else { sessao.setAttribute("colecaoGrauRiscoSegurancaFisica", colecaoGrauRisco); } //N�VEL DE PRESS�O FiltroNivelPressao filtroNivelPressao = new FiltroNivelPressao(); filtroNivelPressao.adicionarParametro(new ParametroSimples( FiltroNivelPressao.INDICADOR_NIVEL_PRESSAO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoNivelPressao = null; colecaoNivelPressao = fachada.pesquisar(filtroNivelPressao, NivelPressao.class.getName()); if (colecaoNivelPressao == null || colecaoNivelPressao.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Nivel_Pressao"); } else { sessao.setAttribute("colecaoNivelPressao", colecaoNivelPressao); } //GRAU DE INTERMIT�NCIA FiltroGrauIntermitencia filtroGrauIntermitencia = new FiltroGrauIntermitencia(); filtroGrauIntermitencia.adicionarParametro(new ParametroSimples( FiltroGrauIntermitencia.INDICADOR_GRAU_INTERMITENCIA, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoIntermitencia = null; colecaoIntermitencia = fachada.pesquisar(filtroGrauIntermitencia, GrauIntermitencia.class.getName()); if (colecaoIntermitencia == null || colecaoIntermitencia.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Grau_Intermitencia"); } else { sessao.setAttribute("colecaoGrauIntermitencia", colecaoIntermitencia); } //SISTEMA_ESGOTO FiltroSistemaEsgoto filtroSistemaEsgoto = new FiltroSistemaEsgoto(); filtroSistemaEsgoto.adicionarParametro(new ParametroSimples( FiltroSistemaEsgoto.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoPesquisa = fachada.pesquisar(filtroSistemaEsgoto, SistemaEsgoto.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Sistema_Esgoto"); } else { sessao.setAttribute("colecaoSistemaEsgoto", colecaoPesquisa); } if (quadraFace.getBacia() != null){ FiltroBacia filtroBacia = new FiltroBacia(); filtroBacia.adicionarParametro(new ParametroSimples( FiltroBacia.SISTEMA_ESGOTO_ID, quadraFace.getBacia().getSistemaEsgoto().getId())); filtroBacia.adicionarParametro(new ParametroSimples( FiltroBacia.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoPesquisa = fachada.pesquisar(filtroBacia, Bacia.class.getName()); sessao.setAttribute("colecaoBacia", colecaoPesquisa); adicionarQuadraFaceActionForm.setSistemaEsgotoID(quadraFace.getBacia().getSistemaEsgoto().getId().toString()); adicionarQuadraFaceActionForm.setBaciaID(quadraFace.getBacia().getId().toString()); } if (quadraFace.getDistritoOperacional() != null){ adicionarQuadraFaceActionForm.setDistritoOperacionalID(quadraFace.getDistritoOperacional().getId().toString()); adicionarQuadraFaceActionForm.setDistritoOperacionalDescricao(quadraFace.getDistritoOperacional().getDescricao()); } } } private void prepararFormularioInserir(HttpServletRequest httpServletRequest, HttpSession sessao, Fachada fachada, AdicionarQuadraFaceActionForm adicionarQuadraFaceActionForm){ if (httpServletRequest.getParameter("acao") != null && httpServletRequest.getParameter("acao").equalsIgnoreCase("inserir")){ // -------------- bt DESFAZER --------------- adicionarQuadraFaceActionForm.setAcao("inserir"); adicionarQuadraFaceActionForm.setNumeroFace(""); adicionarQuadraFaceActionForm.setIndicadorRedeAguaAux(Quadra.COM_REDE.toString()); adicionarQuadraFaceActionForm.setIndicadorRedeEsgotoAux(Quadra.COM_REDE.toString()); adicionarQuadraFaceActionForm.setBaciaID(""); adicionarQuadraFaceActionForm.setDistritoOperacionalDescricao(""); adicionarQuadraFaceActionForm.setDistritoOperacionalID(""); adicionarQuadraFaceActionForm.setSistemaEsgotoID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); adicionarQuadraFaceActionForm.setGrauDificuldadeExecucaoID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); adicionarQuadraFaceActionForm.setGrauRiscoSegurancaFisicaID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); adicionarQuadraFaceActionForm.setNivelPressaoID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); adicionarQuadraFaceActionForm.setGrauIntermitenciaID("" + ConstantesSistema.NUMERO_NAO_INFORMADO); //SISTEMA_ESGOTO FiltroSistemaEsgoto filtroSistemaEsgoto = new FiltroSistemaEsgoto(); filtroSistemaEsgoto.adicionarParametro(new ParametroSimples( FiltroSistemaEsgoto.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoPesquisa = fachada.pesquisar(filtroSistemaEsgoto, SistemaEsgoto.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Sistema_Esgoto"); } else { sessao.setAttribute("colecaoSistemaEsgoto", colecaoPesquisa); } //GRAU DIFICULDADE EXECU��O FiltroGrauDificuldadeExecucao filtroGrauDificuldadeExecucao = new FiltroGrauDificuldadeExecucao(); filtroGrauDificuldadeExecucao.adicionarParametro(new ParametroSimples( FiltroGrauDificuldadeExecucao.INDICADOR_GRAU_DIFICULDADE_EXECUCAO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoGrauDificuldade = null; colecaoGrauDificuldade = fachada.pesquisar(filtroGrauDificuldadeExecucao, GrauDificuldadeExecucao.class.getName()); if (colecaoGrauDificuldade == null || colecaoGrauDificuldade.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Grau_Dificuldade_Execucao"); } else { sessao.setAttribute("colecaoGrauDificuldadeExecucao", colecaoGrauDificuldade); } //GRAU DE RISCO SEGURAN�A F�SICA FiltroGrauRiscoSegurancaFisica filtroGrauRiscoSegurancaFisica = new FiltroGrauRiscoSegurancaFisica(); filtroGrauRiscoSegurancaFisica.adicionarParametro(new ParametroSimples( FiltroGrauRiscoSegurancaFisica.INDICADOR_GRAU_RISCO_SEGURANCA_FISICA, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoGrauRisco = null; colecaoGrauRisco = fachada.pesquisar(filtroGrauRiscoSegurancaFisica, GrauRiscoSegurancaFisica.class.getName()); if (colecaoGrauRisco == null || colecaoGrauRisco.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Grau_Risco_Seguranca_Fisica"); } else { sessao.setAttribute("colecaoGrauRiscoSegurancaFisica", colecaoGrauRisco); } //N�VEL DE PRESS�O FiltroNivelPressao filtroNivelPressao = new FiltroNivelPressao(); filtroNivelPressao.adicionarParametro(new ParametroSimples( FiltroNivelPressao.INDICADOR_NIVEL_PRESSAO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoNivelPressao = null; colecaoNivelPressao = fachada.pesquisar(filtroNivelPressao, NivelPressao.class.getName()); if (colecaoNivelPressao == null || colecaoNivelPressao.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Nivel_Pressao"); } else { sessao.setAttribute("colecaoNivelPressao", colecaoNivelPressao); } //GRAU DE INTERMIT�NCIA FiltroGrauIntermitencia filtroGrauIntermitencia = new FiltroGrauIntermitencia(); filtroGrauIntermitencia.adicionarParametro(new ParametroSimples( FiltroGrauIntermitencia.INDICADOR_GRAU_INTERMITENCIA, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoIntermitencia = null; colecaoIntermitencia = fachada.pesquisar(filtroGrauIntermitencia, GrauIntermitencia.class.getName()); if (colecaoIntermitencia == null || colecaoIntermitencia.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "Grau_Risco_Seguranca_Fisica"); } else { sessao.setAttribute("colecaoGrauIntermitencia", colecaoIntermitencia); } } } }