SDC C-Project CF Review 프로그램
LYW
2021-07-23 55615eba335d4cbc1f83330dc5078fe073034b7d
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
#pragma once
 
#include "GlassRawBase.h"
#include "GlassRawRTMS.h"
//#include "StackResultCSOT.h"
#include "MacroResultFile.h"
#include "CustomizeReview.h"
#include "InterfaceFTP.h"
 
class CGlassRawDemo : public CGlassRawBase, public CInterfaceFTP
{
public:
    enum emDefectMemberType
    {
        DMT_DefectJudge = 0,
        DMT_DefectSizeType
    }; 
 
public:
    CGlassRawDemo(void);
    ~CGlassRawDemo(void);
 
    static char* GetClassName(){return "Demo#1";};
 
    virtual BOOL SequenceGlassLoading(CgrmGlassRawData* pData);
    virtual BOOL SequenceInspectEnd(CgrmGlassRawData* pData);
    virtual BOOL SequenceReviewStart(CgrmGlassRawData* pData);
    virtual BOOL SequenceReviewEnd(CgrmGlassRawData* pData);
 
    virtual BOOL WriteAOIFile(CgrmGlassRawData* pData);
    virtual BOOL ReadAOIFile(CgrmGlassRawData* pData){return TRUE;};
 
    virtual BOOL SequenceFtpUpload(char* pRawFileName);
 
    virtual void NotifyUpdateOptionInfo(){/*m_StackResult.readOptionFile();*/};
 
    
    
    virtual void SendMessageFTPUploadRaw(_grmGlassData* pGlassData);
    virtual void SendMessageFTPDownloadStack(_grmGlassData* pGlassData);
    virtual void SendMessageFTPUploadImage(_grmGlassData* pGlassData, emFTPCommand sort); 
    virtual BOOL SendMessageFTPUploadIndexFile(_grmGlassData* pGlassData);
    virtual void SendMessageFTPUploadLinkFile(_grmGlassData* pGlassData);
    virtual void SendMessageFTPDownloadDataFile( _grmGlassData* pGlassData);
    virtual void GetFormatDescription(emFTPCommand sort, char* pServerPath, char* pServerFile, char* pLocalPath, char* pLocalFile, _grmGlassData* pGlassData); 
 
 
    BOOL ReadMuraFile(CgrmGlassRawData* pData);
    BOOL MakeAOIFile(CgrmGlassRawData* pData);
    BOOL MakeAnaFile(CgrmGlassRawData* pData);
    BOOL WriteIndexFile(_grmGlassData* pGlassData);
    
    void makeDataHeader(CString& strLine, _grmGlassData* pGlassData);
    void makeDataGlass(CString& strLine, _grmGlassData* pGlassData);
    void makeDataBlock(CString& strLine, _grmBlockData* pBlockData);
    void makeDataCell(CString& strLine, CgrmGlassRawData* pData, _grmCellData* pCellData);
    BOOL makeDataDefect(CString& strLine, CgrmGlassRawData* pData, _grmDefectData* pDefectData);
 
    CString GetDefectInfoToString(emDefectMemberType nDefectInfoType, int nParam);
 
public:
    void SetEquipType(int nType){m_nEquipType = nType;};
 
protected:
    int m_nEquipType; // 0:Inline, 1:Offline
 
    CGlassRawRTMS    m_GlassRawRTMS;//RTMS¿ë °á°úÆÄÀÏ »ý¼º°ü¸® [±èÅÂÇö 2018/12/5]
    CMacroResultFile m_MuraResultFile; //¹«¶ó¿ë °á°úÆÄÀÏ »ý¼º°ü¸® [±èÅÂÇö 2018/12/5]
    
    CTime    m_tmReviewStart;        
    CTime    m_tmReviewEnd;        
};