From 75c1317438374ab8555e85b491b36113b5aeb9c7 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 목, 21 4월 2022 13:52:35 +0900
Subject: [PATCH] Ongoing90 #4086 CF AOI Review FDC SW Version 추가 요청

---
 ReviewSystem/ReviewSystem/ReviewInterface.h             |   17 ++++-
 ReviewSystem/ReviewSystem/SequenceProcessor.h           |    1 
 ReviewSystem/ReviewSystem/ReviewInterface.cpp           |  103 +++++++++++++++++++++++++---------
 ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp    |    7 ++
 Internal_Library/CHWsiControls/WsiControl_Dit.cpp       |    6 ++
 Internal_Library/Include/CHWsiControls/WsiControlInfo.h |    1 
 6 files changed, 102 insertions(+), 33 deletions(-)

diff --git a/Internal_Library/CHWsiControls/WsiControl_Dit.cpp b/Internal_Library/CHWsiControls/WsiControl_Dit.cpp
index 0d17f11..1313964 100644
--- a/Internal_Library/CHWsiControls/WsiControl_Dit.cpp
+++ b/Internal_Library/CHWsiControls/WsiControl_Dit.cpp
@@ -159,6 +159,12 @@
 	{
 		m_pWC2P->IWC2P_DisplayMessage(m_nIndex, _T("[WsiControl] [%02d] MODULE_INDEX Connection Fail!"), m_nIndex);
 	}
+
+	/*< LYW 20220421 - #4086 ADD Start >*/
+	int nWSIVersion = pPacket->GetInt(0);
+	m_pWC2P->IWC2P_SetWSIVersion(m_nIndex, nWSIVersion);
+	m_pWC2P->IWC2P_DisplayMessage(m_nIndex, _T("[WsiControl] [%02d] WSI S/W Version Set = %d"), m_nIndex, nWSIVersion);
+	/*< LYW 20220421 - #4086 ADD End >*/
 	
 	return;
 
diff --git a/Internal_Library/Include/CHWsiControls/WsiControlInfo.h b/Internal_Library/Include/CHWsiControls/WsiControlInfo.h
index 4fc2f7d..63e512f 100644
--- a/Internal_Library/Include/CHWsiControls/WsiControlInfo.h
+++ b/Internal_Library/Include/CHWsiControls/WsiControlInfo.h
@@ -171,6 +171,7 @@
 	virtual BOOL	IWC2P_SetMeasureInfo(int nIndex, int nPointIndex, const CString& strImagFilename, int nWsiType) = 0;
 	virtual BOOL	IWC2P_GetMeasureInfo(int nIndex, int nPointIndex, short& nLoc, short& nOptic, short& nGray, CString& strCellID) = 0;
 	virtual int		IWC2P_GetCurrentStatus(int nIndex, CString& strGlassID, CString& strRecipeID, int& nType) = 0;
+	virtual void	IWC2P_SetWSIVersion(int nModuleIndex, int nVersion) = 0;
 	virtual void	IWC2P_SetConnectedStatus(int nIndex, int nConnectStatus) = 0;
 	virtual void	IWC2P_RecvMeasureMessage(int nIndex, int nMessageType, int nMessageResult) = 0;
 	virtual void	IWC2P_SetMeasureResult(int nIndex, const SWsiResult& measureResut) = 0;
diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
index 9f3371b..a2d3e7d 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -118,6 +118,8 @@
 	m_nFDCFTPUploaderSWVersion = 20220101;
 	m_nFDCSyncSWVersion = 20220101;
 	m_nFDCReviewSWVersion = 20220101;
+	m_nFDCWSISWVersion00 = 20220101;
+	m_nFDCWSISWVersion01 = 20220101;
 	/*< LYW 20220415 - #4086 ADD End >*/
 	m_ProcessTimer.End();						// process timer
 
@@ -170,6 +172,7 @@
 	//ISP2P_CopyFolder(_REVIEW_SERVER_CONFIG_PATH_, _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT);
 	//ISP2P_CopyFolder(_REVIEW_RECIPE_PATH_, _REVIEW_RECIPE_BACKUP_PATH_CPJT);
 	//LYW_#3344_CF AOI Review Config File 諛깆뾽 湲곕뒫 媛쒖꽑 ADD END
