package gcom.gui.relatorio.cadastro; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.Localidade; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.RelatorioVazioException; import gcom.relatorio.cadastro.RelatorioResumoQtdeImoveisExcluidosTarifaSocial; import gcom.relatorio.cadastro.RelatorioResumoQtdeImoveisExcluidosTarifaSocialTipo2; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; /** * [UC1164] Gerar Resumo dos Im�veis Exclu�dos da Tarifa Social * * @author Vivianne Sousa * @date 07/04/2011 */ public class GerarResumoImoveisExcluidosTarifaSocialAction extends ExibidorProcessamentoTarefaRelatorio { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = null; GerarResumoImoveisExcluidosTarifaSocialActionForm form = (GerarResumoImoveisExcluidosTarifaSocialActionForm) actionForm; validarCamposObrigatorios(form); Integer idGerenciaRegional = null; Integer idUnidadeNegocio = null; Integer idLocalidade = null; Integer anoMesPesquisaInicial = Util.formatarMesAnoComBarraParaAnoMes(form.getAnoMesPesquisaInicial()); Integer anoMesPesquisaFinal = Util.formatarMesAnoComBarraParaAnoMes(form.getAnoMesPesquisaFinal()); String motivoExclusao = form.getMotivoExclusao(); if(form.getGerenciaRegionalId() != null && !form.getGerenciaRegionalId().equals("") && !form.getGerenciaRegionalId().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ idGerenciaRegional = new Integer(form.getGerenciaRegionalId()); } if(form.getUnidadeNegocioId() != null && !form.getUnidadeNegocioId().equals("") && !form.getUnidadeNegocioId().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ idUnidadeNegocio= new Integer(form.getUnidadeNegocioId()); } if(form.getCodigoLocalidade() != null && !form.getCodigoLocalidade().equals("")){ idLocalidade = new Integer(form.getCodigoLocalidade()); } String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } if(motivoExclusao.equals("1") || motivoExclusao.equals("2")){ RelatorioResumoQtdeImoveisExcluidosTarifaSocial relatorio = new RelatorioResumoQtdeImoveisExcluidosTarifaSocial ((Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); relatorio.addParametro("anoMesPesquisaInicial", anoMesPesquisaInicial); relatorio.addParametro("anoMesPesquisaFinal", anoMesPesquisaFinal); relatorio.addParametro("motivoExclusao", motivoExclusao); relatorio.addParametro("idGerenciaRegional", idGerenciaRegional); relatorio.addParametro("idUnidadeNegocio", idUnidadeNegocio); relatorio.addParametro("idLocalidade", idLocalidade); relatorio.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); try { retorno = processarExibicaoRelatorio(relatorio, 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(motivoExclusao.equals("3")){ RelatorioResumoQtdeImoveisExcluidosTarifaSocialTipo2 relatorio = new RelatorioResumoQtdeImoveisExcluidosTarifaSocialTipo2 ((Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); relatorio.addParametro("anoMesPesquisaInicial", anoMesPesquisaInicial); relatorio.addParametro("anoMesPesquisaFinal", anoMesPesquisaFinal); relatorio.addParametro("motivoExclusao", motivoExclusao); relatorio.addParametro("idGerenciaRegional", idGerenciaRegional); relatorio.addParametro("idUnidadeNegocio", idUnidadeNegocio); relatorio.addParametro("idLocalidade", idLocalidade); relatorio.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); try { retorno = processarExibicaoRelatorio(relatorio, 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; } private void validarCamposObrigatorios(GerarResumoImoveisExcluidosTarifaSocialActionForm form) { if(form.getAnoMesPesquisaInicial() == null || form.getAnoMesPesquisaInicial().equals("")){ throw new ActionServletException("atencao.campo.informado", null, "Per�odo do Comando inicial"); } if(form.getAnoMesPesquisaFinal() == null || form.getAnoMesPesquisaFinal().equals("")){ throw new ActionServletException("atencao.campo.informado", null, "Per�odo do Comando final"); } if(form.getMotivoExclusao() == null || form.getMotivoExclusao().equals("")){ throw new ActionServletException("atencao.campo.informado", null, "Motivo da Exclus�o"); } if((Util.formatarMesAnoComBarraParaAnoMes(form.getAnoMesPesquisaInicial()).compareTo(Util.formatarMesAnoComBarraParaAnoMes(form.getAnoMesPesquisaFinal()))) == 1){ throw new ActionServletException("atencao.referencia.final.menor.referencia.inicial"); } if((Util.formatarMesAnoComBarraParaAnoMes(form.getAnoMesPesquisaInicial()).compareTo(Util.recuperaAnoMesDaData(new Date()))) == 1){ throw new ActionServletException("atencao.ano_mes_comando.maior.ano_mes_atual"); } if((Util.formatarMesAnoComBarraParaAnoMes(form.getAnoMesPesquisaFinal()).compareTo(Util.recuperaAnoMesDaData(new Date()))) == 1){ throw new ActionServletException("atencao.ano_mes_comando.maior.ano_mes_atual"); } if(form.getCodigoLocalidade() != null && !form.getCodigoLocalidade().equals("")){ FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID, form.getCodigoLocalidade())); Collection<Localidade> localidadePesquisada = Fachada.getInstancia().pesquisar( filtroLocalidade, Localidade.class.getName()); // Se nenhuma localidade for encontrada a mensagem � enviada para a p�gina if (localidadePesquisada == null || localidadePesquisada.isEmpty()) { throw new ActionServletException("atencao.seituacao_servico_tipo_invalida", null, "localidade"); } } } }