package gcom.gui.relatorio.arrecadacao; import java.util.Collection; 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; import gcom.arrecadacao.ArrecadacaoForma; import gcom.arrecadacao.Arrecadador; import gcom.arrecadacao.FiltroArrecadacaoForma; import gcom.arrecadacao.FiltroArrecadador; import gcom.arrecadacao.FiltroAvisoBancario; import gcom.arrecadacao.aviso.AvisoBancario; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; /** * @author Raimundo Martins * @date 17/08/2011 */ public class ExibirGerarRelatorioDocumentosNaoAceitosAction extends GcomAction { /** * Action que exibe os filtros do relat�rio de documentos n�o aceitos * * [UC 1215] Gerar Relat�rio de Documentos n�o Aceitos * * @author Raimundo Martins * @date 18/08/2011 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ private Fachada fachada = Fachada.getInstancia(); private HttpSession sessao = null; private GerarRelatorioDocumentosNaoAceitosActionForm form = null; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = null; sessao = httpServletRequest.getSession(false); form = (GerarRelatorioDocumentosNaoAceitosActionForm) actionForm; String pesquisarArrecadador = httpServletRequest.getParameter("pesquisarArrecadador"); String pesquisarAvisoBancario = httpServletRequest.getParameter("pesquisarAvisoBancario"); //verifica se existe o arrecadador if (pesquisarArrecadador != null && pesquisarArrecadador.equals("true")) { boolean existeArrecadador = existeArrecadador(); if(!existeArrecadador){ httpServletRequest.setAttribute("idArrecadadorNaoEncontrado", true); } retorno = actionMapping.findForward("exibirGerarRelatorioDocumentosNaoAceitos"); } //Verifica se existe o aviso bancario if(pesquisarAvisoBancario !=null && pesquisarAvisoBancario.equals("true")){ boolean existeAvisoBancario = existeAvisoBancario(); if(!existeAvisoBancario){ httpServletRequest.setAttribute("avisoBancarioNaoEncontrado", true); } retorno = actionMapping.findForward("exibirGerarRelatorioDocumentosNaoAceitos"); } // Caso o usu�rio n�o queira realizar nenhuma das op��es acima, chama a // pagina que filtra os dados else { FiltroArrecadacaoForma filtroArrecadacaoForma = new FiltroArrecadacaoForma(FiltroArrecadacaoForma.DESCRICAO); Collection colecaoArrecadacaoForma = fachada.pesquisar( filtroArrecadacaoForma, ArrecadacaoForma.class.getName()); sessao.setAttribute("colecaoArrecadacaoForma",colecaoArrecadacaoForma); retorno = actionMapping.findForward("exibirGerarRelatorioDocumentosNaoAceitos"); } return retorno; } //[FS0001] Verificar a existencia do Arrecadador private Boolean existeArrecadador() { String idArrecadador = form.getArrecadadorCodigo(); if (idArrecadador != null && !idArrecadador.trim().equals("")) { FiltroArrecadador filtroArrecadador = new FiltroArrecadador(); filtroArrecadador.adicionarParametro(new ParametroSimples(FiltroArrecadador.ID, idArrecadador)); filtroArrecadador.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection colecaoArrecadadores = fachada.pesquisar(filtroArrecadador, Arrecadador.class.getName()); if (colecaoArrecadadores != null && !colecaoArrecadadores.isEmpty()) { Arrecadador arrecadador = (Arrecadador) Util.retonarObjetoDeColecao(colecaoArrecadadores); form.setArrecadadorCodigo(arrecadador.getId().toString()); form.setArrecadadorDescricao(arrecadador.getCliente().getNome()); return true; } else { form.setArrecadadorCodigo(idArrecadador); form.setArrecadadorDescricao("Arrecadador Inexistente"); return false; } } else{ return false; } } private Boolean existeAvisoBancario() { String idAvisoBancario = form.getIdAvisoBancario(); if (idAvisoBancario != null && !idAvisoBancario.trim().equals("")) { FiltroAvisoBancario filtroAvisoBancario = new FiltroAvisoBancario(); filtroAvisoBancario.adicionarCaminhoParaCarregamentoEntidade(FiltroAvisoBancario.ARRECADADOR); filtroAvisoBancario.adicionarParametro(new ParametroSimples(FiltroAvisoBancario.ID, idAvisoBancario)); Collection colecaoAvisoBancario = fachada.pesquisar(filtroAvisoBancario, AvisoBancario.class.getName()); if (colecaoAvisoBancario != null && !colecaoAvisoBancario.isEmpty()) { AvisoBancario avisoBancario = (AvisoBancario) Util.retonarObjetoDeColecao(colecaoAvisoBancario); form.setCodigoAgenteArrecadador( avisoBancario.getArrecadador().getCodigoAgente().toString()); form.setDataLancamentoAviso( Util.formatarData(avisoBancario.getDataLancamento()) ); form.setNumeroSequencialAviso( avisoBancario.getNumeroSequencial().toString() ); return true; } else { form.setCodigoAgenteArrecadador( ""); form.setDataLancamentoAviso( "AVISO INEXISTENTE" ); form.setNumeroSequencialAviso( "" ); form.setIdAvisoBancario( "" ); return false; } } return false; } }