package gcom.gui.batch; import gcom.batch.FiltroProcesso; import gcom.batch.FiltroProcessoSituacao; import gcom.batch.Processo; import gcom.batch.ProcessoSituacao; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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 da pagina de filtrar processo iniciado * * @author Rodrigo Silveira * @created 22/07/2006 */ public class ExibirFiltrarProcessoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("filtrarProcesso"); // Pesquisa as situa��es do processos para o select da p�gina this.pesquisarProcessoSituacao(httpServletRequest); this.resetForm((FiltrarProcessoActionForm) actionForm); // Pesquisa o Processo digitado this.pesquisarProcessoDigitado(httpServletRequest, (FiltrarProcessoActionForm) actionForm); this.pesquisarUsuarioDigitado(httpServletRequest, (FiltrarProcessoActionForm) actionForm); return retorno; } /** * Pesquisa todas as Situa��es do Processo para popular o select da p�gina * de inserir processo * * @author Rodrigo Silveira * @date 22/07/2006 * * @param httpServletRequest */ private void pesquisarProcessoSituacao(HttpServletRequest httpServletRequest) { FiltroProcessoSituacao filtroProcessoSituacao = new FiltroProcessoSituacao(); Collection<ProcessoSituacao> colecao = Fachada.getInstancia() .pesquisar(filtroProcessoSituacao, ProcessoSituacao.class.getName()); httpServletRequest.setAttribute("colecaoProcessoSituacao", colecao); } /** * Pesquisa todas as Situa��es do Processo para popular o select da p�gina * de inserir processo * * @author Rodrigo Silveira * @date 15/03/2007 * * @param httpServletRequest */ private void resetForm(FiltrarProcessoActionForm form) { String idDigitadoEnterProcesso = (String) form.getIdProcesso(); if (idDigitadoEnterProcesso == null || idDigitadoEnterProcesso.trim().equals("")) { form.resetFormCustom(); } } /** * Fun��o que pesquisa um Processo iniciado precedente digitado * * @author Rodrigo Silveira * @date 24/07/2006 * * @param httpServletRequest * @param actionForm */ private void pesquisarProcessoDigitado( HttpServletRequest httpServletRequest, FiltrarProcessoActionForm actionForm) { String idDigitadoEnterProcesso = (String) actionForm.getIdProcesso(); actionForm.setDescricaoProcesso(""); actionForm.setIdProcesso(""); // Verifica se o c�digo foi digitado if (idDigitadoEnterProcesso != null && !idDigitadoEnterProcesso.trim().equals("") && Integer.parseInt(idDigitadoEnterProcesso) > 0 && !idDigitadoEnterProcesso.trim().equals( actionForm.getIdProcesso())) { Fachada fachada = Fachada.getInstancia(); // Este trecho pesquisa o processo digitado e altera o form para // refletir o resultado da busca na p�gina de filtrar processo FiltroProcesso filtroProcesso = new FiltroProcesso(); filtroProcesso.adicionarParametro(new ParametroSimples( FiltroProcesso.ID, idDigitadoEnterProcesso)); Collection processos = fachada.pesquisar(filtroProcesso, Processo.class.getName()); if (processos != null && !processos.isEmpty()) { // O processo foi encontrado actionForm.setIdProcesso(((Processo) ((List) processos).get(0)) .getId().toString()); actionForm.setDescricaoProcesso(((Processo) ((List) processos) .get(0)).getDescricaoProcesso()); } else { actionForm.setIdProcesso(""); httpServletRequest.setAttribute("idProcessoNaoEncontrado", "true"); actionForm.setDescricaoProcesso("Processo inexistente"); } } } //CRC-1466 Fl�vio Leonardo 17/03/09 private void pesquisarUsuarioDigitado(HttpServletRequest httpServletRequest, FiltrarProcessoActionForm actionForm){ String idDigitadoEnterUsuario = (String) actionForm.getUsuarioId(); actionForm.setUsuarioDescricao(""); actionForm.setUsuarioId(""); if(idDigitadoEnterUsuario != null && !idDigitadoEnterUsuario.trim().equals("") && !idDigitadoEnterUsuario.trim().equals( actionForm.getIdProcesso())) { Fachada fachada = Fachada.getInstancia(); FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.ID, idDigitadoEnterUsuario)); Collection colecaoUsuario = fachada.pesquisar(filtroUsuario, Usuario.class.getName()); if(!colecaoUsuario.isEmpty()){ Usuario usuario = (Usuario)Util.retonarObjetoDeColecao(colecaoUsuario); actionForm.setUsuarioId(usuario.getId().toString()); actionForm.setUsuarioDescricao(usuario.getNomeUsuario()); }else{ httpServletRequest.setAttribute("idUsuarioNaoEncontrado", "true"); actionForm.setUsuarioDescricao("Usu�rio inexistente"); actionForm.setUsuarioId(""); } } } }