SDC C-Project CF Review 프로그램
LYW
2022-04-15 8ede40e3f7cfe1772ef7db2b1d74e905639cf343
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#pragma once
 
class CSystemManager;
class CSys_SystemManager;
class CSys_GlassTypeManager;
class CSys_AlignManager;
class CSys_SignalManager;
class CSys_MotorManager;
class CSys_NetworkManager;
//class CSys_VCRManager;        // [2017:1:16]-[WEZASW] : 
 
class CRsRecipeManager;
class CRcp_RsReviewManager;
class CRcp_RsMeasureManager;
class CRcp_RsAlignManager;
class CRcp_RsDefectFindManager;
class CRcp_RsGlassTypeInfoManager;
 
class CSystemInfo;
class CGlassTypeInfo;
class CAlignCameraInfo;
class CSignalControlInfo;
class CMotorControlInfo;
class CNetworkInfo;
class CVcrControlInfo;        // [2017:1:16]-[WEZASW] : 
 
class CRsRcpReviewInfo;
class CRsRcpMeasureInfo;
class CRsRcpAlignInfo;
class CRsRcpDefectFindInfo;
class CRsRcpGlassTypeInfo;
 
class CResultFileManager;
 
#include "CHReviewResultParser/ParsingGlassResult.h"
class CParsingGlassResult;
 
struct SDefectFilter;
struct SSignalIOStatus;
struct STransferData;
 
typedef std::vector<CGlassResult*>                    VectorGlassResult;
typedef std::vector<CGlassResult*>::iterator        VectorGlassResultIt;
 
class CReviewData : public IParsingGlassResultParent
{
public:
    CReviewData(void);
    virtual ~CReviewData(void);
 
    
    BOOL InitReviewData();
    void InitResultPointer();
 
    // system
    BOOL System_ReadSettingValue();
 
    // recipe
    BOOL Recipe_WriteRecipeFile();    
    BOOL Recipe_ReadRecipeFile(const CString& strPPID_RC, CString& strRecipeName);
    BOOL Recipe_FindRecipeFile(const CString& strPPID_RC, CString& strRecipeName);
 
    // etc variable
    SDefectFilter*                    Etc_GetDefectFilter(); 
    SSignalIOStatus*                Etc_GetPCControlIOSignal();
    STransferData*                    Etc_GetTransferData();
    CConnectionStatus*                Etc_GetConnectionStatus();
    
    // system info
    const CSystemInfo*                System_GetSystemInfo() const;
    const CGlassTypeInfo*            System_GetGlassTypeInfo(int nIndex) const;
    const CGlassTypeInfo*            System_GetStandardGlassTypeInfo() const;
    const CAlignCameraInfo*            System_GetAlignCameraInfo(int nIndex) const;
    const CSignalControlInfo*        System_GetSignalInfo() const;
    const CMotorControlInfo*        System_GetMotorInfo() const;
    const CNetworkInfo*                System_GetNetworkInfo() const;
 
    // recipe info
    CRsRecipeManager*                Recipe_GetRsRecipeManager();
    CRsRcpReviewInfo*                Recipe_GetRsRcpReviewInfo();
    CRsRcpMeasureInfo*                Recipe_GetRsRcpMeasureInfo();
    CRsRcpAlignInfo*                Recipe_GetRsRcpAlignInfo();
    CRsRcpDefectFindInfo*            Recipe_GetRsRcpDefectFindInfo();
    CRsRcpGlassTypeInfo*            Recipe_GetRsRcpGlassTypeInfo(int nIndex);
    const CRsRecipeManager*            Recipe_GetRsRecipeManager() const;
    const CRsRcpReviewInfo*            Recipe_GetRsRcpReviewInfo() const;
    const CRsRcpMeasureInfo*        Recipe_GetRsRcpMeasureInfo() const;
    const CRsRcpAlignInfo*            Recipe_GetRsRcpAlignInfo() const;
    const CRsRcpDefectFindInfo*        Recipe_GetRsRcpDefectFindInfo() const;
    const CRsRcpGlassTypeInfo*        Recipe_GetRsRcpGlassTypeInfo(int nIndex) const;
 
    // glass result
    CGlassResult*                    GlassResult_GetNewGlassResult(int& nTotalCount);        
    CGlassResult*                    GlassResult_GetGlassResult(int nIndex=-1);
    
    int                                GlassResult_GetCurrentGlassResultIndex();
    CGlassResult*                    GlassResult_GetCurrentGlassResult();
    int                                GlassResult_GetTotalGlassResultCount();
    int                                GlassResult_GetGlassResultCount();
 
    //History result
    CGlassResult*                    HistoryResult_GetNewHistoryResult(int& nTotalCount);
    CGlassResult*                    HistoryResult_GetHistoryResult(int nIndex = -1); //taek 210201
    
 
    // Read AOI Memory
    BOOL            ReadResultAOIMemory();
 
