SDC C-Project CF Review 프로그램
LYW
2021-07-01 668b40db8e394058c7e0abad2fbe539a631043c2
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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
#pragma once
 
#include <vector>
#include "ResultFileData.h"
#include "../ReviewSystem/DitGlassRawClient.h"
typedef std::vector<CDataHeader*>                            VectorDataHeader;
typedef std::vector<CDataHeader*>::iterator                    VectorDataHeaderIt;
typedef std::vector<CDataHeader*>::const_iterator            constVectorDataHeaderIt;
 
typedef std::vector<CDataLot*>                                VectorDataLot;
typedef std::vector<CDataLot*>::iterator                    VectorDataLotIt;
typedef std::vector<CDataLot*>::const_iterator                constVectorDataLotIt;
 
typedef std::vector<CDataCoordinate*>                        VectorDataCoordinate;
typedef std::vector<CDataCoordinate*>::iterator                VectorDataCoordinateIt;
typedef std::vector<CDataCoordinate*>::const_iterator        constVectorDataCoordinateIt;
 
typedef std::vector<CDataBlock*>                            VectorDataBlock;
typedef std::vector<CDataBlock*>::iterator                    VectorDataBlockIt;
typedef std::vector<CDataBlock*>::const_iterator            constVectorDataBlockIt;
 
typedef std::vector<CDataGlass*>                            VectorDataGlass;
typedef std::vector<CDataGlass*>::iterator                    VectorDataGlassIt;
typedef std::vector<CDataGlass*>::const_iterator            constVectorDataGlassIt;
 
typedef std::vector<CDataCell*>                                VectorDataCell;
typedef std::vector<CDataCell*>::iterator                    VectorDataCellIt;
typedef std::vector<CDataCell*>::const_iterator                constVectorDataCellIt;
 
typedef std::vector<CDataCell*>                                VectorDataCell;
typedef std::vector<CDataCell*>::iterator                    VectorDataCellIt;
typedef std::vector<CDataCell*>::const_iterator                constVectorDataCellIt;
 
typedef std::vector<CDataDefect*>                            VectorDataDefect;
typedef std::vector<CDataDefect*>::iterator                    VectorDataDefectIt;
typedef std::vector<CDataDefect*>::const_iterator            constVectorDataDefectIt;
 
typedef std::vector<CDataInspection*>                        VectorDataInspection;
typedef std::vector<CDataInspection*>::iterator                VectorDataInspectionIt;
typedef std::vector<CDataInspection*>::const_iterator        constVectorDataInspectionIt;
 
typedef std::vector<CDataCommon*>                            VectorDataCommon;
typedef std::vector<CDataCommon*>::iterator                    VectorDataCommonIt;
typedef std::vector<CDataCommon*>::const_iterator            constVectorDataCommonIt;
 
typedef std::vector<CDataCamera*>                            VectorDataCamera;
typedef std::vector<CDataCamera*>::iterator                    VectorDataCameraIt;
typedef std::vector<CDataCamera*>::const_iterator            constVectorDataCameraIt;
 
 
class AFX_EXT_CLASS CResultFileManager
{
public:
    CResultFileManager();
    virtual ~CResultFileManager();
 
 
 
 
    virtual void        ResetResultFile();
    virtual BOOL        MakeReviewInfoData( int nTotalCnt, int nUserCnt ) = 0;
 
    // setter
    virtual void        SetReadComplete(BOOL bFlag)        { m_bReadComplete = bFlag; }
    virtual void        SetRTMSReadComplete(BOOL bFlag) { m_bRTMSReadComplete = bFlag; }
 
