SDC C-Project CF Review 프로그램
LYW
2021-08-17 572aebd50409d2f11183d6ebbb9d12fe9041e7a5
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
#pragma once
 
#include "GlassRawBase.h"
#include "GlassRawRTMS.h"
#include "StackResultCSOT.h"
#include "MacroResultFile.h"
#include "CustomizeReview.h"
 
enum emFTPCommand
{    
    FTPCMD_REVIEW_IMAGE        =0,
    FTPCMD_RAW                ,
    FTPCMD_INDEX                ,
    FTPCMD_AOI_IMAGE            ,
    FTPCMD_MURA_RAW            ,
    FTPCMD_MURA_IMAGE            ,
    FTPCMD_STACK                ,
    FTPCMD_LINK                ,
    FILESORT_NUM
};
 
 
 
class CGlassRawCSOT : public CGlassRawBase
{
public:
    enum emDefectMemberType
    {
        DMT_DefectJudge = 0,
        DMT_DefectSizeType
    }; 
 
public:
    CGlassRawCSOT(void);
    ~CGlassRawCSOT(void);
 
    static char* GetClassName(){return "CSOT T4";};
 
    virtual BOOL SequenceGlassLoading(CgrmGlassRawData* pData);
    virtual BOOL SequenceInspectEnd(CgrmGlassRawData* pData);
    virtual BOOL SequenceReviewStart(CgrmGlassRawData* pData);
    virtual BOOL SequenceReviewEnd(CgrmGlassRawData* pData);
    virtual BOOL SequenceCustomizeReview(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();};
 
    
    
    void SendMessageFTPUploadRaw(_grmGlassData* pGlassData);
    void SendMessageFTPDownloadStack(_grmGlassData* pGlassData);
    void SendMessageFTPUploadImage(_grmGlassData* pGlassData, emFTPCommand sort); 
    BOOL SendMessageFTPUploadIndexFile(_grmGlassData* pGlassData);
    void SendMessageFTPUploadLinkFile(_grmGlassData* pGlassData);
    void SendMessageFTPDownloadDataFile( _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 makeDataEQPGlass(CString& strLine, CgrmGlassRawData* pData);
    void makeDataBlock(CString& strLine, _grmBlockData* pBlockData);
    void makeDataCell(CString& strLine, CgrmGlassRawData* pData, _grmCellData* pCellData);
    BOOL makeDataDefect(CString& strLine, CgrmGlassRawData* pData, _grmDefectData* pDefectData);
 
    void GetFormatDescription(emFTPCommand sort, char* pServerPath, char* pServerFile, char* pLocalPath, char* pLocalFile, _grmGlassData* pGlassData); 
    CString GetDefectInfoToString(emDefectMemberType nDefectInfoType, int nParam);
 
 
public:
    CMacroResultFile* GetmuraResultFile(){return &m_MuraResultFile;}    // RTMS¿¡¼­ Mura µ¥ÀÌÅÍ »ç¿ë
 
 
protected:
    CGlassRawRTMS    m_GlassRawRTMS;//RTMS¿ë °á°úÆÄÀÏ »ý¼º°ü¸® [±èÅÂÇö 2018/12/5]
    CMacroResultFile m_MuraResultFile; //¹«¶ó¿ë °á°úÆÄÀÏ »ý¼º°ü¸® [±èÅÂÇö 2018/12/5]
    CStackResultCSOT m_StackResult;
    CCustomizeReview m_CustomizeReview;
 
    CTime    m_tmReviewStart;        
    CTime    m_tmReviewEnd;        
};