package gcom.gui.arrecadacao.aviso; import gcom.arrecadacao.Arrecadador; import gcom.arrecadacao.FiltroArrecadador; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; 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 que define o pr�-processamento da p�gina de filtrar aviso banc�rio * * @author Vivianne Sousa * @created 09/03/2006 */ public class ExibirFiltrarAvisoBancarioAction extends GcomAction { /** * Este caso de uso cria um filtro q ser� usado na pesquisa de aviso banc�rio * * [UC0239] Filtrar Aviso Banc�rio * * @author Vivianne Sousa * @date 09/03/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("filtrarAvisoBancario"); FiltrarAvisoBancarioActionForm filtrarAvisoBancarioActionForm = (FiltrarAvisoBancarioActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); httpServletRequest.removeAttribute("i"); String atualizar = httpServletRequest.getParameter("atualizar"); String menu = httpServletRequest.getParameter("menu"); sessao.removeAttribute("manter"); sessao.removeAttribute("filtrar_manter"); if (atualizar == null && menu == null){ boolean i = true; httpServletRequest.setAttribute("i",i); } // Carregar a data corrente do sistema SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); Calendar dataCorrente = new GregorianCalendar(); // Data Corrente httpServletRequest.setAttribute("dataAtual", formatoData .format(dataCorrente.getTime())); /* * Trecho de c�digo colocado por Raphael Rossiter em 22/03/2006 * Objetivo: Diferenciar o layout que ser� disponibilizado para o usu�rio de acordo com * o par�metro "acao" que est� localizado no menu (Aviso Banc�rio - Efetuar An�lise) */ if (httpServletRequest.getParameter("acao") != null){ sessao.setAttribute("acao", "EFETUAR_ANALISE"); } if (httpServletRequest.getParameter("objetoConsulta") == null && httpServletRequest.getParameter("tipoConsulta") == null) { sessao.removeAttribute("caminhoRetornoTelaPesquisa"); } //-------Parte que trata do c�digo quando o usu�rio tecla enter String idDigitadoEnterArrecadador = filtrarAvisoBancarioActionForm.getArrecadadorCodAgente(); if (idDigitadoEnterArrecadador != null && !idDigitadoEnterArrecadador.trim().equals("") && Integer.parseInt(idDigitadoEnterArrecadador) > 0) { FiltroArrecadador filtroArrecadador = new FiltroArrecadador(); filtroArrecadador.adicionarParametro(new ParametroSimples( FiltroArrecadador.CODIGO_AGENTE, idDigitadoEnterArrecadador)); filtroArrecadador.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection<Arrecadador> arrecadadorEncontrado = fachada.pesquisar(filtroArrecadador, Arrecadador.class.getName()); if (arrecadadorEncontrado != null && !arrecadadorEncontrado.isEmpty()) { // O arrecadador foi encontrado filtrarAvisoBancarioActionForm.setArrecadadorCodAgente("" + ((Arrecadador) ((List) arrecadadorEncontrado).get(0)) .getCodigoAgente()); filtrarAvisoBancarioActionForm .setArrecadadorNomeCliente(((Arrecadador) ((List) arrecadadorEncontrado) .get(0)).getCliente().getNome()); httpServletRequest.setAttribute("idArrecadadorNaoEncontrado", "true"); } else { filtrarAvisoBancarioActionForm.setArrecadadorCodAgente(""); httpServletRequest.setAttribute("idArrecadadorNaoEncontrado", "exception"); filtrarAvisoBancarioActionForm .setArrecadadorNomeCliente("ARRECADADOR INEXISTENTE"); } } //-------Fim de parte que trata do c�digo quando o usu�rio tecla enter if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { //se for os parametros de enviarDadosParametros ser�o mandados para // a pagina aviso_bancario_filtrar.jsp if (httpServletRequest.getParameter("tipoConsulta").equals( "arrecadador")) { filtrarAvisoBancarioActionForm.setArrecadadorCodAgente( httpServletRequest.getParameter("idCampoEnviarDados")); filtrarAvisoBancarioActionForm.setArrecadadorNomeCliente( httpServletRequest.getParameter("descricaoCampoEnviarDados")); } } sessao.removeAttribute("caminhoRetornoTelaPesquisaArrecadador"); httpServletRequest.setAttribute("nomeCampo","arrecadadorCodAgente"); return retorno; } }