Galera, alguém poderia ajudar um iniciante me java?
Estou desenvolvendo um relatório no Jasper, onde utilizo um JRDataSource para armazenar os dados.
Neste relatório, eu preciso que cada linha seja gerada num arquivo PDF , porém, o relatório está acumulando o array gerado, a cada página. Abaixo, segue o código, que não está muito bonito, mas está funcionando:
package Menus.GeracaoRET;
import java.io.File;
import java.io.IOException;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JFileChooser;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import org.jfree.ui.ExtensionFileFilter;
/**
*
-
@author FabianoRios
*/
public class GeraRETEmpresa {
public static void main (String[] args) {}
Carga.ComSQL conect = new Carga.ComSQL();public void GeraRET1() throws IOException, SQLException, JRException { { conect.conexao(); conect.executaSQL("select DRT_DssEmpresa, \n"+ " ((replace(substring(STR(DRT_NumCNPJ,14,0),1,2),' ',0))+'.'+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),3,3),' ',0))+'.'+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),6,3),' ',0))+'/'+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),9,4),' ',0))+'-'+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),13,2),' ',0))) as DRT_NUMCNPJ,\n"+ " DRT_DssControleEmpresa, \n"+ " DRT_NumFPAS,\n"+ " DRT_NumTerceiros,\n"+ " DRT_NumSimples,\n"+ " DRT_NumRAT,\n"+ " DRT_NumFAP,\n"+ " DRT_NumRATAjustado,\n"+ " DRT_NumCdRec,\n"+ " ((substring(STR(DRT_NumMesCompetencia,2,0),1,2))\n"+ " +'/'+\n"+ " (substring(STR(DRT_NumAnoCompetencia,4,0),1,4))) as COMPETENCIA, \n"+ " DRT_DssTomador,\n"+ " ((replace(substring(STR(DRT_NumCNPJTomador,14,0),1,2),' ',0))+'.'+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),3,3),' ',0))+'.'+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),6,3),' ',0))+'/'+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),9,4),' ',0))+'-'+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),13,2),' ',0))) as DRT_NUMCNPJTomador,\n"+ " DRT_DssControleTomador,\n"+ " DRT_DssEndereco,\n"+ " DRT_DssBairro,\n"+ " DRT_DssMunicipio,\n"+ " (substring(STR(DRT_NumCEP,8,0),1,5) +'-'+\n"+ " substring(STR(DRT_NumCEP,8,0),6,3)) as DRT_NumCEP,\n"+ " DRT_DssUF,\n"+ " DRT_DssNomeModalidade,\n"+ " DRT_VlnRemINSSNormal,\n"+ " DRT_VlnRemINSS13,\n"+ " DRT_VlnRemFGTSNormal8,\n"+ " DRT_VlnRemFGTS138,\n"+ " DRT_VlnDeposito8,\n"+ " DRT_VlnEncargos8,\n"+ " DRT_VlnContrSocial8,\n"+ " DRT_VlnRemFGTSNormal2,\n"+ " DRT_VlnRemFGTS132,\n"+ " DRT_VlnDeposito2,\n"+ " DRT_VlnEncargos2,\n"+ " DRT_VlnContrSocial2,\n"+ " (select (substring (vsf_numversaosefip,1,1)+\n"+ " +'.'++\n"+ " (substring(VSF_NumVersaoSefip,2,1))+\n"+ " +'0') from versoessefip) as NUM_Versao_SEFIP,\n"+ " (select (substring (VSF_NumTabelaPrevid,1,1)+\n"+ " +'.'++\n"+ " (substring(VSF_NumTabelaPrevid,2,1))+\n"+ " +'0') from versoessefip) as NUM_Versao_Previd,\n"+ " (select VSF_DtInicioVersaoSEFIP from VersoesSEFIP) as Vigencia_SEFIP,\n"+ " (select VSF_DtInicioTabelaPrevid from VersoesSEFIP) as Vigencia_Previd,\n"+ " DRT_VlnContribEmpregados,\n"+ " DRT_VlnContribDevida,\n"+ " DRT_NumtrabalhadoresINSS,\n"+ " DRT_NumTrabalhadoresFGTS8,\n"+ " DRT_NumTrabalhadoresFGTS2,\n"+ " (substring(DRT_DssCdBarras8,1,12) + ' ' +\n"+ " substring(DRT_DssCdBarras8,13,12) + ' ' +\n"+ " substring(DRT_DssCdBarras8,25,12) + ' ' +\n"+ " substring(DRT_DssCdBarras8,37,12)) as DRT_DssCdBarras8, \n"+ " (substring(DRT_DssCdBarras2,1,12) + ' ' +\n"+ " substring(DRT_DssCdBarras2,13,12) + ' ' +\n"+ " substring(DRT_DssCdBarras2,25,12) + ' ' +\n"+ " substring(DRT_DssCdBarras2,37,12)) as DRT_DssCdBarras2, \n"+ " ((replace(substring(STR(DRT_NumCNPJ,14,0),1,2),' ',0))+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),3,3),' ',0))+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),6,3),' ',0))+\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),9,4),' ',0))+'-'++\n"+ " (replace(substring(STR(DRT_NumCNPJ,14,0),13,2),' ',0))) as CNPJ, \n"+ " ((replace(substring(STR(DRT_NumCNPJTomador,14,0),1,2),' ',0))+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),3,3),' ',0))+\n"+ " (replace(substring(STR(DRT_NumCNPjTomador,14,0),6,3),' ',0))+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),9,4),' ',0))+'-'+\n"+ " (replace(substring(STR(DRT_NumCNPJTomador,14,0),13,2),' ',0))) as CNPJTomador, \n"+ " substring(DRT_DssEmpresa,1,20) as NomeEmpresa, \n"+ " substring(DRT_DssTomador,1,20) as NomeTomador \n"+ "from DadosRETs\n"+ "order by DRT_NumCNPJ, DRT_NumCNPJTomador, DRT_NusModalidadeFGTS");
//Carrega o total de linhas de DadosGRFs
try {
JFileChooser salvandoArquivo = new JFileChooser();
salvandoArquivo.setFileFilter(new ExtensionFileFilter("Arquivos PDF", "pdf"));
String endereco = "";
File file = null;
int retorno = salvandoArquivo.showSaveDialog(null);
if (retorno==JFileChooser.APPROVE_OPTION) {
endereco = salvandoArquivo.getSelectedFile().getAbsolutePath();
}
else
if (retorno ==JFileChooser.CANCEL_OPTION) {
return;
}
InputStream inputStream = getClass().getResourceAsStream( "../SGRE/src/Menus/GeracaoRET/RETEmpresa.jrxml");
Map parametros = new HashMap();
// criando os dados que serão passados ao datasource
List dados = new ArrayList();
while (conect.rs.next()) {
CargaRETEmpresa carga = new CargaRETEmpresa();
carga.setDRT_DssEmpresa(conect.rs.getString("DRT_DssEmpresa"));
carga.setDRT_NumCNPJ(conect.rs.getString("DRT_NumCNPJ"));
carga.setDRT_DssControleEmpresa(conect.rs.getString("DRT_DssControleEmpresa"));
carga.setDRT_NumFPAS(conect.rs.getInt("DRT_NumFPAS"));
carga.setDRT_NumTerceiros(conect.rs.getInt("DRT_NumTerceiros"));
carga.setDRT_NumSimples(conect.rs.getInt("DRT_NumSimples"));
carga.setDRT_NumRAT(conect.rs.getInt("DRT_NumRAT"));
carga.setDRT_NumFAP(conect.rs.getDouble("DRT_NumFAP"));
carga.setDRT_NumRATAjustado(conect.rs.getDouble("DRT_NumRATAjustado"));
carga.setDRT_NumCdRec(conect.rs.getInt("DRT_NumCdRec"));
carga.setCompetencia(conect.rs.getString("Competencia"));
carga.setDRT_DssTomador(conect.rs.getString("DRT_DssTomador"));
carga.setDRT_NumCNPJTomador(conect.rs.getString("DRT_NumCNPJTomador"));
carga.setDRT_DssControleTomador(conect.rs.getString("DRT_DssControleTomador"));
carga.setDRT_DssEndereco(conect.rs.getString("DRT_DssEndereco"));
carga.setDRT_DssBairro(conect.rs.getString("DRT_DssBairro"));
carga.setDRT_DssMunicipio(conect.rs.getString("DRT_DssMunicipio"));
carga.setDRT_NumCEP(conect.rs.getString("DRT_NumCEP"));
carga.setDRT_DssUF(conect.rs.getString("DRT_DssUF"));
carga.setDRT_DssNomeModalidade(conect.rs.getString("DRT_DssNomeModalidade"));
carga.setDRT_VlnRemINSSNormal(conect.rs.getDouble("DRT_VlnRemINSSNormal"));
carga.setDRT_VlnRemINSS13(conect.rs.getDouble("DRT_VlnRemINSS13"));
carga.setDRT_VlnRemFGTSNormal8(conect.rs.getDouble("DRT_VlnRemFGTSnormal8"));
carga.setDRT_VlnRemFGTS138(conect.rs.getDouble("DRT_VlnRemFGTS138"));
carga.setDRT_vlnDeposito8(conect.rs.getDouble("DRT_VlnDeposito8"));
carga.setDRT_VlnEncargos8(conect.rs.getDouble("DRT_VlnEncargos8"));
carga.setDRT_VlnContrSocial8(conect.rs.getDouble("DRT_VlnContrSocial8"));
carga.setDRT_VlnRemFGTSNormal2(conect.rs.getDouble("DRT_VlnRemFGTSNormal2"));
carga.setDRT_VlnRemFGTS132(conect.rs.getDouble("DRT_VlnRemFGTS132"));
carga.setDRT_VlnDeposito2(conect.rs.getDouble("DRT_VlnDeposito2"));
carga.setDRT_VlnEncargos2(conect.rs.getDouble("DRT_VlnEncargos2"));
carga.setDRT_VlnContrSocial2(conect.rs.getDouble("DRT_VlnContrSocial2"));
carga.setNUM_Versao_SEFIP(conect.rs.getString("NUM_Versao_SEFIP"));
carga.setNum_Versao_Previd(conect.rs.getString("Num_Versao_Previd"));
carga.setVigencia_SEFIP(conect.rs.getDate("Vigencia_SEFIP"));
carga.setVigencia_Previd(conect.rs.getDate("Vigencia_Previd"));
carga.setDRT_VlnContribEmpregados(conect.rs.getDouble("DRT_VlnContribEmpregados"));
carga.setDRT_VlnContribDevida(conect.rs.getDouble("DRT_VlnContribDevida"));
carga.setDRT_NumTrabalhadoresINSS(conect.rs.getDouble("DRT_NumTrabalhadoresINSS"));
carga.setDRT_NumTrabalhadoresFGTS8(conect.rs.getDouble("DRT_NumTrabalhadoresFGTS8"));
carga.setDRT_NumTrabalhadoresFGTS2(conect.rs.getDouble("DRT_NumTrabalhadoresFGTS2"));
carga.setDRT_DssCdBarras8(conect.rs.getString("DRT_DssCdBarras8"));
carga.setDRT_DssCdBarras2(conect.rs.getString("DRT_DssCdBarras2"));
dados.add( carga );
// }
String Empresa = conect.rs.getString("NomeEmpresa");
String Tomador = conect.rs.getString("NomeTomador");
String CNPJ = conect.rs.getString("CNPJ");
String CNPJTomador = conect.rs.getString("CNPJTomador");
// try {
JRDataSource ds = new JRBeanCollectionDataSource(dados);
JasperReport pathjrxml = JasperCompileManager.compileReport("…/SGRE/src/Menus/GeracaoRET/RETEmpresa.jrxml");
JasperPrint printReport = JasperFillManager.fillReport(pathjrxml, parametros, ds);
JasperExportManager.exportReportToPdfFile(printReport, endereco+" “+Empresa + “-”+CNPJ +”-"+Tomador+"-"+CNPJTomador+".pdf");
JOptionPane.showMessageDialog(null,"Relatório Finalizado");
}
}
catch (SQLException ex) {
System.out.println("");
}
}
}
}