importPackage(Packages.smartbi.net.sf.json);
var log = org.apache.log4j.Logger.getLogger("smartbi.dao.DAOModule");
// 打开报表,下面的报表ID需要替换成需要定时保存的报表资源ID
var reportIdArr = ["I8a74a40f0196a9dca9dce7230196c7a86ea3091e"];
for (var i in reportIdArr) {
var reportId = reportIdArr[i];
var report = connector.remoteInvoke('SpreadsheetReportModule', 'openQuery', [reportId]);
var result = JSONObject.fromObject(report.getResult());
var clientId = result.getString("clientId");
var params = result.getJSONArray("outputParameters");
var paramInfo = new JSONArray();
for (var j = 0; j < params.length(); j++) {
var param = JSONObject.fromObject(params.get(j));
var obj = new JSONObject();
obj.put("id", param.getString("id"));
obj.put("name", param.getString("name"));
obj.put("alias", param.getString("alias"));
obj.put("value", param.getString("value"));
obj.put("displayValue", param.getString("displayValue"));
paramInfo.put(j, obj);
}
// 调用回写表保存方法
connector.remoteInvoke('SpreadsheetReportModule', 'saveWriteBack', [clientId, paramInfo.toString(), "{}", "{}"]);
// 关闭报表
connector.remoteInvoke('SpreadsheetReportModule', 'closeQuery', [clientId]);
} |