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 _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(); } }