9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/torrone/report.rb', line 9
def generate(report_name, options = {}, params = {})
data = options[:data]
_JRParameter = Rjb::import 'net.sf.jasperreports.engine.JRParameter'
_JsonQLQueryExecuterFactory = Rjb::import 'net.sf.jasperreports.engine.query.JsonQLQueryExecuterFactory'
_JsonQueryExecuterFactory = Rjb::import 'net.sf.jasperreports.engine.query.JsonQueryExecuterFactory'
_JasperFillManager = Rjb::import 'net.sf.jasperreports.engine.JasperFillManager'
_JasperExportManager = Rjb::import 'net.sf.jasperreports.engine.JasperExportManager'
_JasperPrint = Rjb::import 'net.sf.jasperreports.engine.JasperPrint'
_Locale = Rjb::import 'java.util.Locale'
_HashMap = Rjb::import 'java.util.HashMap'
_StandardCharsets = Rjb::import 'java.nio.charset.StandardCharsets'
namespace, report_name = (report_name)
report_path = File.join(Config.jasper_dir || '.', namespace, report_name)
jrxml_file = "#{report_path}.jrxml"
jasper_file = Compiler.compile(jrxml_file);
datastream = JsonInputStream.to_stream(data)
parameters = _HashMap.new;
parameters.put(_JsonQueryExecuterFactory.JSON_DATE_PATTERN, "yyyy-MM-dd");
parameters.put(_JsonQueryExecuterFactory.JSON_NUMBER_PATTERN, "#,##0.##");
parameters.put(_JsonQueryExecuterFactory.JSON_LOCALE, _Locale.ENGLISH);
parameters.put(_JRParameter.REPORT_LOCALE, _Locale.US);
parameters.put('CNPJ_EMPRESA', '5--353');
parameters.put(_JsonQLQueryExecuterFactory.JSON_INPUT_STREAM, datastream)
jasperPrint = _JasperFillManager.fillReport(jasper_file, parameters);
_JasperExportManager.exportReportToPdfFile(jasperPrint,"reports/users.pdf");
end
|