package gcom.gui.seguranca.acesso.usuario; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ComparacaoTextoCompleto; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Map; 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 RetornarUsuarioPesquisarAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Inicializacoes de variaveis ActionForward retorno = actionMapping .findForward("retornoPesquisa"); HttpSession sessao = httpServletRequest.getSession(false); //Fachada fachada = Fachada.getInstancia(); PesquisarUsuarioActionForm form = (PesquisarUsuarioActionForm) actionForm; String tipoUsuario = form.getTipoUsuario(); String nomeUsuario = form.getNome(); String matriculaFuncionario = form.getMatriculaFuncionario(); String tipoPesquisa = (String) form.getTipoPesquisa(); String login = form.getLogin(); String idUnidadeOrganizacional = form.getIdUnidadeOrganizacional(); //Matr�cula mair q zero if (matriculaFuncionario.equals("0")){ throw new ActionServletException("atencao.matricula_usuario_maior_zero"); } FiltroUsuario filtroUsuario = new FiltroUsuario(); boolean peloMenosUm = false; //Pesquisa usuarioTipo filtroUsuario.adicionarCaminhoParaCarregamentoEntidade("usuarioTipo"); if(tipoUsuario != null && (new Integer(tipoUsuario).intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO)){ filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.USUARIO_TIPO_ID, tipoUsuario)); peloMenosUm = true; } //Pesquisa nomeUsuario if(nomeUsuario != null && !nomeUsuario.equals("")){ peloMenosUm = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroUsuario.adicionarParametro(new ComparacaoTextoCompleto( FiltroUsuario.NOME_USUARIO, nomeUsuario)); } else { filtroUsuario.adicionarParametro(new ComparacaoTexto( FiltroUsuario.NOME_USUARIO, nomeUsuario)); } } if(login != null && !login.equals("")){ peloMenosUm = true; filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.LOGIN, login)); } //Pesquisa matriculaFuncionario filtroUsuario.adicionarCaminhoParaCarregamentoEntidade("funcionario"); if(matriculaFuncionario != null && !matriculaFuncionario.equals("")){ filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.FUNCIONARIO_ID, matriculaFuncionario)); peloMenosUm = true; } if(idUnidadeOrganizacional != null && !idUnidadeOrganizacional.equals("")){ peloMenosUm = true; filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.UNIDADE_ORGANIZACIONAL_ID, idUnidadeOrganizacional)); } if (!peloMenosUm){ throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // Map resultado = controlarPaginacao(httpServletRequest, retorno, filtroUsuario, Usuario.class.getName()); Collection collectionUsuario = (Collection) resultado.get("colecaoRetorno"); retorno = (ActionForward) resultado.get("destinoActionForward"); //Valida��es if (collectionUsuario == null || collectionUsuario.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "usuario"); } else { sessao.setAttribute("collectionUsuario", collectionUsuario); } String popup = (String) sessao.getAttribute("popup"); if (popup != null && popup.equals("2")) { sessao.setAttribute("popup", popup); } else { sessao.removeAttribute("popup"); } return retorno; } }