#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 VectorGlassResult; typedef std::vector::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 };