Fala galera…
tranqs…
estamos desenvolvendo um sistema em jsf, e tenho algumas duvidas relacionadas ao backing bean…
este sistema gera relatorio a partir de dados selecionados pelo usuario…
eu preciso passar as informacoes da classe relatorio num para gerar graficos dinamicamente,
porém nao sei como criar um e que relacao tem com Datamodel…
vou colocar aqui o pojo relatorio [ preciso fazer uma do tipo relatorio]
package br.com.sie.pojoSec;
public class Relatorio {
String nmMunicipio;
int aaReferencia;
String dsItemDado;
String vrHistorico;
public Relatorio() {
}
public Relatorio(String nmMunicipio, Integer aaReferencia,
String dsItemDado, String vrHistorico) {
this.nmMunicipio = nmMunicipio;
this.aaReferencia = aaReferencia;
this.dsItemDado = dsItemDado;
this.vrHistorico = vrHistorico;
}
public String getNmMunicipio() {
return nmMunicipio;
}
public void setNmMunicipio(String nmMunicipio) {
this.nmMunicipio = nmMunicipio;
}
public int getAaReferencia() {
return aaReferencia;
}
public void setAaReferencia(int aaReferencia) {
this.aaReferencia = aaReferencia;
}
public String getDsItemDado() {
return dsItemDado;
}
public void setDsItemDado(String dsItemDado) {
this.dsItemDado = dsItemDado;
}
public String getVrHistorico() {
return vrHistorico;
}
public void setVrHistorico(String vrHistorico) {
this.vrHistorico = vrHistorico;
}
}
obrigado
A sua dúvida não ficou muito clara, mas se entendi certo, você precisa de uma lista de objetos do tipo Relatorio, correto?
se for isso, você pode utilizar List<Relatorio> relatorios = new ArrayList<Relatorio>();
se você precisa mostrar isto num relatório (como o iReport) ou uma tabela de jsf, você utilizar normalmente a interface List.
sim, é exatamente isso.
criar uma lista eu até sei, mas nao sei manipular estas informacoes…
public List<Relatorio> listaRelatorio(List<Integer> munID,
List<Integer> tempID, List<Integer> itemID) throws DAOException {
o problema eh o seguinte, o cliente preenche o relatorio de acordo com o que ele selecionar, no final o relatorio eh gerado, a ideia eh pegar estas mesmas informacoes q ele preencheu, pra jogar num grafico criado pelo fusioncharts, ja tenho uma estrutura de geracao de xml pronta, so preciso passar os dados dinamicamente …
preciso de um datamodel pra manipular as informacoes do ??
dae,
cria assim:
ArrayList<Relatorio> relatorio = new ArrayList<Relatorio>();
=]
Rafa Ferrari, valeu… mas dessa parte eu ja sabia!
[code]public List listaRelatorio(List munID,
List tempID, List itemID) throws DAOException {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
String tempos = "";
String itens = "";
String municipios = "";
for (Integer cdMun : munID) {
municipios = municipios + cdMun + ",";
}
municipios = municipios.substring(0, municipios.length() - 1);
System.out.println(municipios);
for (Integer cdTemp : tempID) {
tempos = tempos + cdTemp + ",";
}
tempos = tempos.substring(0, tempos.length() - 1);
System.out.println(tempos);
for (Integer cdItem : itemID) {
itens = itens + "'" + cdItem + "' ,";
}
itens = itens.substring(0, itens.length() - 1);
System.out.println(itens);
try {
conn = this.conn;
ps = conn.prepareStatement("select mun.nm_municipio, "
+ " tem.aa_referencia, " + "ds_item_dado, "
+ "his.vr_historico " + "from hist_item_dado his, "
+ "item_dado item, " + "municipio mun, "
+ "tempo tem " + "where mun.id_municipio in ("
+ municipios + ") and "
+ "mun.id_local = his.id_local and "
+ "his.id_item_dado = item.id_item_dado and "
+ "his.id_tempo in (" + tempos
+ ") and " + "item.cd_item_dado in ("
+ itens + ") and " + "his.id_tempo = tem.id_tempo ");
rs = ps.executeQuery();
List<Relatorio> list = new ArrayList<Relatorio>();
while (rs.next()) {
String nmMunicipio = rs.getString(1);
int aaReferencia = rs.getInt(2);
String dsItemDado = rs.getString(3);
String vrHistorico = rs.getString(4);
list.add(new Relatorio(nmMunicipio, aaReferencia, dsItemDado,
vrHistorico));
}
return list;
} catch (SQLException sqle) {
throw new DAOException(sqle);
} finally {
ConnectionFactory.closeConnection(conn, ps, rs);
}
}
[/code]
eu kero chamar esse metodo de uma outra classe, mas nao consigo…
essa que eh a bronca
cara, ta difícil de entender o que você precisa…
tente explanar melhor a sua dúvida, pois não dá pra ter ideia…
essa manipulação de lista que você fala, é você percorrer a lista, pegar um determinador objeto, remover, etc, ou é a maneira que teu relatório vai tratar a lista?
a interface List não precisa implementar nada, pois a ArrayList já a implementa. No caso de programação swing, você precisa implementar model quando for trabalhar com uma tabela, combobox, etc… eu nunca mexi com fusioncharts, para saber se ele precisa implementar algum tipo de model, aí só consultando a documentação da biblioteca.
agora que vi que você postou o código. foi mal…
mas então, a príncipio seu método não está errado… mas por acaso, não te mostra algum erro, ou não retorna nada?
pense o seguinte,
o sistema ja gera um relatorio com os dados escolhidos pelo usuario,
e é esse metodo que eh utilizado para que o select feito fique de acordo com o que o usuario escolheu, veja que tem 3 variaveis no meio do query.
o que eu kero utilizar este query deste metodo pra pegar as mesmas informacoes q foram setadas pelo usuario, e assim tratar essas variaveis no fusioncharts com uma classe de geradorxml.
fui mais claro desta vez ? 
obrigado