TangCheng
2025-02-28 d787e447e95c7b897c2cc9c0e832f8d2e5084934
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
package com.smtaiserver.smtaiserver.gismap.tabledef;
 
import java.util.Date;
 
import org.dom4j.Document;
import org.dom4j.Element;
 
import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecord;
import com.smtservlet.util.SMTStatic;
 
public class SMTMapTableDefModelBase extends SMTMapTableDef
{
    protected String     _tableName;
    protected String    _dsId;
    
    @Override
    public void initInstance(DBRecord rec) throws Exception
    {
        super.initInstance(rec);
        Document doc = SMTStatic.convStrToXmlDoc("<ROOT>" + rec.getString("table_config") + "</ROOT>");
        
        Element xmlTableName = (Element) doc.selectSingleNode("ROOT/TABLE_NAME");
        if(xmlTableName == null)
            throw new Exception("can't find TABLE_NAME");
        
        _dsId = SMTStatic.getXmlAttr(xmlTableName, "ds_id");
        _tableName = SMTStatic.getXmlAttr(xmlTableName, "name");
    }
 
    @Override
    public void createOnlyTimeSQL(Date time, StringBuilder r_sql)
    {
        String sTime = SMTStatic.toString(time);
        r_sql.append("(SELECT * FROM " + _tableName + " WHERE ver_times<='" + sTime + "'::timestamp AND '" + sTime + "'::timestamp < ver_timee) T1");
    }
 
    @Override
    public String getDataSourceId()
    {
        return _dsId;
    }
}