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;
|
}
|
}
|