    // getter
    virtual BOOL        GetReadComplete() const            { return m_bReadComplete; }
    virtual int            GetHeaderCount() const            { return (int)m_vecDataHeader.size(); }
    virtual int            GetLotCount() const                { return (int)m_vecDataLot.size(); }
    virtual int            GetCoordinateCount() const        { return (int)m_vecDataCoordinate.size(); }
    virtual int            GetBlockCount() const            { return (int)m_vecDataBlock.size(); }
    virtual int            GetGlassCount() const            { return (int)m_vecDataGlass.size(); }
    virtual int            GetCellCount() const            { return (int)m_vecDataCell.size(); }
    virtual int            GetDefectCount() const            { return (int)m_vecDataDefect.size(); }
    virtual int            GetInspectionCount() const        { return (int)m_vecDataInspection.size(); }
    virtual int            GetCommonCount() const            { return (int)m_vecDataCommon.size(); }
 
    virtual int            GetRTMSCellCount() const        { return (int)m_vecDataCell.size(); }
    virtual int            GetRTMSDefectCount() const        { return (int)m_vecDataDefect.size(); }
 
    // virtual 
    virtual void        CreateRandomDefect() = 0;
 
    // read/write
    virtual BOOL        ReadAOIHeader(const CString& strFilePath) = 0;
    virtual BOOL        ReadAOIRaw(const CString& strFilePath) = 0;
    virtual BOOL        ReadAOIRawMemory(const CString& strFilePath, CDitGlassRawClient* dit)=0;
    virtual BOOL        WriteAOIRaw(CString strFilePath) = 0;
    virtual BOOL        WriteAOIRawITEM(FILE *fp, int nItemIdx=-1) = 0;
    virtual BOOL        WriteAOIRawData(FILE *fp, int nItemIdx=-1) = 0;
    virtual BOOL        WriteMeasureRaw(CString strFilePath) = 0;
    virtual BOOL        WriteMeasureRawITEM(FILE *fp, int nItemIdx=-1) = 0;
    virtual BOOL        WriteMeasureRawData(FILE *fp, int nItemIdx=-1) = 0;
 
    // header
    virtual BOOL        SetHeaderData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetHeaderData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetHeaderData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetHeaderData(int nLineIdx, int nDataIdx) = 0;
 
    // lot
    virtual BOOL        SetLotData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetLotData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetLotData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetLotData(int nLineIdx, int nDataIdx) = 0;
 
    // coordinate
    virtual BOOL        SetCoordinateData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetCoordinateData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetCoordinateData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetCoordinateData(int nLineIdx, int nDataIdx) = 0;
 
    // block
    virtual BOOL        SetBlockData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetBlockData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetBlockData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetBlockData(int nLineIdx, int nDataIdx) = 0;
 
    // glass
    virtual BOOL        SetGlassData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetGlassData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetGlassData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetGlassData(int nLineIdx, int nDataIdx) = 0;
 
    // eqp glass
    virtual BOOL        SetEqpGlassData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetEqpGlassData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetEqpGlassData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetEqpGlassData(int nLineIdx, int nDataIdx) = 0;
 
    // cell
    virtual BOOL        SetCellData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetCellData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetCellData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetCellData(int nLineIdx, int nDataIdx) = 0;
 
 
    // defect
    virtual BOOL        SetDefectData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetDefectData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetDefectData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetDefectData(int nLineIdx, int nDataIdx) = 0;
 
    // inspect
    virtual BOOL        SetInspectionData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetInspectionData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetInspectionData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetInspectionData(int nLineIdx, int nDataIdx) = 0;
 
    virtual BOOL        SetUserDefectData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetUserDefectData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetUserDefectData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetUserDefectData(int nLineIdx, int nDataIdx) = 0;
    virtual void        AddUserDefectData(int nUserDefectCount) = 0;
    virtual void        AddReflowDefectData(int nReflowDefectCount) {};
    virtual void        AddWsiReflowDefectData(int nWsiReflowDefectCount) {};
    //Common
    virtual BOOL        SetCommonData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetCommonData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetCommonData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetCommonData(int nLineIdx, int nDataIdx) = 0;
 
