Caros Colegas,
Sou iniciante no java eu uso o Netbeans 5.5 + Firebird 2.0.1
Como faço para passar um intevalo de data para query o qual eu monto um gráfico pelo cewolf. Eu tenho um form JSP onde eu irei passar esse intervalo de data para para query que é usada pelo Cewolf.
Obs: O grafico desta forma está funcionando perfeitamente, porem pega todo conteudo do banco devido a falta do filtro na query.
Será que alguem pode me ajudar???
JSP esta assim:
<%@page contentType=“text/html”%>
<%@taglib uri=’/WEB-INF/cewolf-1.1.tld’ prefix=‘cewolf’ %>
<!–%@taglib uri="/WEB-INF/cewolf-1.1.tld" prefix=“cewolf”%–>
<bean:define id=“fldDivision” name=“SalesDataPerformChartForm” property=“fldDivision” type=“java.lang.String”/>
<%
String strDI = "Teste1";//request.getParameter("DI");
String strDF = "Teste1";//request.getParameter("DF");
%>
<HTML>
<BODY ALIGN="center">
<H3 ALIGN="center">Pesquisa de Satisfação - Tropical Manaus</H3>
<HR>
<jsp:useBean id="view" class="Beans.MetodosCharts"/>
<cewolf:chart
id="graficoBarra"
title="Estatística"
type="pie3D"
xaxislabel="Meses"
yaxislabel="Valores">
<cewolf:gradientpaint>
<cewolf:point x="0" y="0" color="#FFFFFF"/>
<cewolf:point x="300" y="300" color="#C8C8C8"/>
</cewolf:gradientpaint>
<cewolf:data>
<cewolf:producer id="view">
</cewolf:producer>
</cewolf:data>
</cewolf:chart>
<p>
<cewolf:img chartid="graficoBarra" renderer="/cewolf" width="600"
height="300"/>
<P>
</BODY>
</HTML>
A classe onde estao os metodos do cewolf esta desta forma
package Beans;
import java.util.ArrayList;
import java.util.Date;
import java.io.Serializable;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.DatasetProducer;
import java.io.Serializable;
import java.util.Map;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.category.CategoryToPieDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.JFreeChart;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.taglib.tags.SimpleChartTag;
import java.sql.ResultSet;
import java.sql.SQLException;
import servlet.ExecMetodosCharts;
public class MetodosCharts implements DatasetProducer, Serializable {
private ResultSet rs = null;
//MetodosPesquisas claMetodosPesquisas = new MetodosPesquisas();
ExecMetodosCharts claExecMetodosCharts = new ExecMetodosCharts();
private final String[] mes = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio",
" Junho", "Julho","Agosto", "Setembro", "Outubro",
" Novembro", "Dezembro"};
private final String[] ano = {"2000", "2001", "2002", "2003", "2004"};
public Object produceDataset(Map params) throws DatasetProduceException {
rs=ChamaAgrupaReg();
float total = 0;
float percentual = 0;
int i = 0;
java.text.DecimalFormat decFormat = new java.text.DecimalFormat("##,##0.00");
DefaultPieDataset pieDataset = new DefaultPieDataset();
try {
while(rs.next()){
total = total + rs.getInt("qt");
}
rs = AgrupaReg();
while(rs.next()){
String strTIPOCO = rs.getString("TIPOCO_PESQ");
if(strTIPOCO.equals("ELO"))strTIPOCO = "Elogios";
if(strTIPOCO.equals("SUG"))strTIPOCO = "Sugestões";
if(strTIPOCO.equals("REC"))strTIPOCO = "Reclamações";
if(strTIPOCO.equals("SSU"))strTIPOCO = "Sem sugestões";
percentual = (rs.getInt("qt")/total)*100;
pieDataset.setValue(strTIPOCO+" ["+decFormat.format(new Float(percentual))+"%]" , percentual);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return pieDataset;
}
public ResultSet AgrupaReg(String di, String df) {
try {
conn = claConexaoBD.getFireBirdConnection();
if(conn != null) {
s = conn.createStatement();
rs = s.executeQuery("select count(tipOco_Pesq) as qt,TipOco_Pesq from "+PFtabela+" having dtCheckout between "+ di +" and "+df+ " Group by TipOco_Pesq");
}
} catch(SQLException e) {
return null;
}
return rs;
}
public boolean hasExpired(Map params, Date since) {
return (System.currentTimeMillis() - since.getTime()) > 5000;
}
public String getProducerId() {
return "PageViewCountData DatasetProducer";
}
}