P15GEN2\59518
2025-10-10 9f6890646993d16260d4201d613c092132856127
1
2
3
4
5
6
7
8
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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;
    }
}