package com.smtaiserver.smtaiserver.javaai.ast;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Map.Entry;
|
|
public class ASTCubeRecs
|
{
|
public enum ASTCubeRecsType
|
{
|
VALUE,
|
SUMMARY,
|
RECORD
|
}
|
|
public boolean _isRawRS = false;
|
public ASTCubeRecsType _recsType = ASTCubeRecsType.VALUE;
|
public String _title;
|
public String _posXName;
|
public String _posYName;
|
public String _devKeyName;
|
public String[] _colTitles = null;
|
public int _colKeyCount = 0;
|
public List<String> _dimNames = new ArrayList<>();
|
public List<String> _dimTitles = new ArrayList<>();
|
public List<Object[]> _dimValues = new ArrayList<>();
|
public List<ASTDimFilter> _listDimFilter = null;
|
public Map<Integer, ASTCubeRecsValue> _mapDimId2Recs = new HashMap<>();
|
|
public ASTCubeRecs cloneCubeRecs()
|
{
|
ASTCubeRecs newCubeRecs = new ASTCubeRecs();
|
newCubeRecs._recsType = this._recsType;
|
newCubeRecs._title = this._title;
|
newCubeRecs._posXName = _posXName;
|
newCubeRecs._posYName = _posYName;
|
newCubeRecs._devKeyName = _devKeyName;
|
|
for(String dimName : _dimNames)
|
{
|
newCubeRecs._dimNames.add(dimName);
|
}
|
|
for(String dimTitle : _dimTitles)
|
{
|
newCubeRecs._dimTitles.add(dimTitle);
|
}
|
|
for(Object[] dimValue : _dimValues)
|
{
|
newCubeRecs._dimValues.add(dimValue);
|
}
|
|
for(Entry<Integer, ASTCubeRecsValue> entry : _mapDimId2Recs.entrySet())
|
{
|
newCubeRecs._mapDimId2Recs.put(entry.getKey(), entry.getValue().cloneCubeRecsValue());
|
}
|
|
return newCubeRecs;
|
}
|
|
public boolean isSameStartTime(Date checkTime, Date[] r_curTime)
|
{
|
Date curTime = null;
|
for(ASTCubeRecsValue recsValue : _mapDimId2Recs.values())
|
{
|
curTime = recsValue._timeRange._startTime;
|
break;
|
}
|
|
if(r_curTime != null)
|
r_curTime[0] = curTime;
|
|
if(checkTime == null || curTime == null)
|
{
|
return (checkTime == null && curTime == null);
|
}
|
else
|
{
|
return checkTime.equals(curTime);
|
}
|
}
|
}
|