TangCheng
2025-03-07 ae8521d24bee5ac5fbf37d634c161b755e5c895c
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
package com.smtaiserver.smtaiserver.javaai.duckdb;
 
import java.util.ArrayList;
import java.util.List;
 
import com.smtaiserver.smtaiserver.core.SMTAIServerRequest;
import com.smtaiserver.smtaiserver.database.SMTDatabase;
import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecord;
import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecords;
import com.smtservlet.util.SMTJsonWriter;
import com.smtservlet.util.SMTStatic;
 
@SuppressWarnings("unused")
public class DuckMergeGroupSummary extends DuckMergeGroup
{
    public List<DuckCubeRecs>    _listCubeRecs = new ArrayList<>();
    
    
    private String getStartDate()
    {
        for(DuckCubeRecs cubeRecs : _listCubeRecs)
        {
            if(cubeRecs._timeRange != null && cubeRecs._timeRange._startTime != null)
                return SMTStatic.toString(cubeRecs._timeRange._startTime).substring(0, 11);
        }
        
        return "";
    }
    
    @Override
    public void outputGroupToJson(String agentKey, SMTAIServerRequest tranReq) throws Exception
    {
        SMTJsonWriter jsonWrResult = tranReq.getResultJsonWr();
        SMTDatabase dbResult = tranReq.getResultDB();
        
        jsonWrResult.beginMap(null);
        {
            jsonWrResult.addKeyValue("type", "summary");
            jsonWrResult.addKeyValue("agent_key", agentKey);
            jsonWrResult.addKeyValue("title", _title);
            jsonWrResult.beginArray("values");
            {
                for(DuckCubeRecs cubeRecs : _listCubeRecs)
                {
                    DBRecords recs = dbResult.querySQL("SELECT * FROM " + cubeRecs._tableName, null);
                    
                    for(DBRecord rec : recs.getRecords())
                    {
                        jsonWrResult.beginMap(null);
                        {
                            jsonWrResult.addKeyValue("title", cubeRecs._title + (cubeRecs._chartUnit == null ? "" : cubeRecs._chartUnit));
                            jsonWrResult.addKeyValue("value", rec.getString(0));
                        }
                        jsonWrResult.endMap();
                    }
                }
            }
            jsonWrResult.endArray();
        }
        jsonWrResult.endMap();
    }
 
}