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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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);
        }
    }
}