    //Camera
    virtual BOOL        SetCameraData(int nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetCameraData(int nLineIdx, int nDataIdx, int nData) = 0;
    virtual BOOL        SetCameraData(int nLineIdx, int nDataIdx, double dData) = 0;
    virtual char*        GetCameraData(int nLineIdx, int nDataIdx) = 0;
 
 
    // [2017:5:12]-[WEZASW] : DFS Result File Format º¯°æ
    virtual BOOL        SetRawData(int nRawType, int  nLineIdx, int nDataIdx, char* strData) = 0;
    virtual BOOL        SetRawData(int nRawType, int  nLineIdx, int nDataIdx, int nData) = 0;    
    virtual BOOL        SetRawData(int nRawType, int  nLineIdx, int nDataIdx, double dData, int nDigit = 0) = 0;
    virtual char*        GetRawData(int nRawType, int  nLineIdx, int nDataIdx) = 0;
    virtual int            GetRawDataCount(int nRawType, int  nLineIdx) = 0;
 
    //Create
    //    virtual BOOL        CreateRawDataFormatData(CResultFileManager * pResultFileManager, int * pnDataCnt) = 0;//Add by Juneki 2016-03-01 ½Å±Ô RawDataÆ÷¸Ë »ý¼º
    //    virtual char*        GetItemColumnName(int nItemIdx, int nColumnIdx) = 0; //Add by Juneki 2016-03-01 ½Å±Ô RawDataÆ÷¸Ë »ý¼º½Ã ItemÄ÷³¸íÀ» ¹Þ¾Æ¿È
 
 
protected:
    BOOL                    m_bReadComplete;
    BOOL                    m_bRTMSReadComplete;
    int                        m_nLineCount;
 
    BOOL                    m_bUseHeader;
    BOOL                    m_bUseLot;
    BOOL                    m_bUseCoordinate;
    BOOL                    m_bUseBlock;
    BOOL                    m_bUseGlass;
    BOOL                    m_bUseEqpGlass;
    BOOL                    m_bUseCell;
    BOOL                    m_bUseDefect;
    BOOL                    m_bUseInspection;
    BOOL                    m_bUseCamera;
 
    int                        m_nHeaderCount;
    int                        m_nLotCount;
    int                        m_nCoordinateCount;
    int                        m_nBlockCount;
    int                        m_nGlassCount;
    int                        m_nEqpGlassCount;
    int                        m_nCellCount;
    int                        m_nDefectCount;
    int                        m_nInspectionCount;
    int                        m_nCameraCount;
 
    //RAW
    CDataHeader*            m_pItemHeader;
    VectorDataHeader        m_vecDataHeader;
 
    CDataLot*                m_pItemLot;
    VectorDataLot            m_vecDataLot;
 
    CDataCoordinate*        m_pItemCoordinate;
    VectorDataCoordinate    m_vecDataCoordinate;
 
    CDataBlock*                m_pItemBlock;
    VectorDataBlock            m_vecDataBlock;
 
    CDataGlass*                m_pItemGlass;
    VectorDataGlass            m_vecDataGlass;
 
    CDataGlass*                m_pItemEqpGlass;
    VectorDataGlass            m_vecDataEqpGlass;
 
    CDataCell*                m_pItemCell;
    VectorDataCell            m_vecDataCell;
 
    CDataDefect*            m_pItemDefect;
    VectorDataDefect        m_vecDataDefect;
 
    CDataInspection*        m_pItemInspection;
    VectorDataInspection    m_vecDataInspection;
 
    CDataDefect*            m_pItemUserDefect;
    VectorDataDefect        m_vecDataUserDefect;
 
    CDataDefect*            m_pItemReflowDefect;
    VectorDataDefect        m_vecDataReflowDefect;
 
    CDataCommon*            m_pItemCommonData;
    VectorDataCommon        m_vecDataCommon;
 
    CDataCamera*            m_pItemCamera;
    VectorDataCamera        m_vecDataCamera;
 
 
    CDataHeader* pDataHeader ;
    CDataGlass* pDataGlass;
    CDataGlass* pDataEQPGlass;
    CDataBlock* pDataBock;
    CDataCell* pDataCell;
    CDataDefect* pDataDefect;
 
    
    
};