+	SetReviewProgramVersion();
 
 	// init review data
 	if (m_pDoc->InitReviewData()==FALSE) 
@@ -196,7 +199,7 @@
 	}
 
 	/*< LYW 20220415 - #4086 ADD Start >*/
-	_beginthread(threadSetProgramVersion, NULL, this);
+	_beginthread(threadSet3rdPartyProgramVersion, NULL, this);
 	/*< LYW 20220415 - #4086 ADD End >*/
 
 	// system type log : SW Version 異붽�
@@ -577,7 +580,7 @@
 }
 
 /*< LYW 20220415 - #4086 ADD Start >*/
-void CReviewInterface::threadSetProgramVersion(void* pArg)
+void CReviewInterface::threadSet3rdPartyProgramVersion(void* pArg)
 {
 	CReviewInterface* pThis = (CReviewInterface*)pArg;
 	//LYW0412
@@ -589,27 +592,6 @@
 	HWND hWnd;
 	HANDLE hHandle;
 	CString strTemp;
-
-	//Review S/W Version Start
-	::GetModuleFileName( AfxGetInstanceHandle(), currentPath, MAX_PATH);
-
-	bReturn = finder.FindFile(currentPath);
-
-	while(bReturn)
-	{
-		bReturn = finder.FindNextFile();
-
-		if(finder.IsDots()) continue;
-		if(finder.IsDirectory()) continue;
-		
-		finder.GetLastWriteTime(timeLastWrite);
-		pThis->m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"),
-			timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute());
-		strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay());
-		pThis->m_nFDCReviewSWVersion = atoi(strTemp);
-		g_pLog->DisplayMessage(_T("FDCReviewSWVersion = %d "), pThis->m_nFDCReviewSWVersion);
-	}
-	//Review S/W Version Start
 
 	while ((bRetFTPUploader&bRetGRM&bRetSync) != TRUE) 
 	{
@@ -643,6 +625,8 @@
 		}
 		//FTPUploader S/W Version End
 
+		bReturn = FALSE;
+
 		//Dit Glass Raw Messenger S/W Version Start
 		if (bRetGRM == FALSE)
 		{
@@ -670,6 +654,8 @@
 			bRetGRM = TRUE;
 		}
 		//Dit Glass Raw Messenger S/W Version End
+
+		bReturn = FALSE;
 
 		//Dit Shared Memory Sync Client S/W Version Start
 		if (bRetSync == FALSE)
@@ -702,6 +688,38 @@
 
 	finder.Close();
 }
+
+void CReviewInterface::SetReviewProgramVersion()
+{
+	//LYW0412
+	BOOL bReturn;
+	CFileFind finder;
+	CTime timeLastWrite;
+	TCHAR currentPath[MAX_PATH];
+	CString strTemp;
+
+	//Review S/W Version Start
+	::GetModuleFileName(AfxGetInstanceHandle(), currentPath, MAX_PATH);
+
+	bReturn = finder.FindFile(currentPath);
+
+	while (bReturn)
+	{
+		bReturn = finder.FindNextFile();
+
+		if (finder.IsDots()) continue;
+		if (finder.IsDirectory()) continue;
+
+		finder.GetLastWriteTime(timeLastWrite);
+		m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"),
+			timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute());
+		strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay());
+		m_nFDCReviewSWVersion = atoi(strTemp);
+		g_pLog->DisplayMessage(_T("FDCReviewSWVersion = %d "), m_nFDCReviewSWVersion);
+	}
+	//Review S/W Version End
+}
+
 /*< LYW 20220415 - #4086 ADD End >*/
 
 void CReviewInterface::CreateSystemDirectory()
@@ -2874,6 +2892,21 @@
 	}
 
 	return -1;
