package gcom.gui.relatorio.faturamento.conta; import gcom.gui.ActionServletException; import gcom.gui.relatorio.faturamento.RelatorioContasCanceladasRetificadasActionForm; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.RelatorioVazioException; import gcom.relatorio.faturamento.conta.RelatorioContasCanceladas; import gcom.relatorio.faturamento.conta.RelatorioContasCanceladasRetificadasHelper; import gcom.relatorio.faturamento.conta.RelatorioContasRetificadas; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.ConstantesSistema; import gcom.util.SistemaException; 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 javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class GerarRelatorioContasCanceladasRetificadasAction extends ExibidorProcessamentoTarefaRelatorio { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("telaSucesso"); RelatorioContasCanceladasRetificadasActionForm form = (RelatorioContasCanceladasRetificadasActionForm) actionForm; //Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); Usuario usuarioLogado = (Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado"); sessao.removeAttribute("indicadorAtualizar"); String mesAno = (String)form.getMesAno(); String unidadeNegocio = (String) form.getIdUnidadeNegocio(); boolean parametroInformado = false; RelatorioContasCanceladasRetificadasHelper helper = new RelatorioContasCanceladasRetificadasHelper(); //recebe valores String anoMes = form.getMesAno(); String localidade = form.getLocalidadeFiltro(); String[] motivo = form.getIdMotivo(); String[] categoria = form.getIdCategoria(); String[] perfil = form.getIdPerfil(); String[] esfera = form.getIdEsferaPoder(); String responsavel = form.getResponsavelFiltro(); String valor = form.getValor(); String relatorioTipo = form.getRelatorioTipo(); String ordenacaoTipo = form.getOrdenacaoTipo(); String periodoInicial = form.getPeriodoInicial(); String periodoFinal = form.getPeriodoFinal(); String grupo = form.getGrupo(); String idGerenciaRegional = form.getIdGerenciaRegional(); if (!"".equals(periodoInicial)) { Date data = Util.converteStringParaDate(periodoInicial); if (data == null) { throw new ActionServletException("atencao.data.inicial.invalida"); } } if (!"".equals(periodoFinal)) { Date data = Util.converteStringParaDate(periodoFinal); if (data == null) { throw new ActionServletException("atencao.data.final.invalida"); } } if (periodoInicial != null && !periodoInicial.trim().equals("") && periodoFinal != null && !periodoFinal.trim().equals("")) { if ((Util.converteStringParaDate(periodoInicial)).compareTo(Util .converteStringParaDate(periodoFinal)) > 0) { throw new ActionServletException( "atencao.data.intervalo.invalido"); } } //mesAno if(mesAno != null && !mesAno.equals("")){ parametroInformado = true; helper.setMesAno(mesAno); } if(periodoInicial != null && !periodoInicial.equals("")){ parametroInformado = true; helper.setPeriodoInicial(periodoInicial); } if(periodoFinal != null && !periodoFinal.equals("")){ parametroInformado = true; helper.setPeriodoFinal(periodoFinal); } if(relatorioTipo != null && !relatorioTipo.equals("")){ parametroInformado = true; if(relatorioTipo.equals(ConstantesSistema.SINTETICO+"")){ helper.setRelatorioTipo("SINTETICO"); }else if(relatorioTipo.equals(ConstantesSistema.ANALITICO+"")){ helper.setRelatorioTipo("ANALITICO"); } } //localidade if(localidade != null && !localidade.equals("")){ parametroInformado = true; helper.setIdLocalidade(localidade); } //motivo if(motivo != null && motivo.length > 0 && !motivo[0].equals("-1")){ parametroInformado = true; helper.setMotivoArray(motivo); } if(unidadeNegocio != null && !unidadeNegocio.equals("") && !unidadeNegocio.equals("-1")){ parametroInformado = true; helper.setUnidadeNegocio(unidadeNegocio); }else{ helper.setUnidadeNegocio(""); } //categoria if(categoria != null && categoria.length > 0 && !categoria[0].equals("-1")){ parametroInformado = true; helper.setCategoriaArray(categoria); } //perfil do imovel if(perfil != null && perfil.length > 0 && !perfil[0].equals("-1")){ parametroInformado = true; helper.setPerfilArray(perfil); } //esfera if(esfera != null && esfera.length > 0 && !esfera[0].equals("-1")){ parametroInformado = true; helper.setEsferaArray(esfera); } //responsavel if(responsavel != null && !responsavel.equals("")){ FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples( FiltroUsuario.LOGIN, responsavel)); // Retorna o usu�rio Collection colecaoPesquisa = this.getFachada().pesquisar(filtroUsuario, Usuario.class.getName()); if(colecaoPesquisa != null && !colecaoPesquisa.isEmpty()){ Usuario usuario = (Usuario) Util.retonarObjetoDeColecao(colecaoPesquisa); parametroInformado = true; helper.setIdResponsavel(usuario.getId().toString()); } } //valor if(valor != null && !valor.equals("")){ parametroInformado = true; helper.setValor(valor); } if(ordenacaoTipo != null && !ordenacaoTipo.equals("")){ parametroInformado = true; helper.setOrdenacaoTipo(ordenacaoTipo); } if(grupo != null && !grupo.equals("")){ helper.setGrupo(grupo); } if(idGerenciaRegional != null && !idGerenciaRegional.equals("")&& !idGerenciaRegional.equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)){ helper.setIdGerenciaRegional(idGerenciaRegional); } String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); if(parametroInformado){ //chamar metodo de filtragem try { /** * Inlcuir Op��o de Contas Prescritas no relat�rio de Contas Canceladas/Retidas * * @author Wellington Rocha * @date 04/06/2012*/ if(form.getTipoConta().equals("1") || form.getTipoConta().equals("3") ){ RelatorioContasCanceladas relatorioContasCanceladas = new RelatorioContasCanceladas(usuarioLogado); helper.setTipoConta(form.getTipoConta()); relatorioContasCanceladas.addParametro("mesAno", anoMes); relatorioContasCanceladas.addParametro("relatorioTipo",helper.getRelatorioTipo()); relatorioContasCanceladas.addParametro("ordenacaoTipo",helper.getOrdenacaoTipo()); relatorioContasCanceladas.addParametro("relatorioContasCanceladasRetificadasHelper",helper); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } relatorioContasCanceladas.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); retorno = processarExibicaoRelatorio(relatorioContasCanceladas, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); }else{ RelatorioContasRetificadas relatorioContasRetificadas = new RelatorioContasRetificadas(usuarioLogado); helper.setTipoConta(form.getTipoConta()); relatorioContasRetificadas.addParametro("mesAno", anoMes); relatorioContasRetificadas.addParametro("relatorioTipo",helper.getRelatorioTipo()); relatorioContasRetificadas.addParametro("ordenacaoTipo",helper.getOrdenacaoTipo()); relatorioContasRetificadas.addParametro("relatorioContasCanceladasRetificadasHelper",helper); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } relatorioContasRetificadas.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); retorno = processarExibicaoRelatorio(relatorioContasRetificadas, 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) { // 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{ throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } return retorno; } }