Skip to content

Report API

Report API, Jasper Reports tabanlı rapor üretme ve dağıtım sağlar. Raporlar PDF ve Excel formatında dışa aktarılabilir, dosyaya kaydedilebilir veya e-posta ile gönderilebilir.

FonksiyonAçıklama
ins.scheduleReport(name)Rapor zamanla
ins.cancelReport(name)Rapor iptal et
ins.mailReport(name, start, end)Rapor üret ve e-posta gönder
ins.mailJasperReport(name, params, users, subject, content)Parametreli PDF rapor gönder
ins.exportJasperPdfToFile(name, path)PDF dosyası kaydet
ins.exportJasperExcelToFile(name, path)Excel dosyası kaydet
// Raporu zamanla (tanımlı zamanlama tipine göre çalıştırır)
ins.scheduleReport("daily_energy_report");
// Rapor üret ve e-posta gönder
var end = ins.now();
var start = ins.getDate(end.getTime() - 86400000); // 24 saat önce
ins.mailReport("daily_energy_report", start, end);
// Parametreli Jasper rapor — PDF olarak e-posta gönder
var params = {
"START_DATE": ins.getDate(ins.now().getTime() - 86400000),
"END_DATE": ins.now(),
"PROJECT_ID": 153
};
ins.mailJasperReport(
"energy_report", // rapor adı
params, // rapor parametreleri
["manager", "operator"],// alıcılar
"Günlük Enerji Raporu", // e-posta konusu
"Ekteki rapor otomatik oluşturulmuştur." // e-posta içeriği
);
// PDF dosyası olarak kaydet
ins.exportJasperPdfToFile("energy_report", "/reports/daily_report.pdf");
// Excel dosyası olarak kaydet
ins.exportJasperExcelToFile("energy_report", "/reports/daily_report.xlsx");
// Rapor iptal et
ins.cancelReport("daily_energy_report");

Her gün 08:00’de önceki günün raporunu PDF olarak kaydedip e-posta gönderen script:

// Schedule Type: Daily, Time: 08:00
var now = ins.now();
var yesterday = ins.getDate(now.getTime() - 86400000);
var year = 1900 + yesterday.getYear();
var month = ins.leftPad("" + (yesterday.getMonth() + 1), 2, "0");
var day = ins.leftPad("" + yesterday.getDate(), 2, "0");
var fileName = "/reports/energy_" + year + month + day + ".pdf";
ins.exportJasperPdfToFile("energy_report", fileName);
ins.mailReport("energy_report", yesterday, now);
ins.writeLog("INFO", "Report", "Günlük rapor oluşturuldu: " + fileName);