Ola turma.
Já verifiquei o jasper e os atributos os mesmos estão iguais.
fonte:
[code]package testebudnyweb;
import conexao.Conexao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
/**
*
-
@author user
*/
public class FichaTecnicaMultNivel {/** Creates a new instance of FichaTecnicaMultNivel */
public FichaTecnicaMultNivel() {
}public static void main(String[] args) {
List lista = new ArrayList();
List fichaAberta = new ArrayList();Connection conn = Conexao.getInstance().getConnection(); String relatorioJASPER = null; //relatorioJASPER = "/WEB-INF/classes/relatorios/comercial/BoletimEntrega.jasper"; //ServletOutputStream servletOutputStream = response.getOutputStream(); //InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream(relatorioJASPER); StringBuffer sql = new StringBuffer(); try { HashMap parameters = new HashMap(); parameters.put("empresa", "EMPRESA"); parameters.put("cnpj", "CNPJ: Insc. Est.: "); parameters.put("usuario", "Usuario: DAVI"); sql.append("select codpro, descripro, abrevuni, qtdadefct "); sql.append("from fichatec "); sql.append("left join produto on empresapro=empfct and codpro=componfct "); sql.append("left join unidade on empuni=empfct and coduni=unidpro "); sql.append("where empfct='001' "); sql.append("and codprofct='200010' "); sql.append("order by descripro;"); Statement statement = conn.createStatement(); ResultSet result = statement.executeQuery( sql.toString() ); Integer i = 1; while ( result.next() ) { Ficha ficha = new Ficha(); if ( i < 10 ) { ficha.setMascara( "0" + i ); } else { ficha.setMascara( i.toString() ); } i++; ficha.setCodpro( result.getString( 1 ) ); ficha.setDescripro( result.getString( 2 ) ); ficha.setUnidade( result.getString( 3 ) ); ficha.setQtdade( result.getDouble( 4 ) ); lista.add(ficha); fichaAberta.add(false); } int j = fichaAberta.indexOf(false); while ( j != -1){ Ficha resultado = (Ficha) lista.get(j); fichaAberta.set(j, true); sql = new StringBuffer(); sql.append("select codpro, descripro, abrevuni, "); sql.append(resultado.getQtdade()+"*qtdadefct as qtdadefct "); sql.append("from fichatec "); sql.append("left join produto on empresapro=empfct and codpro=componfct "); sql.append("left join unidade on empuni=empfct and coduni=unidpro "); sql.append("where empfct='001' "); sql.append("and codprofct='" + resultado.getCodpro() + "' "); sql.append("order by descripro;"); statement = conn.createStatement(); result = statement.executeQuery( sql.toString() ); i = 1; while ( result.next() ) { Ficha ficha = new Ficha(); if ( i < 10 ) { ficha.setMascara( resultado.getMascara() + "." + "0" + i ); } else { ficha.setMascara( resultado.getMascara() + "." + i.toString() ); } i++; ficha.setCodpro( result.getString( 1 ) ); ficha.setDescripro( result.getString( 2 ) ); ficha.setUnidade( result.getString( 3 ) ); ficha.setQtdade( result.getDouble( 4 ) ); lista.add(ficha); fichaAberta.add(false); } j = fichaAberta.indexOf(false); } sql = new StringBuffer(); for (int h = 0; h < lista.size(); h++) { System.out.println(lista.get(h).getMascara()); } Collections.sort(lista, new Comparator<Ficha>() { public int compare(Ficha o1, Ficha o2) { return o1.getMascara().compareTo(o2.getMascara()); } }); for (int h = 0; h < lista.size(); h++) { System.out.println(lista.get(h).getMascara()); } JRBeanCollectionDataSource jr = new JRBeanCollectionDataSource(lista); JasperPrint jasperPrint = JasperManager.fillReport("E:/ProjetosJava/Netbeans/TesteBudnyWeb/src/testebudnyweb/FichaTecnicaMultNivel.jasper", parameters, jr); JasperExportManager.exportReportToPdfFile(jasperPrint, "Saida.pdf"); } catch(Exception e) { System.out.println(e.getMessage() + sql.toString()); }
}
}
class Ficha {
private String mascara;
private String codpro;
private String descripro;
private String unidade;
private double qtdade;
public Ficha(){}
public Ficha(String mascara, String codpro, String descripro, double qtdade){
this.mascara = mascara;
this.codpro = codpro;
this.descripro = descripro;
this.qtdade = qtdade;
}
public String getMascara() {
return mascara;
}
public void setMascara(String mascara) {
this.mascara = mascara;
}
public String getCodpro() {
return codpro;
}
public void setCodpro(String codpro) {
this.codpro = codpro;
}
public String getDescripro() {
return descripro;
}
public void setDescripro(String descripro) {
this.descripro = descripro;
}
public double getQtdade() {
return qtdade;
}
public void setQtdade(double qtdade) {
this.qtdade = qtdade;
}
public void setUnidade(String unidade) {
this.unidade = unidade;
}
}[/code]
Alguém sabe o que mais pode ser?