+}
+
+void CReviewInterface::IWC2P_SetWSIVersion(int nModuleIndex, int nVersion)
+{
+	switch (nModuleIndex)
+	{
+	case 0:
+		m_nFDCWSISWVersion00 = nVersion;
+		break;
+	case 1:
+		m_nFDCWSISWVersion01 = nVersion;
+		break;
+	default:
+		break;
+	}
 }
 
 void CReviewInterface::IWC2P_SetConnectedStatus(int nModuleIndex, int nConnectStatus)
@@ -8408,26 +8441,42 @@
 	m_nReview01ImageContrast = n_Value;
 }
 
-BOOL CReviewInterface::ISP2P_GetReviewSWVersion()
+int CReviewInterface::ISP2P_GetReviewSWVersion()
 {
 	return m_nFDCReviewSWVersion;
 }
 
-BOOL CReviewInterface::ISP2P_GetSyncSWVersion()
+int CReviewInterface::ISP2P_GetSyncSWVersion()
 {
 	return m_nFDCSyncSWVersion;
 }
 
-BOOL CReviewInterface::ISP2P_GetGRMSWVersion()
+int CReviewInterface::ISP2P_GetGRMSWVersion()
 {
 	return m_nFDCGRMSWVersion;
 }
 
-BOOL CReviewInterface::ISP2P_GetFTPUploaderSWVersion()
+int CReviewInterface::ISP2P_GetFTPUploaderSWVersion()
 {
 	return m_nFDCFTPUploaderSWVersion;
 }
 
