package gcom.gui.relatorio.cadastro.micromedicao; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.RelatorioVazioException; import gcom.relatorio.cadastro.micromedicao.RelatorioResumoLigacoesCapacidadeHidrometro; import gcom.relatorio.cadastro.micromedicao.RelatorioResumoLigacoesCapacidadeHidrometroHelper; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.SistemaException; 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; /** * [UC0997] Gerar Resumo de Liga��es por Capacidade de Hidr�metro * * @author Hugo Leonardo * * @date 29/03/2010 */ public class GerarRelatorioResumoLigacoesCapacidadeHidrometroAction extends ExibidorProcessamentoTarefaRelatorio { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = null; httpServletRequest.setAttribute("telaSucessoRelatorio",true); // Form GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm form = (GerarRelatorioResumoLigacoesCapacidadeHidrometroActionForm) actionForm; RelatorioResumoLigacoesCapacidadeHidrometroHelper helper = new RelatorioResumoLigacoesCapacidadeHidrometroHelper(); String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); // mesAno Faturamento SistemaParametro sistemaParametro = this.getSistemaParametro(); Integer anoMesFaturamento = sistemaParametro.getAnoMesFaturamento(); // Subtrai 1 m�s do AnoMesFaturamentoReferencia Integer anoMesFaturamentoAnterior = Util.subtrairMesDoAnoMes(anoMesFaturamento, 1); String mesAno = Util.formatarAnoMesParaMesAno(anoMesFaturamentoAnterior.toString()); int mes = Util.obterMes(anoMesFaturamentoAnterior); int ano = Util.obterAno(anoMesFaturamentoAnterior); // obt�m a Data do �ltimo dia do anoMes Faturamento Anterior Integer dia = new Integer(Util.obterUltimoDiaMes(mes, ano)); helper.setMesAnoReferencia(Util.criarData(dia, mes, ano)); helper.setAnoMesReferenciaAnterior(anoMesFaturamentoAnterior); // opcao Totalizacao if(form.getOpcaoTotalizacao() != null && !form.getOpcaoTotalizacao().equals("-1")){ helper.setOpcaoTotalizacao(form.getOpcaoTotalizacao()); } // Gerencia Regional if(form.getRegional() != null && !form.getRegional().equals("-1")){ helper.setIdGerenciaRegional( new Integer(form.getRegional())); } // Unidade de Neg�cio if(form.getUnidadeNegocio() != null && !form.getUnidadeNegocio().equals("-1")){ helper.setIdUnidadeNegocio( new Integer(form.getUnidadeNegocio())); } //Localidade if(form.getIdLocalidade() != null && !form.getIdLocalidade().equals("")){ helper.setIdLocalidade(new Integer(form.getIdLocalidade())); } TarefaRelatorio relatorio = null; relatorio = new RelatorioResumoLigacoesCapacidadeHidrometro((Usuario) (httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } relatorio.addParametro("tipoFormatoRelatorio",Integer.parseInt(tipoRelatorio)); relatorio.addParametro("relatorioResumoLigacoesCapacidadeHidrometroHelper", helper); relatorio.addParametro("mesAno", mesAno); try { retorno = processarExibicaoRelatorio(relatorio, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); } catch (SistemaException ex) { // manda o erro para a p�gina no request atual reportarErros(httpServletRequest, "erro.sistema"); // seta o mapeamento de retorno para a tela de erro de popup retorno = actionMapping.findForward("telaErroPopup"); } catch (RelatorioVazioException ex1) { throw new ActionServletException("atencao.pesquisa.nenhumresultado", null, ""); } return retorno; } }