package gcom.gui.cadastro.funcionario; import gcom.cadastro.funcionario.FiltroFuncionario; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ParametroSimples; 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 R�mulo Aur�lio * @date 13/04/2007 */ public class FiltrarFuncionarioAction extends GcomAction{ /** * * [UC????] Filtrar Funcionario * * * @author R�mulo Aur�lio * @date 08/04/2007 * * * @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) { ActionForward retorno = actionMapping .findForward("exibirManterFuncionarioAction"); FiltrarFuncionarioActionForm form = (FiltrarFuncionarioActionForm) actionForm; FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); HttpSession sessao = httpServletRequest.getSession(false); boolean peloMenosUmParametroInformado = false; String nome = form.getNome(); String idEmpresa = form.getEmpresa(); String idUnidade = form.getIdUnidade(); String matricula = form.getMatricula(); String idFuncionarioCargo = form.getFuncionarioCargo(); String numeroCpf = form.getNumeroCpf(); String dataNascimento = form.getDataNascimento(); // Verifica se o campo matricula foi informado if (matricula != null && !matricula.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ParametroSimples( FiltroFuncionario.ID, matricula)); } // Verifica se o campo nome foi informado if (nome != null && !nome.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ComparacaoTexto( FiltroFuncionario.NOME, nome)); } // Verifica se o campo cargo foi informado if (idFuncionarioCargo != null && !idFuncionarioCargo.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ParametroSimples( FiltroFuncionario.FUNCIONARIO_CARGO_ID, idFuncionarioCargo)); } // Verifica se o campo empresa foi informado if (idEmpresa != null && !idEmpresa.trim().equals( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ParametroSimples( FiltroFuncionario.UNIDADE_EMPRESA_ID, idEmpresa)); } // Verifica se o campo descricaoCargo foi informado if (idUnidade != null && !idUnidade.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ComparacaoTexto( FiltroFuncionario.UNIDADE_ORGANIZACIONAL_ID, idUnidade)); } // Verifica se o campo CPF foi informado if (numeroCpf != null && !numeroCpf.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ComparacaoTexto( FiltroFuncionario.NUMERO_CPF, numeroCpf)); } // Verifica se o campo Data de nascimento foi informado if (dataNascimento != null && !dataNascimento.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroFuncionario.adicionarParametro(new ComparacaoTexto( FiltroFuncionario.DATA_NASCIMENTO, dataNascimento)); } // Erro caso o usu�rio mandou Pesquisar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // Verifica se o checkbox Atualizar est� marcado e em caso afirmativo // manda pelo um request uma vari�vel para o // ExibirManterFuncionarioAction e nele verificar se ir� para o // atualizar ou para o manter if (form.getAtualizar() != null && form.getAtualizar() .equalsIgnoreCase("1")) { httpServletRequest.setAttribute("atualizar",form.getAtualizar()); } filtroFuncionario.adicionarCaminhoParaCarregamentoEntidade("empresa"); filtroFuncionario.adicionarCaminhoParaCarregamentoEntidade("unidadeOrganizacional"); filtroFuncionario.adicionarCaminhoParaCarregamentoEntidade("funcionarioCargo"); // Manda o filtro pelo sessao para o // ExibirFuncionalidadeAction sessao.setAttribute("filtroFuncionario", filtroFuncionario); httpServletRequest.setAttribute("filtroFuncionario", filtroFuncionario); return retorno; } }