package gcom.gui.operacional; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.operacional.DistritoOperacional; import gcom.operacional.FiltroDistritoOperacional; import gcom.operacional.FiltroZonaPressao; import gcom.operacional.ZonaPressao; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * * @author Vinicius Medeiros * @date 21/05/2008 */ public class ExibirAtualizarZonaPressaoAction extends GcomAction { /** * M�todo responsavel por responder a requisicao * * @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 */ private String distritoOperacionalID; private Collection colecaoPesquisa; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o caminho de retorno ActionForward retorno = actionMapping .findForward("zonaPressaoAtualizar"); AtualizarZonaPressaoActionForm atualizarZonaPressaoActionForm = (AtualizarZonaPressaoActionForm) actionForm; // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Mudar quando houver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); ZonaPressao zonaPressao = new ZonaPressao(); String id = httpServletRequest.getParameter("idRegistroAtualizacao"); String objetoConsulta = (String) httpServletRequest .getParameter("objetoConsulta"); FiltroZonaPressao filtroZonaPressao = new FiltroZonaPressao(); filtroZonaPressao.adicionarCaminhoParaCarregamentoEntidade(FiltroZonaPressao.DISTRITO_OPERACIONAL); String zonaPressaoID = null; if ((objetoConsulta == null || objetoConsulta.equalsIgnoreCase("")) && (httpServletRequest.getParameter("desfazer") == null)) { // Recupera o id da Zona de Pressao que vai ser atualizada if (httpServletRequest.getParameter("idRegistroInseridoAtualizar") != null) { zonaPressaoID = httpServletRequest.getParameter("idRegistroInseridoAtualizar"); // Define a volta do bot�o Voltar para Filtrar Zona de Press�o sessao.setAttribute("voltar", "filtrar"); sessao.setAttribute("idRegistroAtualizar", zonaPressaoID); sessao.setAttribute("indicadorUso", "3"); } else if (httpServletRequest.getParameter("idRegistroAtualizar") == null) { zonaPressaoID = (String) sessao.getAttribute("idRegistroAtualizar"); // Define a volta do bot�o Voltar para Filtrar Zona de Press�o sessao.setAttribute("voltar", "filtrar"); } else if (httpServletRequest.getParameter("idRegistroAtualizar") != null) { zonaPressaoID = httpServletRequest.getParameter("idRegistroAtualizar"); // Define a volta do bot�o Voltar para Manter Zona de Press�o sessao.setAttribute("voltar", "manter"); sessao.setAttribute("idRegistroAtualizar", zonaPressaoID); } } else { zonaPressaoID = (String) sessao.getAttribute("idRegistroAtualizar"); } if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")) { // Recebe o valor do campo distritoOperacionalID do formul�rio. distritoOperacionalID = atualizarZonaPressaoActionForm.getDistritoOperacionalID(); switch (Integer.parseInt(objetoConsulta)) { // Distrito Operacional case 1: FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarParametro( new ParametroSimples(FiltroDistritoOperacional.ID, distritoOperacionalID)); filtroDistritoOperacional.adicionarParametro( new ParametroSimples(FiltroDistritoOperacional.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Distrito Operacional colecaoPesquisa = fachada.pesquisar( filtroDistritoOperacional,DistritoOperacional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Distrito Operacional nao encontrado // Limpa o campo distritoOperacionalID do formul�rio atualizarZonaPressaoActionForm.setDistritoOperacionalID(""); atualizarZonaPressaoActionForm.setDistritoOperacionalDescricao("Distrito operacional inexistente."); httpServletRequest.setAttribute("corDistritoOperacional","exception"); httpServletRequest.setAttribute("nomeCampo","distritoOperacionalID"); } else { DistritoOperacional objetoDistritoOperacional = (DistritoOperacional) Util.retonarObjetoDeColecao(colecaoPesquisa); atualizarZonaPressaoActionForm.setDistritoOperacionalID( String.valueOf(objetoDistritoOperacional.getId())); atualizarZonaPressaoActionForm.setDistritoOperacionalDescricao( objetoDistritoOperacional.getDescricao()); httpServletRequest.setAttribute("corDistritoOperacional","valor"); httpServletRequest.setAttribute("nomeCampo","distritoOperacionalID"); } break; } } // Verifica se veio do Filtrar ou do Manter if (httpServletRequest.getParameter("manter") != null) { sessao.setAttribute("manter", true); } else if (httpServletRequest.getParameter("filtrar") != null) { sessao.removeAttribute("manter"); } if (id == null) { if (httpServletRequest.getAttribute("idRegistroAtualizacao") == null) { id = (String) sessao.getAttribute("idRegistroAtualizacao"); } else { id = (String) httpServletRequest.getAttribute("idRegistroAtualizacao").toString(); } } else { sessao.setAttribute("i", true); } if (zonaPressao.getDistritoOperacional() != null) { atualizarZonaPressaoActionForm.setDistritoOperacionalID( zonaPressao.getDistritoOperacional().getId().toString()); atualizarZonaPressaoActionForm.setDistritoOperacionalDescricao( zonaPressao.getDistritoOperacional().getDescricao()); } if (zonaPressao == null) { if (id != null && !id.equals("")) { FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarCaminhoParaCarregamentoEntidade("distritoOperacional"); filtroDistritoOperacional.adicionarParametro( new ParametroSimples(FiltroDistritoOperacional.ID, id)); Collection colecaoZonaPressao = fachada.pesquisar( filtroDistritoOperacional, DistritoOperacional.class.getName()); if (colecaoZonaPressao != null && !colecaoZonaPressao.isEmpty()) { zonaPressao = (ZonaPressao) Util.retonarObjetoDeColecao(colecaoZonaPressao); } } } if (id != null && !id.trim().equals("") && Integer.parseInt(id) > 0) { filtroZonaPressao.adicionarParametro( new ParametroSimples(FiltroZonaPressao.ID, id)); Collection colecaoZonaPressao = fachada.pesquisar( filtroZonaPressao, ZonaPressao.class.getName()); if (colecaoZonaPressao != null && !colecaoZonaPressao.isEmpty()) { zonaPressao = (ZonaPressao) Util.retonarObjetoDeColecao(colecaoZonaPressao); } if (id == null || id.trim().equals("")) { atualizarZonaPressaoActionForm.setId(zonaPressao.getId().toString()); atualizarZonaPressaoActionForm.setDescricao(zonaPressao.getDescricaoZonaPressao()); atualizarZonaPressaoActionForm.setDescricaoAbreviada(zonaPressao.getDescricaoAbreviada()); atualizarZonaPressaoActionForm.setDistritoOperacionalID( zonaPressao.getDistritoOperacional().getId().toString()); atualizarZonaPressaoActionForm.setDistritoOperacionalDescricao( zonaPressao.getDistritoOperacional().getDescricao()); } atualizarZonaPressaoActionForm.setId(id); atualizarZonaPressaoActionForm.setDescricao(zonaPressao.getDescricaoZonaPressao()); atualizarZonaPressaoActionForm.setDescricaoAbreviada(zonaPressao.getDescricaoAbreviada()); atualizarZonaPressaoActionForm.setIndicadorUso(""+ zonaPressao.getIndicadorUso()); atualizarZonaPressaoActionForm.setDistritoOperacionalID( zonaPressao.getDistritoOperacional().getId().toString()); atualizarZonaPressaoActionForm.setDistritoOperacionalDescricao( zonaPressao.getDistritoOperacional().getDescricao()); sessao.setAttribute("atualizarZonaPressao", zonaPressao); if (sessao.getAttribute("colecaoZonaPressao") != null) { sessao.setAttribute("caminhoRetornoVoltar", "/gsan/filtrarZonaPressaoAction.do"); } else { sessao.setAttribute("caminhoRetornoVoltar", "/gsan/exibirFiltrarZonaPressaoAction.do"); } } return retorno; } }