package biz.report;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.object.DataObject;
|
import foundation.data.object.EntitySaver;
|
import foundation.persist.NamedSQL;
|
|
public class Report {
|
private String id;
|
private String code;
|
private String dataName;
|
private List<NamedSQL> sqlList;
|
private String name;
|
private static DataObject logObject;
|
|
public void load(Entity entity) {
|
this.id = entity.getId();
|
this.code = entity.getString("report_code");
|
this.dataName = entity.getString("dataname");
|
this.name = entity.getString("report_name");
|
sqlList = new ArrayList<NamedSQL>();
|
}
|
|
static {
|
logObject = DataObject.getInstance("report_log");
|
}
|
|
public void loadOneExec(Entity entity) throws Exception {
|
boolean active = entity.getBoolean("is_active", true);
|
|
if (!active) {
|
return ;
|
}
|
|
String sqlName = entity.getString("exec_sql");
|
NamedSQL namedSql = NamedSQL.getInstance(sqlName);
|
sqlList.add(namedSql);
|
}
|
|
public void exec() throws Exception {
|
String sqlName; int orderNo = 0, execCnt;
|
|
DataObject reportObject = DataObject.getInstance(dataName);
|
execCnt = reportObject.emptyTable();
|
writeLog(orderNo, "emptyTable", execCnt);
|
|
for (NamedSQL namedSQL : sqlList) {
|
orderNo++;
|
sqlName = namedSQL.getName();
|
execCnt = namedSQL.execute();
|
|
writeLog(orderNo, sqlName, execCnt);
|
}
|
}
|
|
public void writeLog(int orderNo, String sqlName, int execCnt) throws Exception {
|
EntitySaver saver = logObject.createEntitySaver();
|
|
saver.set("report_name", name);
|
saver.set("dataname", dataName);
|
saver.set("order_no", orderNo);
|
saver.set("sql_name", sqlName);
|
saver.set("exec_cnt", execCnt);
|
|
saver.insert();
|
}
|
|
public String getId() {
|
return id;
|
}
|
|
public String getCode() {
|
return code;
|
}
|
|
public List<NamedSQL> getSqlList(){
|
return sqlList;
|
}
|
|
public String getRemark() {
|
return name;
|
}
|
}
|