package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.ordemservico.FiltroServicoTipo; import gcom.atendimentopublico.ordemservico.ServicoTipo; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; 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; /** * Action respons�vel pela pre-exibi��o * * @author S�vio Luiz * @created 28 de Julho de 2006 */ public class ExibirAdicionarSolicitacaoEspecificacaoTipoServicoAction extends GcomAction { /** * 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) { // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Set no mapeamento de retorno ActionForward retorno = actionMapping .findForward("adicionarSolicitacaoEspecificacaoTipoServico"); AdicionarSolicitacaoEspecificacaoActionForm adicionarSolicitacaoEspecificacaoActionForm = (AdicionarSolicitacaoEspecificacaoActionForm) actionForm; // Obt�m a inst�ncia da Fachada Fachada fachada = Fachada.getInstancia(); // caso exista o parametro ent�o limpa a sess�o e o form if (httpServletRequest.getParameter("limpaSessao") != null && !httpServletRequest.getParameter("limpaSessao").equals("")) { adicionarSolicitacaoEspecificacaoActionForm .setDescricaoTipoServico(""); adicionarSolicitacaoEspecificacaoActionForm.setIdTipoServico(""); adicionarSolicitacaoEspecificacaoActionForm.setOrdemExecucao(""); } // recupera o caminho de retorno passado como parametro no jsp que chama // essa funcionalidade if (httpServletRequest.getParameter("retornarTelaPopup") != null) { sessao.setAttribute("retornarTelaPopup", httpServletRequest .getParameter("retornarTelaPopup")); } // Verifica se o tipoConsulta � diferente de nulo ou vazio.Nesse caso � // quando um o retorno da consulta vem para o action ao inves de ir // direto para o jsp if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { // verifica se retornou da pesquisa de tipo de servi�o if (httpServletRequest.getParameter("tipoConsulta").equals( "tipoServico")) { adicionarSolicitacaoEspecificacaoActionForm .setIdTipoServico(httpServletRequest .getParameter("idCampoEnviarDados")); adicionarSolicitacaoEspecificacaoActionForm .setDescricaoTipoServico(httpServletRequest .getParameter("descricaoCampoEnviarDados")); } } // -------Parte que trata do c�digo quando o usu�rio tecla enter String idTipoServico = (String) adicionarSolicitacaoEspecificacaoActionForm .getIdTipoServico(); String descricaoServico = adicionarSolicitacaoEspecificacaoActionForm .getDescricaoTipoServico(); // Verifica se o c�digo foi digitado pela primeira vez ou se foi // modificado if (idTipoServico != null && !idTipoServico.trim().equals("") && (descricaoServico == null || descricaoServico.trim().equals( ""))) { FiltroServicoTipo filtroServicoTipo = new FiltroServicoTipo(); filtroServicoTipo.adicionarParametro(new ParametroSimples( FiltroServicoTipo.ID, idTipoServico)); Collection servicoTipoEncontrado = fachada.pesquisar( filtroServicoTipo, ServicoTipo.class.getName()); if (servicoTipoEncontrado != null && !servicoTipoEncontrado.isEmpty()) { adicionarSolicitacaoEspecificacaoActionForm.setIdTipoServico("" + ((ServicoTipo) ((List) servicoTipoEncontrado).get(0)) .getId()); adicionarSolicitacaoEspecificacaoActionForm .setDescricaoTipoServico(((ServicoTipo) ((List) servicoTipoEncontrado) .get(0)).getDescricao()); httpServletRequest.setAttribute("idTipoServicoNaoEncontrado", "true"); httpServletRequest.setAttribute("nomeCampo", "ordemExecucao"); } else { adicionarSolicitacaoEspecificacaoActionForm .setIdTipoServico(""); httpServletRequest.setAttribute("nomeCampo", "idServicoOS"); httpServletRequest.setAttribute("idTipoServicoNaoEncontrado", "exception"); adicionarSolicitacaoEspecificacaoActionForm .setDescricaoTipoServico("Tipo Servi�o Inexistente"); } } sessao.removeAttribute("caminhoRetornoTelaPesquisaServicoTipo"); // -------Fim da Parte que trata do c�digo quando o usu�rio tecla enter return retorno; } }