+int CReviewInterface::ISP2P_GetWSISWVersion(int nModuleIndex)
+{
+	switch (nModuleIndex)
+	{
+	case 0:
+		return m_nFDCWSISWVersion00;
+		break;
+	case 1:
+		return m_nFDCWSISWVersion01;
+		break;
+	default:
+		return m_nFDCWSISWVersion00;
+		break;
+	}
+}
+
 SDefectFilter* CReviewInterface::ISP2P_GetDefectFilter()
 {
 	if (m_pDoc==NULL) return NULL;
diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h
index f4b3124..9bda12b 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.h
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.h
@@ -149,6 +149,9 @@
 	virtual void    IWC2P_SetWSIAliveCheck();
 	virtual BOOL	IWC2P_GetMeasureInfo(int nModuleIndex, int nPointIndex, short& nLoc, short& nOptic, short& nGray, CString& strCellID);
 	virtual int		IWC2P_GetCurrentStatus(int nModuleIndex, CString& strGlassID, CString& strRecipeID, int& nType);
+	/*< LYW 20220421 - #4086 ADD Start >*/
+	virtual void	IWC2P_SetWSIVersion(int nModuleIndex, int nVersion);
+	/*< LYW 20220421 - #4086 ADD End >*/
 	virtual void	IWC2P_SetConnectedStatus(int nModuleIndex, int nConnectStatus);
 	virtual void	IWC2P_RecvMeasureMessage(int nModuleIndex, int nMessageType, int nMessageResult);
 	virtual void	IWC2P_SetMeasureResult(int nModuleIndex, const SWsiResult& measureResut);
@@ -388,10 +391,11 @@
 	virtual void						ISP2P_SetReview01ImageContrast(int n_Value);
 	/*< LYW 20211109 - #3662 ADD End >*/
 	/*< LYW 20220415 - #4086 ADD Start >*/
-	virtual BOOL						ISP2P_GetReviewSWVersion();
-	virtual BOOL						ISP2P_GetSyncSWVersion();
-	virtual BOOL						ISP2P_GetGRMSWVersion();
-	virtual BOOL						ISP2P_GetFTPUploaderSWVersion();
+	virtual int							ISP2P_GetReviewSWVersion();
+	virtual int							ISP2P_GetSyncSWVersion();
+	virtual int							ISP2P_GetGRMSWVersion();
+	virtual int							ISP2P_GetFTPUploaderSWVersion();
+	virtual int							ISP2P_GetWSISWVersion(int nModuleIndex);
 	/*< LYW 20220415 - #4086 ADD End >*/
 
 	// History result
@@ -673,7 +677,8 @@
 	// setter internal
 	double	GetFreeSpaceOfDrive() const;
 	/*< LYW 20220415 - #4086 ADD Start >*/
-	static void	threadSetProgramVersion(void* pArg);
+	static void	threadSet3rdPartyProgramVersion(void* pArg);
+	void	SetReviewProgramVersion();
 	/*< LYW 20220415 - #4086 ADD End >*/
 		
 	void	ApplySystemSettingValue();
@@ -867,6 +872,8 @@
 	long						m_nFDCFTPUploaderSWVersion;
 	long						m_nFDCSyncSWVersion;
 	long						m_nFDCReviewSWVersion;
+	long						m_nFDCWSISWVersion00;
+	long						m_nFDCWSISWVersion01;
 	/*< LYW 20220415 - #4086 ADD End >*/
 	
 	// multi variable	
diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor.h b/ReviewSystem/ReviewSystem/SequenceProcessor.h
index dbb062b..a81eb75 100644
--- a/ReviewSystem/ReviewSystem/SequenceProcessor.h
+++ b/ReviewSystem/ReviewSystem/SequenceProcessor.h
@@ -443,6 +443,7 @@
 	virtual BOOL						ISP2P_GetSyncSWVersion() = 0;
 	virtual BOOL						ISP2P_GetGRMSWVersion() = 0;
 	virtual BOOL						ISP2P_GetFTPUploaderSWVersion() = 0;
+	virtual BOOL						ISP2P_GetWSISWVersion(int nModuleIndex) = 0;
 	/*< LYW 20220415 - #4086 ADD End >*/
 
 	virtual CGlassResult*				ISP2P_GetNewHistoryResult(int& nHistoryResultCount) = 0;	// new glass result
diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
index 0a45de0..b5f9c71 100644
--- a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
+++ b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
@@ -8055,6 +8055,8 @@
 	int	nFDCFTPUploaderSWVersion = 20200101;
 	int	nFDCSyncSWVersion = 20200101;
 	int	nFDCReviewSWVersion = 20200101;
+	int	nFDCWSISWVersion00 = 20200101;
+	int	nFDCWSISWVersion01 = 20200101;
 	/*< LYW 20220415 - #4086 ADD End >*/
 
 	//foucs 
@@ -8069,6 +8071,8 @@
 		nFDCFTPUploaderSWVersion = m_pSP2P->ISP2P_GetFTPUploaderSWVersion();
 		nFDCSyncSWVersion = m_pSP2P->ISP2P_GetSyncSWVersion();
 		nFDCReviewSWVersion = m_pSP2P->ISP2P_GetReviewSWVersion();
+		nFDCWSISWVersion00 = m_pSP2P->ISP2P_GetWSISWVersion(0);
+		nFDCWSISWVersion01 = m_pSP2P->ISP2P_GetWSISWVersion(1);
 		/*< LYW 20220415 - #4086 ADD End >*/
 	}
 	/*< LYW 20211109 - #3662 MOD End >*/
@@ -8218,7 +8222,8 @@
 	pSignalControl->WritePacketData(_T("16128"), sizeof(nFDCReviewSWVersion), (short*)&nFDCReviewSWVersion);
 	pSignalControl->WritePacketData(_T("16132"), sizeof(nFDCFTPUploaderSWVersion), (short*)&nFDCFTPUploaderSWVersion);
 	pSignalControl->WritePacketData(_T("16136"), sizeof(nFDCGRMSWVersion), (short*)&nFDCGRMSWVersion);
-
+	pSignalControl->WritePacketData(_T("16140"), sizeof(nFDCWSISWVersion00), (short*)&nFDCWSISWVersion00);
+	pSignalControl->WritePacketData(_T("16144"), sizeof(nFDCWSISWVersion01), (short*)&nFDCWSISWVersion01);
 	/*< LYW 20220415 - #4086 ADD End >*/
 
 // 	pSignalControl->WritePacketData(_T("16124"), sizeof(nRev_PC_HDD_CHECK), (short*)&nRev_PC_HDD_CHECK);

--
Gitblit v1.9.3