package gcom.gui.relatorio.cobranca; import java.util.Calendar; import java.util.GregorianCalendar; 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; import gcom.cobranca.bean.FiltroSupressoesReligacoesReestabelecimentoHelper; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.cobranca.RelatorioSupressoesReligacoesRestabelecimentos; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.Util; /** * Descri��o da classe * Classe respons�vel pela chamada * do Relatorio Acompanhamento das Supress�es Religa��es e Reestabelecimentos * * @author Anderson Italo * @date 01/08/2009 */ public class GerarRelatorioSupressoesReligacoesRestabelecimentosAction extends ExibidorProcessamentoTarefaRelatorio { @Override public ActionForward execute( ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { Fachada fachada = Fachada.getInstancia(); Usuario usuario = (Usuario) request.getSession(false).getAttribute("usuarioLogado"); int tipoRelatorio = TarefaRelatorio.TIPO_PDF; try { tipoRelatorio = Integer.parseInt(request.getParameter("tipoRelatorio")); } catch (NumberFormatException e) { } GerarSupressoesReligacoesReestabelecimentosActionForm form = (GerarSupressoesReligacoesReestabelecimentosActionForm) actionForm; FiltroSupressoesReligacoesReestabelecimentoHelper filtro = new FiltroSupressoesReligacoesReestabelecimentoHelper(); //Per�odo de Emiss�o //============================================================================== String dataInicial = form.getDataEmissaoInicio(); String dataFinal = form.getDataEmissaoFim(); if ((dataInicial.trim().length() == 10) && (dataFinal.trim().length() == 10)) { Calendar calendarInicio = new GregorianCalendar(); Calendar calendarFim = new GregorianCalendar(); calendarInicio.setTime( Util.converteStringParaDate( dataInicial ) ); calendarFim.setTime( Util.converteStringParaDate( dataFinal ) ); if (calendarFim.compareTo(calendarInicio) < 0) { throw new ActionServletException( "atencao.data_fim_menor_inicio"); } filtro.setDataEmissaoInicio(dataInicial + " 00:00:00"); filtro.setDataEmissaoFim(dataFinal + " 23:59:59"); } if (form.getIndicadorTipoRelatorio() != null && !form.getIndicadorTipoRelatorio().equals("")){ Integer indicadorTipoRelatorio = new Integer(form.getIndicadorTipoRelatorio()); switch (indicadorTipoRelatorio) { case 1: filtro.setIndicadorTipoRelatorio(1); break; case 2: filtro.setIndicadorTipoRelatorio(2); break; case 3: if (form.getIdGerenciaRegional() != null && !form.getIdGerenciaRegional().equals("") && !form.getIdGerenciaRegional().equals("-1")){ filtro.setIdGerenciaRegional(form.getIdGerenciaRegional()); }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } filtro.setIndicadorTipoRelatorio(3); break; case 4: filtro.setIndicadorTipoRelatorio(4); break; case 5: if (form.getIdUnidadeNegocio() != null && !form.getIdUnidadeNegocio().equals("") && !form.getIdUnidadeNegocio().equals("-1")){ filtro.setIdUnidadeNegocio(form.getIdUnidadeNegocio()); }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } filtro.setIndicadorTipoRelatorio(5); break; case 6: filtro.setIndicadorTipoRelatorio(6); break; case 7: if (form.getIdLocalidade() != null && !form.getIdLocalidade().equals("") && !form.getIdLocalidade().equals("-1")){ filtro.setIdLocalidade(form.getIdLocalidade()); }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } filtro.setIndicadorTipoRelatorio(7); break; case 8: if (form.getIdGerenciaRegional() != null && !form.getIdGerenciaRegional().equals("") && !form.getIdGerenciaRegional().equals("-1")){ filtro.setIdGerenciaRegional(form.getIdGerenciaRegional()); }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } filtro.setIndicadorTipoRelatorio(8); break; case 9: if (form.getIdGerenciaRegional() != null && !form.getIdGerenciaRegional().equals("") && !form.getIdGerenciaRegional().equals("-1")){ filtro.setIdGerenciaRegional(form.getIdGerenciaRegional()); }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } filtro.setIndicadorTipoRelatorio(9); break; case 10: if (form.getIdUnidadeNegocio() != null && !form.getIdUnidadeNegocio().equals("") && !form.getIdUnidadeNegocio().equals("-1")){ filtro.setIdUnidadeNegocio(form.getIdUnidadeNegocio()); }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } filtro.setIndicadorTipoRelatorio(10); break; default: break; } //Limite Religa��o ap�s Corte if (form.getLimititeReligacaoPosCorte() != null && !form.getLimititeReligacaoPosCorte().equals("")){ filtro.setLimititeReligacaoPosCorte(form.getLimititeReligacaoPosCorte()); }else{ //assume 0 filtro.setLimititeReligacaoPosCorte("0"); } //empresa if (form.getIdEmpresa() != null && !form.getIdEmpresa().equals("") && !form.getIdEmpresa().equals("-1")){ filtro.setIdEmpresa(form.getIdEmpresa()); } }else{ throw new ActionServletException("atencao.combinacao_parametros_invalida"); } if (form == null) { throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } List objetosEncontrados = fachada.filtrarSupressoesReligacoesReestabelecimentos(filtro); if (objetosEncontrados == null ){ throw new ActionServletException("atencao.pesquisa.nenhumresultado"); }else if (objetosEncontrados.size() < 1){ throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } RelatorioSupressoesReligacoesRestabelecimentos relatorio = new RelatorioSupressoesReligacoesRestabelecimentos(usuario); relatorio.addParametro("filtroSupressoesReligacoesReestabelecimentos", filtro); relatorio.addParametro("tipoRelatorio", tipoRelatorio); relatorio.addParametro("objetosEncontrados", objetosEncontrados); return processarExibicaoRelatorio( relatorio, tipoRelatorio, request, response, mapping); } }