Galera, estou com um problema que está gerando a Exception citada no título desta mensagem.
Esta minha aplicação criava uma sessão para guardar o usuário e o sistema o qual ela está acessando. No entanto, deixou de haver necessidade. Então passei tudo para o escopo View. Após isso, começou a aparecer este problema.
A aplicação abre normalmente e funciona, no entanto essa exceção me incomoda. Se esta aparece, algo deve estar errado.
Segue a StackTrace:
GRAVE: Error Rendering View[/relatorio2.xhtml]
java.lang.IllegalStateException: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2881)
at org.apache.catalina.connector.Request.getSession(Request.java:2316)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:898)
at com.sun.faces.context.ExternalContextImpl.getSession(ExternalContextImpl.java:155)
at com.sun.faces.renderkit.ServerSideStateHelper.writeState(ServerSideStateHelper.java:175)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
23/01/2013 09:05:47 com.sun.faces.context.ExceptionHandlerImpl throwIt
INFO: Exception when handling error trying to reset the response.
java.lang.IllegalStateException: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2881)
at org.apache.catalina.connector.Request.getSession(Request.java:2316)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:898)
at com.sun.faces.context.ExternalContextImpl.getSession(ExternalContextImpl.java:155)
at com.sun.faces.renderkit.ServerSideStateHelper.writeState(ServerSideStateHelper.java:175)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
23/01/2013 09:05:47 com.sun.faces.renderkit.RenderKitUtils renderHtmlErrorPage
AVISO: JSF1087: Não foi possível gerar a página de erro de Facelets porque a resposta já foi enviada.
23/01/2013 09:05:47 com.sun.faces.renderkit.RenderKitUtils renderHtmlErrorPage
GRAVE: javax.faces.FacesException: Cannot create a session after the response has been committed
javax.faces.FacesException: Cannot create a session after the response has been committed
at com.sun.faces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:141)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2881)
at org.apache.catalina.connector.Request.getSession(Request.java:2316)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:898)
at com.sun.faces.context.ExternalContextImpl.getSession(ExternalContextImpl.java:155)
at com.sun.faces.renderkit.ServerSideStateHelper.writeState(ServerSideStateHelper.java:175)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
View
[code]<?xml version='1.0' encoding='UTF-8' ?>
</h:head>
<body>
<ui:define name="left"></ui:define>
<ui:define name="right"></ui:define>
<ui:define name="content">
<h:form id="form">
<p:blockUI id="blok" block="panel" trigger="pesquisar"/>
<p:panel id="panel" header="Curva ABC - GTi">
<h:panelGrid id="top" columns="4" style="margin-left: 20px">
<h:panelGrid columns="3">
<h:outputLabel value="Início"/>
<h:outputLabel value=""/>
<h:outputLabel value="Fim"/>
<p:calendar pattern="dd/MM/yyyy" binding="#{bRelatorio2.dtInicio}" maxdate="#{bRelatorio2.dataMaxVis}" mindate="01/01/2010" locale="pt_BR" size="10"/>
a
<p:calendar pattern="dd/MM/yyyy" binding="#{bRelatorio2.dtFim}" maxdate="#{bRelatorio2.dataMaxVis}" mindate="01/01/2010" locale="pt_BR" size="10"/>
</h:panelGrid>
<h:panelGrid id="tipoRel" styleClass="bordaPanelGrid">
<f:facet name="header">
<h:outputLabel value="Tipo de Relatório"/>
</f:facet>
<p:selectOneRadio layout="pageDirection" binding="#{bRelatorio2.tpRelatorio}" >
<f:selectItems itemValue="#{item.value}" itemLabel="#{item.label}" value="#{bRelatorio2.siListaRelatorios}" var="item" />
<p:ajax event="change" global="false" listener="#{bRelatorio2.habilitaCompradores}" update="compradores, tabela, exportar, flagTodosCompradores"/>
</p:selectOneRadio>
</h:panelGrid>
<p:dataTable id="grupoCompras" scrollable="true" scrollHeight="120" scrollWidth="134" rows="25" emptyMessage="Nenhum resultado encontrado." value="#{bRelatorio2.siListaCompras}" var="item" >
<p:column width="95">
<f:facet name="header">
<h:outputLabel value="Grupo de Compras"/>
</f:facet>
<h:panelGroup >
<p:selectBooleanCheckbox id="g" value="#{item.value}"/>
<p:outputLabel for="g" value="#{item.label}"/>
</h:panelGroup>
</p:column>
</p:dataTable>
<p:dataTable id="compradores" scrollable="true" scrollHeight="120" scrollWidth="134" rows="25" value="#{bRelatorio2.siListaCompradores}"
var="item" liveScroll="false" >
<p:column width="95">
<f:facet name="header">
<h:outputLabel value="Compradores" />
</f:facet>
<h:panelGroup id="grupoCompradores">
<p:selectBooleanCheckbox id="t" value="#{item.value}" disabled="#{bRelatorio2.liberaCompradores}"/>
<p:outputLabel for="t" value="#{item.label}"/>
</h:panelGroup>
</p:column>
</p:dataTable>
<h:outputLabel value=""/>
<h:outputLabel value=""/>
<h:panelGroup style="margin-left: 11px">
<p:selectBooleanCheckbox value="#{bRelatorio2.todosGrupoCompras}">
<p:ajax global="false" event="change" listener="#{bRelatorio2.preencherListaGrupoCompras()}" update="grupoCompras"/>
</p:selectBooleanCheckbox>
<h:outputText value="Todos" />
</h:panelGroup>
<h:panelGroup id="pComp" style="margin-left: 11px">
<p:selectBooleanCheckbox id="flagTodosCompradores" value="#{bRelatorio2.todosCompradores}" disabled="#{bRelatorio2.liberaCompradores}">
<p:ajax global="false" event="change" listener="#{bRelatorio2.preencherListaCompradores()}" update="compradores"/>
</p:selectBooleanCheckbox>
<h:outputText value="Todos"/>
</h:panelGroup>
</h:panelGrid>
<br/>
<center>
<p:commandButton id="pesquisar" immediate="false" styleClass="botao" action="#{bRelatorio2.pesquisar}" value="Pesquisar" update="tabela, exportar, msgErro, msgConsulta"/>
<p:commandButton styleClass="botao" ajax="false" disabled="#{bRelatorio2.exportar}" actionListener="#{bRelatorio2.exportar}" value="Exportar" style="margin-left: 4px" id="exportar">
<p:fileDownload value="#{bRelatorio2.arquivo}"/>
</p:commandButton>
<p:commandButton styleClass="botao" ajax="false" actionListener="#{bRelatorio2.limpar}" value="Limpar" style="margin-left: 4px" id="limpar"/>
</center>
<h:outputLabel id="msgErro" value="#{bRelatorio2.msgErro}" style="color: red"/>
<br/>
<h:panelGrid style="margin-left: -7px">
<p:dataTable value="#{bRelatorio2.lista}" id="tabela" pageLinks="10" rows="20"
var="item" scrollRows="0" paginator="true" scrollable="true" scrollHeight="280" scrollWidth="995"
emptyMessage="Nenhum resultado encontrado até o momento">
<p:ajax id="rowToggler" event="rowToggle" listener="#{bRelatorio2.dadosLinha}" update="subtab"/>
<p:column exportable="false" width="7" style="text-align: left">
<p:rowToggler id="subtab"/>
</p:column>
<p:column footerText="TOTAL" width="318">
<f:facet name="header">
<h:outputText value="#{bRelatorio2.nomeColuna1}"/>
</f:facet>
<h:outputText value="#{item.nome}" />
</p:column>
<p:column style="text-align: right" footerText="#{bRelatorio2.valorTotal}" width="80" >
<f:facet name="header">
<h:outputText value="Valor"/>
</f:facet>
<h:outputText value="#{item.valor}" >
<f:convertNumber pattern="###,###.##" minFractionDigits="3" maxFractionDigits="3"/>
</h:outputText>
</p:column>
<p:column style="text-align: right" width="100" >
<f:facet name="header">
<h:outputText value="Valor Acumulado"/>
</f:facet>
<h:outputText value="#{item.valorAcumulado}" >
<f:convertNumber pattern="###,###.##" minFractionDigits="3" maxFractionDigits="3"/>
</h:outputText>
</p:column>
<p:column style="text-align: right" width="80" >
<f:facet name="header">
<h:outputText value="Porcentagem"/>
</f:facet>
<h:outputText value="#{item.porcentagem}">
<f:convertNumber minFractionDigits="3" maxFractionDigits="3"/>
</h:outputText>%
</p:column>
<p:column style="text-align: right" width="150" >
<f:facet name="header">
<h:outputText value="Porcentagem Acumulada"/>
</f:facet>
<h:outputText value="#{item.porcentagemAcumulada}" >
<f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>%
</p:column>
<p:column style="text-align: center" width="50" >
<f:facet name="header">
<h:outputText value="Indice"/>
</f:facet>
<h:outputText value="#{item.indice}" />
</p:column>
<p:rowExpansion >
<p:dataTable value="#{bRelatorio2.listaST}" id="subTab2"
var="itemSt" scrollRows="0" scrollable="true" scrollHeight="130" scrollWidth="975">
<p:column width="75" style="text-align: center">
<f:facet name="header">
<h:outputText value="Nr. Solicitacao"/>
</f:facet>
<h:outputText value="#{itemSt.nrPedido}" />
</p:column>
<p:column width="65" style="text-align: center">
<f:facet name="header">
<h:outputText value="Data Solicit."/>
</f:facet>
<h:outputText value="#{itemSt.dtPedido}" />
</p:column>
<p:column width="62" style="text-align: center" >
<f:facet name="header">
<h:outputText value="Solicitante"/>
</f:facet>
<h:outputText value="#{itemSt.solicitante}" />
</p:column>
<p:column width="78" style="text-align: center">
<f:facet name="header">
<h:outputText value="Nr. Ord. Comp."/>
</f:facet>
<h:outputText value="#{itemSt.nrRequisicaoDeCompra}" />
</p:column>
<p:column width="92" style="text-align: center">
<f:facet name="header">
<h:outputText value="Dt. Ord. de Comp."/>
</f:facet>
<h:outputText value="#{itemSt.dtRequisicaoDeCompra}" />
</p:column>
<p:column width="62" style="text-align: center">
<f:facet name="header">
<h:outputText value="Comprador"/>
</f:facet>
<h:outputText value="#{itemSt.comprador}" />
</p:column>
<p:column width="72" style="text-align: center">
<f:facet name="header">
<h:outputText value="NF Entrada"/>
</f:facet>
<h:outputText value="#{itemSt.nrNotaFiscalEntrada}" />
</p:column>
<p:column width="72" style="text-align: center">
<f:facet name="header">
<h:outputText value="Data Ent. NF"/>
</f:facet>
<h:outputText value="#{itemSt.dtEntrada}" />
</p:column>
<p:column width="70" style="text-align: right">
<f:facet name="header">
<h:outputText value="Cod. Material"/>
</f:facet>
<h:outputText value="#{itemSt.codMaterial}" />
</p:column>
<p:column width="270" style="text-align: left">
<f:facet name="header">
<h:outputText value="Material"/>
</f:facet>
<h:outputText value="#{itemSt.descricaoMaterial}" />
</p:column>
<p:column width="72" style="text-align: right">
<f:facet name="header">
<h:outputText value="Cod. Fornec."/>
</f:facet>
<h:outputText value="#{itemSt.codFornecedor}" />
</p:column>
<p:column width="220" style="text-align: left">
<f:facet name="header">
<h:outputText value="Fornecedor"/>
</f:facet>
<h:outputText value="#{itemSt.descFornecedor}" />
</p:column>
<p:column width="70" style="text-align: right">
<f:facet name="header">
<h:outputText value="Qtde. Comp."/>
</f:facet>
<h:outputText value="#{itemSt.qtdeComprada}">
<f:convertNumber pattern="###,###.##" minFractionDigits="5" maxFractionDigits="5"/>
</h:outputText>
</p:column>
<p:column width="70" style="text-align: right">
<f:facet name="header">
<h:outputText value="Vlr. Unit."/>
</f:facet>
<h:outputText value="#{itemSt.vlrUnitario}">
<f:convertNumber pattern="###,###.##" minFractionDigits="7" maxFractionDigits="7"/>
</h:outputText>
</p:column>
<p:column width="80" style="text-align: right">
<f:facet name="header">
<h:outputText value="Vlr. Total"/>
</f:facet>
<h:outputText value="#{itemSt.vlrTotalDaCompra}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="ICMS(%)"/>
</f:facet>
<h:outputText value="#{itemSt.icms}" >
<f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="Vlr. ICMS"/>
</f:facet>
<h:outputText value="#{itemSt.vlrIcms}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="IPI(%)"/>
</f:facet>
<h:outputText value="#{itemSt.ipi}" >
<f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="Vlr IPI"/>
</f:facet>
<h:outputText value="#{itemSt.vlrIpi}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="PIS(%)"/>
</f:facet>
<h:outputText value="#{itemSt.pis}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="Vlr. PIS"/>
</f:facet>
<h:outputText value="#{itemSt.vlrPis}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="Cofins(%)"/>
</f:facet>
<h:outputText value="#{itemSt.cofins}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="65" style="text-align: right">
<f:facet name="header">
<h:outputText value="Vlr. Cofins"/>
</f:facet>
<h:outputText value="#{itemSt.vlrCofins}">
<f:convertNumber pattern="###,###.##" minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</p:column>
<p:column width="270" style="text-align: center">
<f:facet name="header">
<h:outputText value="Chave NFe"/>
</f:facet>
<h:outputText value="#{itemSt.chvnfe}"/>
</p:column>
</p:dataTable>
</p:rowExpansion>
</p:dataTable>
</h:panelGrid>
<h:outputLabel id="msgConsulta" value="#{bRelatorio2.msgConsulta}" rendered="false" />
</p:panel>
<p:ajaxStatus onstart="statusDialog.show();" style="width: 30px" onsuccess="statusDialog.hide();"/>
<p:dialog widgetVar="statusDialog" width="40" height="20"
draggable="false" closable="false" resizable="false">
<p:graphicImage value="/resources/imgs/carregando.gif"/>
</p:dialog>
</h:form>
</ui:define>
</body>
</ui:composition>
[/code]
MB
[code]package br.com.relatorios.beans;
import br.com.relatorios.daos.Relatorio2Dao;
import br.com.relatorios.entidades.Relatorio2;
import br.com.relatorios.entidades.subTabela2;
import br.com.utilitarios.FormataData;
import br.com.utilitarios.FormataNumero;
import br.com.utilitarios.Msg;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;
import org.apache.poi.hssf.usermodel.HSSFBorderFormatting;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.primefaces.component.calendar.Calendar;
import org.primefaces.component.selectoneradio.SelectOneRadio;
import org.primefaces.event.ToggleEvent;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;
/**
*
-
@author max.soares
/
@ManagedBean
@ViewScoped
public class BRelatorio2 implements Serializable{
private static final long serialVersionUID = 1L;
/* Creates a new instance of BRelatorio2 */
public BRelatorio2() {siListaCompras.clear(); buscaListaGrupoCompras(); buscaListaCompradores(); siListaRelatorios.clear(); siListaRelatorios.add(new SelectItem(1,"Fornecedores")); siListaRelatorios.add(new SelectItem(2,"Grupo de Compras")); siListaRelatorios.add(new SelectItem(3,"Compradores")); siListaRelatorios.add(new SelectItem(4,"Materiais")); SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy"); java.util.Calendar c = new GregorianCalendar(); System.out.println("DATA ATUAL -> "+sd.format(c.getTime())); c.add(java.util.Calendar.DAY_OF_MONTH, -1); System.out.println("DATA PASSADA -> "+sd.format(c.getTime())); dataMaxVis=c.getTime();
}
private boolean comprador;
private String valorTotal, msgErro="";
private Integer indexRelatorio=0;
private String nomeColuna1, usuario, sistema;
private Calendar dtInicio, dtFim;
private List lista = new ArrayList();
private Relatorio2Dao rel2Dao=new Relatorio2Dao();
private ResultSet rs;
private boolean liberaCompradores=true, exportar=true, liberaTotal=false, todosGrupoCompras=false, todosCompradores=false;
private SelectOneRadio tpRelatorio;
private Relatorio2 selection = new Relatorio2();
private List siListaCompradores = new ArrayList();
private List siListaCompras = new ArrayList();
private List siListaRelatorios = new ArrayList();
private String msgConsulta="";
private Date dataMaxVis;// gets and sets[/code]
Me ajudem por favor?