Pessoal fiz um gráfico linechart do PrimeFaces com informações do banco de dados. Porém ele ao trazer essas informações ele seta apenas o primeiro mês.
Será que alguém já passou por isso.
Meu modelo
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "tb_apf1_copy")
public class Apf implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private int id;
private String Data;
private double Transx;
private double Transy;
private double Valorx;
private double Valory;
private double Acessox;
private double Acessoy;
private double Usuariosx;
private double Usuariosy;
//get e sets
Minha consulta do genericDAO
@Override
public List<T> buscaTodos() throws Exception{
return getHibernateTemplate().loadAll(persistentClass);
}
Meu Bean. Acho que o erro está no gerarGraficoTransacao. Porém não sei mais como implementá-lo para renderizar de maneira correta o gráfico.
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.primefaces.model.chart.CartesianChartModel;
import org.primefaces.model.chart.ChartSeries;
import br.com.codigosfontes.bo.ApfBO;
import br.com.codigosfontes.model.Apf;
@ManagedBean
@RequestScoped
public class ApfBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ApfBO apfbo;
private List<Apf> listarDados = new ArrayList<Apf>();
private CartesianChartModel graficoLinhaTransacao;
private CartesianChartModel graficoLinhaValores;
// construtor
public ApfBean() {
apfbo = new ApfBO();
listar();
}
public void gerarGraficoTransacao(){
graficoLinhaTransacao = new CartesianChartModel();
for (Apf apf : listarDados) {
ChartSeries transx = new ChartSeries();
transx.setLabel(apf.getData());
transx.set(apf.getData(),apf.getTransx());
//transx.set(apf.getData(), apf.getTransy());
graficoLinhaTransacao.addSeries(transx);
}
}
public void listar() {
try {
// recuperar todos os candidatos do banco
listarDados = apfbo.buscaTodos();
gerarGraficoTransacao();
} catch (Exception x) {
x.printStackTrace();
}
}
public List<Apf> getListarDados() {
return listarDados;
}
public void setListarDados(List<Apf> listarDados) {
this.listarDados = listarDados;
}
public CartesianChartModel getGraficoLinhaTransacao() {
return graficoLinhaTransacao;
}
public CartesianChartModel getGraficoLinhaValores() {
return graficoLinhaValores;
}
public void setGraficoLinhaTransacao(CartesianChartModel graficoLinhaTransacao) {
this.graficoLinhaTransacao = graficoLinhaTransacao;
}
public void setGraficoLinhaValores(CartesianChartModel graficoLinhaValores) {
this.graficoLinhaValores = graficoLinhaValores;
}
}
.xhtml
<p:lineChart id="linear" value="#{apfBean.graficoLinhaTransacao}"
title="Transações" style="height:300px;width:1000px" minY="0" minX="0" legendPosition="e"/>
No resultado do gráfico ele seta só Jan mais com vários pontos.