package gcom.gui.relatorio.cobranca; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.cobranca.RelatorioDocumentosAReceber; 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 javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC990] Gerar Relat�rio de Documentos a Receber * * @author Hugo Amorim * @date 22/02/2010 * */ public class GerarRelatorioDocumentosAReceberAction extends ExibidorProcessamentoTarefaRelatorio { /** * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return forward */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = null; HttpSession sessao = httpServletRequest.getSession(false); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); Fachada fachada = Fachada.getInstancia(); httpServletRequest.setAttribute("telaSucessoRelatorio",true); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); RelatorioDocumentosAReceberForm form = (RelatorioDocumentosAReceberForm) actionForm; Integer anoMesInformado = Util.formatarMesAnoComBarraParaAnoMes(form.getMesAno()); if(anoMesInformado.compareTo(sistemaParametro.getAnoMesFaturamento())>=0){ throw new ActionServletException("atencao.mes_ano_resumo_invalido",Util.formatarAnoMesParaMesAno(sistemaParametro.getAnoMesFaturamento())); } FiltroRelatorioDocumentosAReceberHelper helper = new FiltroRelatorioDocumentosAReceberHelper( //mesAno form.getMesAno()!=null ? Util.formatarMesAnoComBarraParaAnoMes(form.getMesAno()).toString():null, //idCategoriaTipo form.getIdCategoriaTipo()!=null ? form.getIdCategoriaTipo():null, //idsCategoria form.getIdsCategoria()!=null ? form.getIdsCategoria():null, //idsPerfilImovel form.getIdsPerfilImovel()!=null ? form.getIdsPerfilImovel():null, //idsEsferaPoder form.getIdsEsferaPoder()!=null ? form.getIdsEsferaPoder():null, //idGerencia form.getIdGerencia()!=null ? form.getIdGerencia():null, //idUnidade form.getIdUnidade()!=null ? form.getIdUnidade():null, //idLocalidade form.getIdLocalidade()!=null ? form.getIdLocalidade():null, //idOpcaoTotalizacao form.getIdOpcaoTotalizacao()!=null ? form.getIdOpcaoTotalizacao():null, //colecaoFaixas form.getColecaoFaixas()!=null ? form.getColecaoFaixas():null, sistemaParametro.getNomeEstado(), /** * @author Adriana Muniz * @date 29/03/2012 * * Acrescimo de mais um filtro na gera��o do relat�rio R0990 * */ form.getIndicadorGuiaPagamento()!=null ? form.getIndicadorGuiaPagamento():null ); if(form.getIndicadorInclusaoValorSemParcelas().equals("1")) { helper.setExibirDebitoSemParcela(true); helper.setExibirCreditoSemParcela(true); } definirMaiorFaixa(helper, form.getColecaoFaixas()); RelatorioDocumentosAReceber relatorio = new RelatorioDocumentosAReceber(usuario); // chama o met�do de gerar relat�rio passando o c�digo da analise // como par�metro /* * Felipe Santos - 28/03/2012 * * Altera��o para pegar o tipo de relat�rio retornado atrav�s da * p�gina conforme selecionado pelo usu�rio */ String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); // fim da altera��o relatorio.addParametro("tipoFormatoRelatorio", new Integer(tipoRelatorio)); relatorio.addParametro("filtro", helper); retorno = processarExibicaoRelatorio(relatorio, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); return retorno; } private void definirMaiorFaixa(FiltroRelatorioDocumentosAReceberHelper helper, Collection<FaixaHelper> faixas) { List lista = Arrays.asList(faixas.toArray()); FaixaHelper faixaHelper = (FaixaHelper) lista.get(lista.size()-1); String maiorFaixa = faixaHelper.getDescricao(); helper.setMaiorFaixa(maiorFaixa); } }