package gcom.gui.relatorio.arrecadacao; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.RelatorioVazioException; import gcom.relatorio.arrecadacao.RelatorioPagamentoEntidadesBeneficentesAnalitico; import gcom.relatorio.arrecadacao.RelatorioPagamentoEntidadesBeneficentesSintetico; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.Util; 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; /** * Gera��o do relat�rio [UC0978] Gerar Relat�rio de Pagamento para Entidades * Beneficentes * * @author Daniel Alves */ public class GerarRelatorioPagamentoEntidadesBeneficentesAction extends ExibidorProcessamentoTarefaRelatorio { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = null; httpServletRequest.setAttribute("telaSucessoRelatorio",true); GerarRelatorioPagamentoEntidadesBeneficentesActionForm form = (GerarRelatorioPagamentoEntidadesBeneficentesActionForm) actionForm; String idEntidadeBeneficente = form.getIdEntidadeBeneficente(); String mesAnoInicial = form.getMesAnoInicial(); String mesAnoFinal = form.getMesAnoFinal(); String tipo = form.getTipo(); String idGerenciaRegional = form.getIdGerenciaRegional(); String idUnidadeNegocio = form.getIdUnidadeNegocio(); String idLocalidade = form.getIdLocalidade(); String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); int opcaoTotalizacao = form.getOpcaoTotalizacao(); if (tipoRelatorio == null || tipoRelatorio.equalsIgnoreCase("")) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; throw new ActionServletException("atencao.required", null, "Op��o de Totaliza��o "); } // verifica a data de consulta de pagamento if ((mesAnoInicial == null || mesAnoInicial.equals("")) && (mesAnoFinal == null || mesAnoFinal.equals(""))) { throw new ActionServletException("atencao.required", null, "M�s/Ano de Pagamento"); } // Verifica se a Data Final � maior que a Inicial if (mesAnoFinal != null && !mesAnoFinal.equals("") && mesAnoInicial != null && !mesAnoInicial.equals("")) { Integer dtInicial = new Integer(Util .formatarMesAnoParaAnoMesSemBarra(mesAnoInicial)); Integer dtFinal = new Integer(Util .formatarMesAnoParaAnoMesSemBarra(mesAnoFinal)); if (dtFinal.compareTo(dtInicial) < 0) { throw new ActionServletException( "atencao.data.intervalo.invalido", null, "Data Invalida"); } } // Parte que vai mandar o relat�rio para a tela if (tipo.equals("analitico")) { // cria uma inst�ncia da classe do relat�rio RelatorioPagamentoEntidadesBeneficentesAnalitico relatorioPagamentoEntidadesBeneficentes = new RelatorioPagamentoEntidadesBeneficentesAnalitico( (Usuario) (httpServletRequest.getSession(false)) .getAttribute("usuarioLogado")); relatorioPagamentoEntidadesBeneficentes.addParametro("mesAnoInicial", mesAnoInicial); relatorioPagamentoEntidadesBeneficentes.addParametro("mesAnoFinal", mesAnoFinal); relatorioPagamentoEntidadesBeneficentes.addParametro("tipoFormatoRelatorio",Integer.parseInt(tipoRelatorio)); relatorioPagamentoEntidadesBeneficentes.addParametro("opcaoTotalizacao", opcaoTotalizacao); relatorioPagamentoEntidadesBeneficentes.addParametro("idEntidadeBeneficente", idEntidadeBeneficente); relatorioPagamentoEntidadesBeneficentes.addParametro("idGerenciaRegional", idGerenciaRegional); relatorioPagamentoEntidadesBeneficentes.addParametro("idUnidadeNegocio", idUnidadeNegocio); relatorioPagamentoEntidadesBeneficentes.addParametro("idLocalidade", idLocalidade); try { retorno = processarExibicaoRelatorio( relatorioPagamentoEntidadesBeneficentes, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); } catch (RelatorioVazioException ex) { // manda o erro para a p�gina no request atual reportarErros(httpServletRequest, "atencao.relatorio.vazio"); // seta o mapeamento de retorno para a tela de aten��o de popup retorno = actionMapping.findForward("telaAtencaoPopup"); } }else if (tipo.equals("sintetico")) { // cria uma inst�ncia da classe do relat�rio RelatorioPagamentoEntidadesBeneficentesSintetico relatorioPagamentoEntidadesBeneficentes = new RelatorioPagamentoEntidadesBeneficentesSintetico( (Usuario) (httpServletRequest.getSession(false)) .getAttribute("usuarioLogado")); relatorioPagamentoEntidadesBeneficentes.addParametro("mesAnoInicial", mesAnoInicial); relatorioPagamentoEntidadesBeneficentes.addParametro("mesAnoFinal",mesAnoFinal); relatorioPagamentoEntidadesBeneficentes.addParametro("tipoFormatoRelatorio",Integer.parseInt(tipoRelatorio)); relatorioPagamentoEntidadesBeneficentes.addParametro("opcaoTotalizacao", opcaoTotalizacao); relatorioPagamentoEntidadesBeneficentes.addParametro("idEntidadeBeneficente", idEntidadeBeneficente); relatorioPagamentoEntidadesBeneficentes.addParametro("idGerenciaRegional", idGerenciaRegional); relatorioPagamentoEntidadesBeneficentes.addParametro("idUnidadeNegocio", idUnidadeNegocio); relatorioPagamentoEntidadesBeneficentes.addParametro("idLocalidade", idLocalidade); try { retorno = processarExibicaoRelatorio( relatorioPagamentoEntidadesBeneficentes, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); } catch (RelatorioVazioException ex) { // manda o erro para a p�gina no request atual reportarErros(httpServletRequest, "atencao.relatorio.vazio"); // seta o mapeamento de retorno para a tela de aten��o de popup retorno = actionMapping.findForward("telaAtencaoPopup"); } } return retorno; } }