#pragma once #include "CHReviewResultParser/ParsingGlassResult.h" #include "CHResultFileManager/ResultFileData_CPJT.h" #include "../ReviewSystem/DitGlassRawClient.h" enum GlassOriginDir { GlassOrigin_LeftTop=0, GlassOrigin_RightTop, GlassOrigin_LeftBottom, GlassOrigin_RightBottom, GlassOrigin_Count }; enum CSOTDfectCode {CSOT_PARTICLE=1,COST_CRACK,CSOT_MURA,CSOT_PROTRUDE,CSOT_DENT,CSOT_TFE_ABNORMAL,CSOT_BUBBLE,CSOT_SCRATCH}; enum Judgement { Judge_OK = 0, Judge_RP, Judge_NG, Judge_TR, Judge_PR, Judge_ND, Judge_PT, Judge_Review, Judge_RC, Judge_Size, Judge_VI, Judge_Rework, Judge_Unknown }; enum JudgeCode { CODE_DEFAULT= 0,TRDF , BATR, DOBB, DOBS, DOWW, DOWB, DOWS }; #define LAYER_GT_50 _T("0114") #define LAYER_GT_58 _T("0214") #define LAYER_IGZO_50 _T("0134") #define LAYER_IGZO_58 _T("0234") #define LAYER_ESGI_50 _T("0144") #define LAYER_ESGI_58 _T("0244") #define LAYER_SD_50 _T("0154") #define LAYER_SD_58 _T("0254") #define LAYER_JAS_50 _T("0174") #define LAYER_JAS_58 _T("0274") #define LAYER_PIX_50 _T("0184") #define LAYER_PIX_58 _T("0284") //enum eCSOTRawData{ // eCSOTRaw_LotLayerInfoData = 0, // 10 // eCSOTRaw_LayerNumInfoData, // 11 // eCSOTRaw_GlassInfoData, // 30 // eCSOTRaw_PanelInfoData, // 41 // eCSOTRaw_DefectInfoData, // 50 // eCSOTRaw_ElectroInfoData, // 51 // eCSOTRaw_CCDInfoData, // 52 // eCSOTRaw_ReviewInfoData, // 53 // eCSOTRaw_AlignInfoData, // 55 // eCPJTRaw_Count //}; // //enum eCSOTRawGlassIndex{ // 30 // eCSOTRaw_Glass_Name = 0, // ������ȣ // AA - 30 ���� // eCSOTRaw_Glass_PanelNum, // �˻� Panel ���� // 9999 - �� // eCSOTRaw_Glass_RecipeID, // Recipe ID // AAAA // eCSOTRaw_Glass_ProcessTime, // Processing Time // 9999 - �� : ���Խ��� ~ ����Ϸ� �ð� // eCSOTRaw_Glass_GlassID, // ����ID (VCR) // AAAAAAAAAAAA // // eCSOTRaw_Glass_ReadResult, // VCR �б� ��� // A // eCSOTRaw_Glass_CPFlag, // CP Instruction Flag // A - 0 : QMS Don't CP Processing, 1 : QMS IN the CP Processing // eCSOTRaw_Glass_ElectroNum, // ������ Monitor ���� ���� // 9 - ȸ // eCSOTRaw_Glass_CCDNum, // CCD Monitor ���� // 99 - ȸ // eCSOTRaw_Glass_ReviewNum, // Review ���� // 999 - ȸ // // eCSOTRaw_Glass_Alignment, // Alignment ���� // 9 - �ǽ� : 1, �̽ǽ� : 0 // // [2018/07/05 08:38:46 by jylee] related Format ���� // eCSOTRaw_Glass_Spare1, // ����� 1 // eCSOTRaw_Glass_Spare2 // ����� 2 // // //}; /* enum eCSOTRawGlassIndex{ // 30 eCSOTRaw_Glass_Name = 0, // 1. ������ȣ // AA - 30 ���� eCSOTRaw_Glass_PanelNum, // 2. �˻� Panel ���� // 9999 - �� eCSOTRaw_Glass_RecipeID, // 3. Recipe ID // AAAA eCSOTRaw_Glass_ProcessTime, // 4. Processing Time // 9999 - �� : ���Խ��� ~ ����Ϸ� �ð� eCSOTRaw_Glass_GlassID, // 5. ����ID (VCR) // AAAAAAAAAAAA eCSOTRaw_Glass_ReadResult, // 6. VCR �б� ��� // A eCSOTRaw_Glass_CPFlag, // 7. CP Instruction Flag // A - 0 : QMS Don't CP Processing, 1 : QMS IN the CP Processing eCSOTRaw_Glass_ElectroNum, // 8. ������ Monitor ���� ���� // 9 - ȸ eCSOTRaw_Glass_CCDNum, // 9. CCD Monitor ���� // 99 - ȸ eCSOTRaw_Glass_ReviewNum, // 10. Review ���� // 999 - ȸ eCSOTRaw_Glass_Alignment, // 11. Alignment ���� // 9 - �ǽ� : 1, �̽ǽ� : 0 eCSOTRaw_Glass_TotalDefect, // 12. �����Ѽ� // 99999 eCSOTRaw_Glass_REVDefect, // 13. ���� ���Լ� // 99999 eCSOTRaw_Glass_FIXDefect, // 14. ���� ���� ���Լ� // 99999 eCSOTRaw_Glass_MaskDefect, // 15. MASK ���Լ� // 99999 eCSOTRaw_Glass_CommonDefect, // 16. ���� ���Լ� // 99999 eCSOTRaw_Glass_Spare1, // 17. ����� 1 eCSOTRaw_Glass_Spare2 // 18. ����� 2 }; */ //enum eCSOTRawPanelIndex{ // 41 // eCSOTRaw_Panel_Name = 0, // 1. ������ȣ // AA - 41 ���� // eCSOTRaw_Panel_CellNum, // 2. Cell ��ȣ // AAAA // eCSOTRaw_Panel_Judge, // 3. Panel ���� ��� // A // eCSOTRaw_Panel_Reason, // 4. �������� // AAAAA // eCSOTRaw_Panel_CPFlag, // 5. CP Flag // AAA - 0 : �䱸 ��, 1: �ǽ�, 8: �̽ǽ�, 9:Data�� // // eCSOTRaw_Panel_FrontCPDefectNum, // 6. CP �� �Ѱ��Լ� // 9999 - �� // eCSOTRaw_Panel_RearCPDefectNum, // 7. CP �� �Ѱ��Լ� // 9999 - �� // eCSOTRaw_Panel_Spare1, // 8. ����� 1 // eCSOTRaw_Panel_Spare2 // 9. ����� 2 //}; //enum eCSOTRawDefectIndex{ // 50 // eCSOTRaw_Defect_Name = 0, // ������ȣ // 50 ���� // eCSOTRaw_Defect_Code, // �����ڵ� // AAAAA // eCSOTRaw_Defect_CenterOriX, // ������ǥX 1 // +-9999.999 mm ���� ���� �������� ��ǥ // eCSOTRaw_Defect_CenterOriY, // ������ǥY 1 // +-9999.999 mm // eCSOTRaw_Defect_Area, // ���� Size(����) // 999.99 um - ���� ���Ը��� // // eCSOTRaw_Defect_SizeType, // ���� Size ���� // A - S/M/L/O // eCSOTRaw_Defect_DefectType, // ���� Type // A - N: Normal, C: Common, M: Mask // eCSOTRaw_Defect_Zone, // ���� ��ġ // A - Zone // eCSOTRaw_Defect_Size, // ���� Size (CCD��) // 99999 um2 - Camera Pixel Size // eCSOTRaw_Defect_SizeX, // ����Size DX // 999.99 um - ���� ���� X�� ���� // // eCSOTRaw_Defect_SizeY, // ����Size DY // 999.99 um - ���� ���� Y�� ���� // eCSOTRaw_Defect_X, // ������ǥ X 2 // 9999.999 mm - QMS Calculation // eCSOTRaw_Defect_Y, // ������ǥ Y 2 // 9999.999 mm // eCSOTRaw_Defect_PixelX, // ���� Pixel ��ǥ X // 99999 // eCSOTRaw_Defect_PixelY, // ���� Pixel ��ǥ Y // 99999 // // eCSOTRaw_Defect_CPResult, // CP ��� // AAA - 0: CP ��ġ ��, 1: CP��ġ, 8: �̽ǽ� // eCSOTRaw_Defect_Flag, // ������� Flag // AAAAA - 0 : ������� ��, 1: �����ĺ� // eCSOTRaw_Defect_ImageName, // �̹��� ��ȣ // AAAAA.A999.AAA - Rule : " ����ID " + " . " + " B " ( Before ) + " ֧�� " + ?��� " .AAA " // eCSOTRaw_Defect_ImageSizeX, // �̹��� Size X // 9999.99 um // eCSOTRaw_Defect_ImageSizeY, // �̹��� Size Y // 9999.99 um // // // [2018/07/05 08:42:57 by jylee] related Format ���� // eCSOTRaw_Defect_Spare1 // ����� 1 //}; /* enum eCSOTRawDefectIndex{ // 50 eCSOTRaw_Defect_Name = 0, // 1. ������ȣ // 50 ���� eCSOTRaw_Defect_Code, // 2. �����ڵ� // AAAAA eCSOTRaw_Defect_CenterOriX, // 3. ������ǥX 1 // +-9999.999 mm ���� ���� �������� ��ǥ eCSOTRaw_Defect_CenterOriY, // 4. ������ǥY 1 // +-9999.999 mm eCSOTRaw_Defect_Area, // 5. ���� Size(����) // 999.99 um - ���� ���Ը��� eCSOTRaw_Defect_SizeType, // 6. ���� Size ���� // A - S/M/L/O eCSOTRaw_Defect_DefectType, // 7. ���� Type // A - N: Normal, C: Common, M: Mask eCSOTRaw_Defect_Zone, // 8. ���� ��ġ // A - Zone eCSOTRaw_Defect_Size, // 9. ���� Size (CCD��) // 99999 um2 - Camera Pixel Size eCSOTRaw_Defect_SizeX, // 10. ����Size DX // 999.99 um - ���� ���� X�� ���� eCSOTRaw_Defect_SizeY, // 11. ����Size DY // 999.99 um - ���� ���� Y�� ���� eCSOTRaw_Defect_X, // 12. ������ǥ X 2 // 9999.999 mm - QMS Calculation eCSOTRaw_Defect_Y, // 13. ������ǥ Y 2 // 9999.999 mm eCSOTRaw_Defect_PixelX, // 14. ���� Pixel ��ǥ X // 99999 eCSOTRaw_Defect_PixelY, // 15. ���� Pixel ��ǥ Y // 99999 eCSOTRaw_Defect_CPResult, // 16. CP ��� // AAA - 0: CP ��ġ ��, 1: CP��ġ, 8: �̽ǽ� eCSOTRaw_Defect_Flag, // 17. ������� Flag // AAAAA - 0 : ������� ��, 1: �����ĺ� eCSOTRaw_Defect_ImageName, // 18. �̹��� ��ȣ // AAAAA.A999.AAA - Rule : " ����ID " + " . " + " B " ( Before ) + " ֧�� " + ?��� " .AAA " eCSOTRaw_Defect_ImageSizeX, // 19. �̹��� Size X // 9999.99 um eCSOTRaw_Defect_ImageSizeY, // 20. �̹��� Size Y // 9999.99 um // [2018/07/05 08:42:57 by jylee] related Format ���� eCSOTRaw_Defect_CCDValue, // 21. CCD ��ġ // 99999 eCSOTRaw_Defect_CCDNum, // 22. ���԰��� ī�޶� ��ȣ // 99 eCSOTRaw_Defect_SliceNum, // 23. ���� ���° ��ĵ ����// 99 eCSOTRaw_Defect_REVNum, // 24. ���� ������ ī�޶� // 99 eCSOTRaw_Defect_DefectPosGray, // 25. ������ġ �ֵ��� // 999 eCSOTRaw_Defect_NormalPosGray, // 26. ������ġ �ֵ��� // 999 eCSOTRaw_Defect_Spare1, // 27. ����� 1 eCSOTRaw_Defect_Spare2 // 28. ����� 2 }; */ //enum eCSOTRawElectroIndex{ // 51 // eCSOTRaw_Electro_Name = 0, // ������ȣ // 51 ���� // eCSOTRaw_Electro_Value, // ����ġ // +-9999.99 // eCSOTRaw_Electro_Spare1 // �����1 //}; //enum eCSOTRawCCDIndex{ // 52 // eCSOTRaw_CCD_Name = 0, // ������ȣ // 52 ���� // eCSOTRaw_CCD_CamNum, // CCD Camera ��ȣ // AA // eCSOTRaw_CCD_AvgGrayScale, // ��� Gray-Scale // 999 // eCSOTRaw_CCD_Spare1 // �����1 //}; enum eCSOTRawReviewIndex{ // 53 eCSOTRaw_Review_Name = 0, // ������ȣ // 53 ���� eCSOTRaw_Review_PosX, // ������ġ X // +-9999.999 mm - ���� �߽� eCSOTRaw_Review_PosY, // ������ġ Y // +-9999.999 mm eCSOTRaw_Review_ImageName, // �̹����� // AAAAA.A999.AAA eCSOTRaw_Review_SizeX, // �̹��� Size X // 9999.99 um eCSOTRaw_Review_SizeY, // �̹��� Size Y // 9999.99 um eCSOTRaw_Review_Spare1 // �����1 }; //enum eCSOTRawAlignmentIndex{ // 55 // eCSOTRaw_Alignment_Name = 0, // ������ȣ // 55 ���� // eCSOTRaw_Alignment_Result, // Alignment ��� // 99999 - G: OK, N: NG, S:������ // eCSOTRaw_Alignment_Rotation, // Alignment Rotation // +-9.999999 - ���� ȸ�� ���� // eCSOTRaw_Alignment_A1ShiftX, // A1 Shift��ġ X // +-9.999999 // eCSOTRaw_Alignment_A1ShiftY, // A1 Shift��ġ Y // +-9.999999 // // eCSOTRaw_Alignment_A2ShiftX, // A2 Shift��ġ X // +-9.999999 // eCSOTRaw_Alignment_A2ShiftY, // A2 Shift��ġ Y // +-9.999999 // eCSOTRaw_Alignment_A3ShiftX, // A3 Shift��ġ X // +-9.999999 // eCSOTRaw_Alignment_A3ShiftY, // A3 Shift��ġ Y // +-9.999999 // eCSOTRaw_Alignment_A4ShiftX, // A4 Shift��ġ X // +-9.999999 // // eCSOTRaw_Alignment_A4ShiftY, // A4 Shift��ġ Y // +-9.999999 // eCSOTRaw_Alignment_Spare1 // �����1 //}; enum eCSOTRTMSRawData{ eCSOT_RTMS_GlassInfoItem = 0, eCSOT_RTMS_GlassInfoData, eCSOT_RTMS_CellInfoItem, eCSOT_RTMS_CellInfoData, eCSOT_RTMS_DefectInfoItem, eCSOT_RTMS_DefectInfoData, eCSOT_RTMS_CameraInfoItem, eCSOT_RTMS_CameraInfoData, eCSOT_RTMS_Count }; class AFX_EXT_CLASS CParsingGlassResult_CPJT : public CParsingGlassResult { public: CParsingGlassResult_CPJT(void); virtual ~CParsingGlassResult_CPJT(void); // �����޸� ���� ���Լ� CMARK================================================================================= // Memory -> GlassResult virtual void MemoryParsingFileToGlassResult(CGlassResult* pGlassResult, CDitGlassRawClient* pDitRawClient); virtual int MemoryParsingReviewResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr) ; virtual int MemoryParsingWsiResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr) ; virtual int MemoryParsingMeasureResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr) ; virtual int MemoryParsingReflowResultDataToFile(CGlassResult* pGlassResult, CDitGlassRawClient* pRawMemoryMgr); //==================================================================================================================== virtual int ParsingWsiReflowResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual void ParsingFileToGlassResult(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingReviewResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingReviewResultDataCD(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingReviewResultDataSD(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingWsiResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingReflowResultData(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingMeasureResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual void ParsingRTMSFileToGlassResult(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); virtual int ParsingReviewResultDataToRTMSFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr); //virtual int ParsingDeepLearningFileToResultData( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr ); BOOL CheckResultFileAndCopy( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr, const SReviewResult *pResult, const CString& strFileName ); //BOOL CheckDeepLearningResult( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr, int nDLIndex, const CString& strFileName ); // [2018/03/14 10:19:06 by jylee] related Deep Learning //virtual int ParsingDeepLearningResultDataToGlassResult( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr ); virtual int ParsingDataReloadToGlassResult( CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr, int nOrgGlass ); protected: private: BOOL StartParshing(); int GetDefectType(const CString& strValue); int GetGrayType(const CString& strValue); CString GetGrayType(const int& nValue); int GetProcessType(const CString& strValue); int GetSizeType(const CString& strValue); int GetStackType(const CString& strValue); int GetJudgeType(const CString& strValue); int GetOpticType(int nDefectType); int GetCSOTDefectType(const CString& strValue); int GetZoneType(const CString& strValue); // [2018/07/28 10:57:49 by jylee] related Zone Data //int GetFeatureType(const CString& strValue); int GetDefectCodeType( const CString& strRecipeID, const CString& strValue ); // [2018/03/14 09:47:51 by jylee] related Deep Learning int GetCSOTDefectCode(CString strDfectType); CString GetGradeType(int nJudgementType);//DefectJudgement int GetCodeType(CString strValue); };