Enviar uma string SQL para montar um relatório

4 respostas
by_stoco

Salve a todos…
Galera! Jah procurei em vários tópicos, mas não encontrei nenhum que me ajudasse.

Seguinte!
Montei uma método que de acordo com os parametros informados, monta-se o resultado para a tela de consulta. Agora to querendo pegar este mesmo resultado e montar um relatório para impressão.

Como enviar a SQL montada?

Segue codigo:

public List<Acao> Consulta(int area, int setor, int uep, String numPlano, String piloto, int tipo, int ano, int mes, int semana, int status) { String sql = "SELECT * FROM acao WHERE codigo <> 0 "; if (uep != 0) { sql += " AND uep_codigo = " + uep; } if (!numPlano.equals("")) { sql += " AND planoDeAcao_codigo in (SELECT codigo FROM plano_de_acao WHERE numero = " + numPlano + ")"; } piloto = piloto.trim(); if (!piloto.equals("")) { piloto = piloto.toUpperCase(); int tam = piloto.length(); if ((tam == 7) && (piloto.startsWith("U"))) { sql += " AND responsavel = '" + piloto + "'"; } else { sql += " AND responsavel in (SELECT identifiant_func FROM view_colaboradores WHERE nome_func like '%" + piloto + "%')"; } } if (tipo != 0) { sql += " AND tipo_codigo = " + tipo; } if (semana != 0) { sql += " AND WEEK(dataprevista) = " + semana; } if (mes != 0) { sql += " AND MONTH(dataprevista) = " + mes; } if (ano != 0) { sql += " AND YAER(dataprevista) = " + ano; } if ((status != 0) && (status != 100)) { sql += " AND status = " + status; } if (status == 100) { sql += " AND status = 1 AND (dataprevista < CURRENT_DATE())"; } SQLQuery query = session.createSQLQuery(sql); query.addEntity(Acao.class); return query.list(); }

Estou utilizando iReports para montar a estrutura.
Se alguém puder me ajudar…
GRATO desde já!!!

4 Respostas

G

Faz o seguinte

// Coloca os dados por parametros do consulta é claro
List<Acao> exemplo = Consulta(int, int, int,  String, String, int, int, int, int, int);

// Para acessar todos os objetos da lista um foreach
for(Acao acao : exemplo){
    System.out.println(acao.getDado());
}
by_stoco

Opa…
Esqueci de mencionar q quero fazer em PDF.
Valew aê Gbzao…

S

cria um dataSource personalizado implementando a interface JRDataSource…

S

ele permite manipular qualquer tipo de collection, basta implementar next();

Criado 15 de fevereiro de 2008
Ultima resposta 15 de fev. de 2008
Respostas 4
Participantes 3