    BOOL            ReadResultAOIMemory2(CGlassResult* pGlassResult);
 
    // result file
    BOOL            ReadGlassResultFile(const CString& strResultFilePath);
    BOOL            WriteGlassResultFile(CGlassResult* pGlassResult, const CString& strResultFilePath, int nStackType = 0);
    BOOL            WriteGlassMeasureResultFile(const CString& strResultFilePath);
    void            FindStackTypeDefectIdx(int nStackType, CDefectResult* pDefectResult);
 
    BOOL            SetReviewResultData(CGlassResult* pGlassResult);
    BOOL            SetUserResultData(CGlassResult* pGlassResult);
    BOOL            SetWsiResultData(CGlassResult* pGlassResult);
    BOOL            SetMeasureResultData(CGlassResult* pGlassResult); //Add by Juneki 2016-03-01
    BOOL            SetReflowResultData(CGlassResult* pGlassResult);
    BOOL            SetWsiReflowResultData(CGlassResult* pGlassResult);
    BOOL            CreateRawDataFormat(int* pnCnt); //Add by Juneki 2016-03-01
 
    virtual        int PGR2P_GetModuleCount();
        
protected:
    static BOOL        CompareSReviewResultYAscendingOrder(const SReviewResult& lhs, const SReviewResult& rhs);
    static BOOL        CompareSReviewResultYDescendingOrder(const SReviewResult& lhs, const SReviewResult& rhs);
 
    // system manager
    const CSystemManager*            GetSystemManager() const;
    const CSys_SystemManager*        System_GetSysSystemManager() const;
    const CSys_GlassTypeManager*    System_GetSysGlassTypeManager() const;
    const CSys_AlignManager*        System_GetSysAlignManager() const;
    const CSys_SignalManager*        System_GetSysPCControlManager() const;
    const CSys_MotorManager*        System_GetSysMotorManager() const;
    const CSys_NetworkManager*        System_GetSysNetworkManager() const;
    //const CSys_VCRManager*            System_GetSysVCRManager() const;        // [2017:1:16]-[WEZASW] : 
 
    // recipe manager
    CRsRecipeManager*                GetRsRecipeManager();
    CRcp_RsReviewManager*            Recipe_GetRcpRsReviewManager() ;
    CRcp_RsMeasureManager*            Recipe_GetRcpRsMeasureManager();
    CRcp_RsAlignManager*            Recipe_GetRcpRsAlignManager();
    CRcp_RsDefectFindManager*        Recipe_GetRcpRsDefectFindManager();
    CRcp_RsGlassTypeInfoManager*    Recipe_GetRcpRsGlassTypeInfoManager();
 
    const CRsRecipeManager*            GetRsRecipeManager() const;
    const CRcp_RsReviewManager*        Recipe_GetRcpRsReviewManager() const;
    const CRcp_RsMeasureManager*    Recipe_GetRcpRsMeasureManager() const;
    const CRcp_RsAlignManager*        Recipe_GetRcpRsAlignManager() const;
    const CRcp_RsDefectFindManager*    Recipe_GetRcpRsDefectFindManager() const;
    const CRcp_RsGlassTypeInfoManager*    Recipe_GetRcpRsGlassTypeInfoManager() const;
 
protected:
    
    CDitGlassRawClient* m_pDitRawClient;
 
    CSystemManager*                m_pSystemManager;
    CRsRecipeManager*            m_pRsRecipeManager;
 
    CResultFileManager*            m_pResultFileManager;        
    CResultFileManager*            m_pResultFileManagerCD;
    CResultFileManager*            m_pResultFileManagerSD;
 
    CResultFileManager *        m_pResultFileManagerMeasure;
 
    CParsingGlassResult*        m_pResultFileParser;
    CParsingGlassResult*        m_pResultFileParserCD;
    CParsingGlassResult*        m_pResultFileParserSD;
 
    CParsingGlassResult *        m_pResultFileParserMeasure;
 
    // glass result
    int                            m_nTotalGlassResultCount;
    int                            m_nCurGlassResultIndex;
    CGlassResult*                m_pCurGlassResult;
    VectorGlassResult            m_vecGlassResult;
 
    // History result
    int                            m_nTotalHistoryResultCount;
    int                            m_nCurHistoryResultIndex;
    CGlassResult*                m_pCurHistoryResult;
    VectorGlassResult            m_vecHistoryResult; //taek 210201
    
    // etc variable
    SDefectFilter*                m_pDefectFilter;                // Defect Filter
    SSignalIOStatus*            m_pSignalIOStatus;                // PCControl IO Signal
    STransferData*                m_pTransferData;                // transfer data
    CConnectionStatus*            m_pConnectionStatus;            // Connection Status
 
    CRITICAL_SECTION            m_csReviewData;                    // critical section
};