From 12c02f064db12d6d94063bf6dd9e4eb80f4252b8 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 월, 11 10월 2021 15:30:00 +0900
Subject: [PATCH] Ongoing60 #3662 CF AOI Review 전설비 알람 발생 조치 - Review History File Mapping 해제 - Review Inner History 다운 현상 예외처리 추가 - Review End 시 Review 다운 현상 예외처리 추가

---
 ReviewHistory/ReveiwHistory/DitGlassRawServer.cpp    |  140 ++++++++++---------
 ReviewSystem/ReviewSystem/DlgReviewHistoryTool.cpp   |   78 +++++++----
 ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp |  125 +++++++++--------
 ReviewSystem/ReviewSystem/DlgDeffectHistroy.cpp      |   37 +++-
 4 files changed, 216 insertions(+), 164 deletions(-)

diff --git a/ReviewHistory/ReveiwHistory/DitGlassRawServer.cpp b/ReviewHistory/ReveiwHistory/DitGlassRawServer.cpp
index e88e79b..223a7d1 100644
--- a/ReviewHistory/ReveiwHistory/DitGlassRawServer.cpp
+++ b/ReviewHistory/ReveiwHistory/DitGlassRawServer.cpp
@@ -15,6 +15,9 @@
 
 CDitGlassRawServer::~CDitGlassRawServer(void)
 {
+	delete m_pGlassRawData;
+	delete m_pGlassRawInfo;
+
 	if (m_hMapBasicInfo!=NULL)
 	{
 		::UnmapViewOfFile(m_hMapBasicInfo);
@@ -91,37 +94,40 @@
 
 BOOL CDitGlassRawServer::CreateGlassRawInfo()
 {
-	if(m_hMapBasicInfo == NULL)
-	{
-		BOOL bCreateMem = TRUE;
-
-		m_hMapBasicInfo = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE
-			, 0, sizeof(_grmDitGlassRawInfo), SHAREDMEMNAME_BASICINFO);
-
-		if (::GetLastError() == ERROR_ALREADY_EXISTS)
-		{
-			m_hMapBasicInfo = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_BASICINFO);
-			bCreateMem = FALSE;
-		}
-
-		if (m_hMapBasicInfo)
-		{
-			m_pGlassRawInfo = (_grmDitGlassRawInfo*)::MapViewOfFile(m_hMapBasicInfo, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(_grmDitGlassRawInfo));
-		}
-
-		if(m_hMapBasicInfo == NULL || m_pGlassRawInfo == NULL)
-		{
-			if (m_hMapBasicInfo!=NULL)
-			{
-				::UnmapViewOfFile(m_hMapBasicInfo);
-				m_pGlassRawInfo = NULL;
-			}
-			m_pGlassRawInfo = NULL;
-			return FALSE;
-		}
+// 	if(m_hMapBasicInfo == NULL)
+// 	{
+// 		BOOL bCreateMem = TRUE;
+// 
+// 		m_hMapBasicInfo = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE
+// 			, 0, sizeof(_grmDitGlassRawInfo), SHAREDMEMNAME_BASICINFO);
+// 
+// 		if (::GetLastError() == ERROR_ALREADY_EXISTS)
+// 		{
+// 			m_hMapBasicInfo = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_BASICINFO);
+// 			bCreateMem = FALSE;
+// 		}
+// 
+// 		if (m_hMapBasicInfo)
+// 		{
+// 			m_pGlassRawInfo = (_grmDitGlassRawInfo*)::MapViewOfFile(m_hMapBasicInfo, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(_grmDitGlassRawInfo));
+// 		}
+// 
+// 		if(m_hMapBasicInfo == NULL || m_pGlassRawInfo == NULL)
+// 		{
+// 			if (m_hMapBasicInfo!=NULL)
+// 			{
+// 				::UnmapViewOfFile(m_hMapBasicInfo);
+// 				m_pGlassRawInfo = NULL;
+// 			}
+// 			m_pGlassRawInfo = NULL;
+// 			return FALSE;
+// 		}
 
 		//0으로 초기화
-		if(bCreateMem && m_pGlassRawInfo)
+		//if(bCreateMem && m_pGlassRawInfo)
+		//_grmDitGlassRawInfo SemiServer;
+	m_pGlassRawInfo = new _grmDitGlassRawInfo;
+		if (m_pGlassRawInfo)
 		{
 			ZeroMemory(m_pGlassRawInfo,sizeof(_grmDitGlassRawInfo));
 			
@@ -135,7 +141,7 @@
 			int bytealign = m_pGlassRawInfo->m_nSizeOfGlassData%4;
 		}
 		
-	}
+	//}
 
 	
 
@@ -144,41 +150,47 @@
 
 BOOL CDitGlassRawServer::CreateGlassRawData()
 {
-	int nGlassRawSharedSize = (int)(m_pGlassRawInfo->m_nGlassRawDataSize);
-
-	if(m_hMapGlassData == NULL)
-	{
-		BOOL bCreateMem = TRUE;
-
-		m_hMapGlassData = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE
-			, 0, nGlassRawSharedSize, SHAREDMEMNAME_GLASSDATA);
-
-		if (::GetLastError() == ERROR_ALREADY_EXISTS)
-		{
-			m_hMapGlassData = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_GLASSDATA);
-			bCreateMem = FALSE;
-		}
-
-		if (m_hMapGlassData)
-		{
-			m_pGlassRawData = (char*)::MapViewOfFile(m_hMapGlassData, FILE_MAP_ALL_ACCESS, 0, 0, nGlassRawSharedSize);
-		}
-
-		if(m_hMapGlassData == NULL || m_pGlassRawData == NULL)
-		{
-			if (m_hMapGlassData != NULL)
-			{
-				::UnmapViewOfFile(m_hMapGlassData);
-				m_pGlassRawData = NULL;
-			}
-			m_pGlassRawData = NULL;
-			return FALSE;
-		}
-
-		//0으로 초기화
-		if(bCreateMem && m_pGlassRawData) ZeroMemory(m_pGlassRawData,sizeof(char)*nGlassRawSharedSize);
-	}
+ 	int nGlassRawSharedSize = (int)(m_pGlassRawInfo->m_nGlassRawDataSize);
+// 
+// 	if(m_hMapGlassData == NULL)
+// 	{
+// 		BOOL bCreateMem = TRUE;
+// 
+// 		m_hMapGlassData = ::CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE
+// 			, 0, nGlassRawSharedSize, SHAREDMEMNAME_GLASSDATA);
+// 
+// 		if (::GetLastError() == ERROR_ALREADY_EXISTS)
+// 		{
+// 			m_hMapGlassData = ::OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,SHAREDMEMNAME_GLASSDATA);
+// 			bCreateMem = FALSE;
+// 		}
+// 
+// 		if (m_hMapGlassData)
+// 		{
+// 			m_pGlassRawData = (char*)::MapViewOfFile(m_hMapGlassData, FILE_MAP_ALL_ACCESS, 0, 0, nGlassRawSharedSize);
+// 		}
+// 
+// 		if(m_hMapGlassData == NULL || m_pGlassRawData == NULL)
+// 		{
+// 			if (m_hMapGlassData != NULL)
+// 			{
+// 				::UnmapViewOfFile(m_hMapGlassData);
+// 				m_pGlassRawData = NULL;
+// 			}
+// 			m_pGlassRawData = NULL;
+// 			return FALSE;
+// 		}
+// 
+// 		//0으로 초기화
+// 		if(bCreateMem && m_pGlassRawData) ZeroMemory(m_pGlassRawData,sizeof(char)*nGlassRawSharedSize);
+// 	}
 	
+
+	 //0으로 초기화
+	m_pGlassRawData = new char[nGlassRawSharedSize];
+ 	if(m_pGlassRawData) 
+		ZeroMemory(m_pGlassRawData,sizeof(char)*nGlassRawSharedSize);
+
 	m_pGlassData  = (_grmGlassData*)&m_pGlassRawData[m_pGlassRawInfo->m_nGlassDataPoint];
 	m_pBlockData  = (_grmBlockData*)&m_pGlassRawData[m_pGlassRawInfo->m_nBlockDataPoint];
 	m_pCellData   = (_grmCellData*)&m_pGlassRawData[m_pGlassRawInfo->m_nCellDataPoint];
diff --git a/ReviewSystem/ReviewSystem/DlgDeffectHistroy.cpp b/ReviewSystem/ReviewSystem/DlgDeffectHistroy.cpp
index 7704ff5..17200a9 100644
--- a/ReviewSystem/ReviewSystem/DlgDeffectHistroy.cpp
+++ b/ReviewSystem/ReviewSystem/DlgDeffectHistroy.cpp
@@ -575,23 +575,34 @@
 
 void CDlgDeffectHistroy::OnDblclkListHistoryDefect(NMHDR *pNMHDR, LRESULT *pResult)
 {
-	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
-	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
-	
-	int nPos = m_ctrlListDefectHistory.GetSelectionMark();
-	if (nPos >= 0)
+
+	/*< LYW 20211005 - #3662 ADD Start >*/
+	try
 	{
-		CString strText;
-		strText = m_ctrlListDefectHistory.GetItemText(nPos, 0);
-		int nDefectIdx = _ttoi(strText);
-		if (nDefectIdx < 0)
-			return;
+		LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
+		// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 
-		//History tool �뿉 �씤�뜳�뒪 踰덊샇 �꽆湲곌린
-		m_pDDL2P->UpdateSelectDefectInfoMap2(nDefectIdx);
+		int nPos = m_ctrlListDefectHistory.GetSelectionMark();
+		if (nPos >= 0)
+		{
+			CString strText;
+			strText = m_ctrlListDefectHistory.GetItemText(nPos, 0);
+			int nDefectIdx = _ttoi(strText);
+			if (nDefectIdx < 0)
+				return;
+
+			//History tool �뿉 �씤�뜳�뒪 踰덊샇 �꽆湲곌린
+			m_pDDL2P->UpdateSelectDefectInfoMap2(nDefectIdx);
+		}
+
+		*pResult = 0;
 	}
+	catch (...)
+	{
+		return;
+	}
+	/*< LYW 20211005 - #3662 ADD End >*/
 
-	*pResult = 0;
 }
 
 void CDlgDeffectHistroy::OnSize(UINT nType, int cx, int cy)
diff --git a/ReviewSystem/ReviewSystem/DlgReviewHistoryTool.cpp b/ReviewSystem/ReviewSystem/DlgReviewHistoryTool.cpp
index 47d6c1d..87e2a37 100644
--- a/ReviewSystem/ReviewSystem/DlgReviewHistoryTool.cpp
+++ b/ReviewSystem/ReviewSystem/DlgReviewHistoryTool.cpp
@@ -674,33 +674,44 @@
 
 void CDlgReviewHistoryTool::OnDblclkList1()
 {
-	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
-	CString strSelect, strGlassID, strStepID, strStepTime;
-	int nTemp, nTemp2;
-	int nidx = 0;
+	/*< LYW 20211005 - #3662 ADD Start >*/
+	try
+	{
+		// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
+		CString strSelect, strGlassID, strStepID, strStepTime;
+		int nTemp, nTemp2;
+		int nidx = 0;
 
-	nidx = m_ctrlHistoryList.GetCurSel();
+		nidx = m_ctrlHistoryList.GetCurSel();
 
-	SetSelectIndex(nidx);
-	bool bSelect = false;
+		SetSelectIndex(nidx);
+		bool bSelect = false;
 
-	CGlassResult* pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(0); 
+		CGlassResult* pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(0);
 
-	pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(GetSelectIndex());
-	SetHistoryTemp(GetSelectIndex());
-	const SDefectFilter *pDefectFilter = m_pDDL2P->ISP2P_GetDefectFilter(); //taek 210213
+		pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(GetSelectIndex());
+		SetHistoryTemp(GetSelectIndex());
+		const SDefectFilter *pDefectFilter = m_pDDL2P->ISP2P_GetDefectFilter(); //taek 210213
 
-	if(pHistoryResult == NULL) return; 
-	if(pDefectFilter == NULL) return;
+		if (pHistoryResult == NULL) return;
+		if (pDefectFilter == NULL) return;
 
-	//�뵒�럺 留� �몴�쁽 諛� 洹몃━�뱶 �몴�쁽
-	m_pDlgDefectHistory->UpdateProcessStatus(pHistoryResult); //洹몃━�뱶 �몴�쁽
-	m_pDlgDefectHistoryMap->UpdateDefectFilter(pDefectFilter);
-	m_pDlgDefectHistoryMap->UpdateProcessStatus(pHistoryResult); //�뵒�럺 留� �몴�쁽
-	UpdateProcess(pHistoryResult);
-	SetDefectImage(GetReviewName(), m_pHistoryTemp);
-	GetHistoryList(); //�븳踰� 媛깆떊 �빐二쇨퀬 泥섎━�븯�옄
-	m_bHistory = true;
+		//�뵒�럺 留� �몴�쁽 諛� 洹몃━�뱶 �몴�쁽
+		m_pDlgDefectHistory->UpdateProcessStatus(pHistoryResult); //洹몃━�뱶 �몴�쁽
+		m_pDlgDefectHistoryMap->UpdateDefectFilter(pDefectFilter);
+		m_pDlgDefectHistoryMap->UpdateProcessStatus(pHistoryResult); //�뵒�럺 留� �몴�쁽
+		UpdateProcess(pHistoryResult);
+		SetDefectImage(GetReviewName(), m_pHistoryTemp);
+		GetHistoryList(); //�븳踰� 媛깆떊 �빐二쇨퀬 泥섎━�븯�옄
+		m_bHistory = true;
+	}
+	catch (...)
+	{
+		return;
+	}
+	/*< LYW 20211005 - #3662 ADD End >*/
+
+
 }
 
 
@@ -828,15 +839,24 @@
 
 void CDlgReviewHistoryTool::OnBnClickedUseDefect()
 {
+	/*< LYW 20211005 - #3662 ADD Start >*/
+	try
+	{
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
-	BOOL bCheck = ((CButton*)GetDlgItem(IDC_USE_DEFECT))->GetCheck();
-// 	CGlassResult* pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(0);
-// 	pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(GetSelectIndex());
-	SetHistoryTemp(GetSelectIndex());
-	SetAllDefect(bCheck);
-	m_pDlgDefectHistoryMap->SetHistoryDefect(bCheck);
-	m_pDlgDefectHistoryMap->UpdateProcessStatus(m_pHistoryTemp); //�뵒�럺 留� �몴�쁽
-	m_pDlgDefectHistory->UpdateProcessStatus(m_pHistoryTemp);
+		BOOL bCheck = ((CButton*)GetDlgItem(IDC_USE_DEFECT))->GetCheck();
+		// 	CGlassResult* pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(0);
+		// 	pHistoryResult = m_pDDL2P->ISP2P_GetHistoryResult(GetSelectIndex());
+		SetHistoryTemp(GetSelectIndex());
+		SetAllDefect(bCheck);
+		m_pDlgDefectHistoryMap->SetHistoryDefect(bCheck);
+		m_pDlgDefectHistoryMap->UpdateProcessStatus(m_pHistoryTemp); //�뵒�럺 留� �몴�쁽
+		m_pDlgDefectHistory->UpdateProcessStatus(m_pHistoryTemp);
+	}
+	catch (...)
+	{
+		return;
+	}
+	/*< LYW 20211005 - #3662 ADD End >*/
 }
 
 
diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
index 6dc315e..aa133fc 100644
--- a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
+++ b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
@@ -3400,67 +3400,76 @@
 
 void CSequenceProcessor_CPJT::UpdateHistoryResultFromTransferData(CGlassResult *pHistoryResult, CGlassResult* pGlassResult)
 {
-	if (pHistoryResult == NULL || pGlassResult == NULL) return;
+	try
+	{
+		if (pHistoryResult == NULL || pGlassResult == NULL) return;
 
-	CTime time = CTime::GetCurrentTime();
+		CTime time = CTime::GetCurrentTime();
 
-	CString strTime = _T("");
-	strTime.Format(_T("%04d-%02d-%02d %02d:%02d:%02d"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
+		CString strTime = _T("");
+		strTime.Format(_T("%04d-%02d-%02d %02d:%02d:%02d"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
 
-	// update transfer data to glass result
-	pHistoryResult->m_nGlassSizeX = pGlassResult->m_nGlassSizeX;
-	pHistoryResult->m_nGlassSizeY = pGlassResult->m_nGlassSizeY;
-	pHistoryResult->m_nCollisionDistanceX = pGlassResult->m_nCollisionDistanceX;
-	pHistoryResult->m_nCollisionDistanceY = pGlassResult->m_nCollisionDistanceY;
-	pHistoryResult->m_nCollisionXPos1 = pGlassResult->m_nCollisionXPos1;
-	pHistoryResult->m_nCollisionXPos2 = pGlassResult->m_nCollisionXPos2;
-	pHistoryResult->m_nOriginDir = pGlassResult->m_nOriginDir;
-	pHistoryResult->m_strResultDate = pGlassResult->m_strResultDate;
-	pHistoryResult->m_vecReviewScheduleResult = pGlassResult->m_vecReviewScheduleResult;
-	pHistoryResult->m_nCornerCutDir = pGlassResult->m_nCornerCutDir;
-	pHistoryResult->m_bReadRawFile = pGlassResult->m_bReadRawFile;
-	pHistoryResult->m_vecReviewResult = pGlassResult->m_vecReviewResult;
-	pHistoryResult->m_strGlassLastName = pGlassResult->m_strGlassLastName;
-	pHistoryResult->m_strGlassID = pGlassResult->m_strGlassID;
-	pHistoryResult->m_strGlassCode = pGlassResult->m_strGlassCode;
-	pHistoryResult->m_strMode = pGlassResult->m_strMode;
-	pHistoryResult->m_strGlassType = pGlassResult->m_strGlassType;
-	pHistoryResult->m_strDummyType = pGlassResult->m_strDummyType;
-	pHistoryResult->m_strProdID = pGlassResult->m_strProdID;
-	pHistoryResult->m_strOperID = pGlassResult->m_strOperID;
-	pHistoryResult->m_strLotID = pGlassResult->m_strLotID;
-	pHistoryResult->m_strPPID = pGlassResult->m_strPPID;
-	pHistoryResult->m_strPPID_RC = pGlassResult->m_strPPID_RC;
-	pHistoryResult->m_strJobType = pGlassResult->m_strJobType;
-	pHistoryResult->m_strJobID = pGlassResult->m_strJobID;
-	pHistoryResult->m_strLotSeqNum = pGlassResult->m_strLotSeqNum;
-	pHistoryResult->m_strSlotSeqNum = pGlassResult->m_strSlotSeqNum;
-	pHistoryResult->m_strPropertyCode = pGlassResult->m_strPropertyCode;
-	pHistoryResult->m_strJobJudgeCode = pGlassResult->m_strJobJudgeCode;
-	pHistoryResult->m_strJobGradeCode = pGlassResult->m_strJobGradeCode;
-	pHistoryResult->m_strSubstrateType = pGlassResult->m_strSubstrateType;
-	pHistoryResult->m_strProcessingFlag = pGlassResult->m_strProcessingFlag;
-	pHistoryResult->m_strInspectionFlag = pGlassResult->m_strInspectionFlag;
-	pHistoryResult->m_strSkipFlag = pGlassResult->m_strSkipFlag;
-	pHistoryResult->m_strJobSize = pGlassResult->m_strJobSize;
-	pHistoryResult->m_strGlassThickness = pGlassResult->m_strGlassThickness;
-	pHistoryResult->m_strJobAngle = pGlassResult->m_strJobAngle;
-	pHistoryResult->m_strJobFlip = pGlassResult->m_strJobFlip;
-	pHistoryResult->m_strCuttingGlassType = pGlassResult->m_strCuttingGlassType;
-	pHistoryResult->m_strProcessingCount = pGlassResult->m_strProcessingCount;
-	pHistoryResult->m_strInspectionJudgeData = pGlassResult->m_strInspectionJudgeData;
-	pHistoryResult->m_strPairJobID = pGlassResult->m_strPairJobID;
-	pHistoryResult->m_strPairFlag = pGlassResult->m_strPairFlag;
-	pHistoryResult->m_strOptionValue = pGlassResult->m_strOptionValue;
-	pHistoryResult->m_strReserved = pGlassResult->m_strReserved;
-	pHistoryResult->strGlassScanSchedule = pGlassResult->strGlassScanSchedule;// cmark
-	pHistoryResult->m_strStepID = pGlassResult->m_strRTMSStepID; //taek 210126
-	pHistoryResult->m_strEquipID = pGlassResult->m_strEquipID;
-	pHistoryResult->m_strProcessID = pGlassResult->m_strProcessID;
-	pHistoryResult->m_strUploadImgFileName = pGlassResult->m_strUploadImgFileName;
-	pHistoryResult->m_strUnLoadingTime = strTime;
-	pHistoryResult->m_mapDefectResult = pGlassResult->m_mapDefectResult;
-	pHistoryResult->m_AlignResult = pGlassResult->m_AlignResult;
+		// update transfer data to glass result
+		pHistoryResult->m_nGlassSizeX = pGlassResult->m_nGlassSizeX;
+		pHistoryResult->m_nGlassSizeY = pGlassResult->m_nGlassSizeY;
+		pHistoryResult->m_nCollisionDistanceX = pGlassResult->m_nCollisionDistanceX;
+		pHistoryResult->m_nCollisionDistanceY = pGlassResult->m_nCollisionDistanceY;
+		pHistoryResult->m_nCollisionXPos1 = pGlassResult->m_nCollisionXPos1;
+		pHistoryResult->m_nCollisionXPos2 = pGlassResult->m_nCollisionXPos2;
+		pHistoryResult->m_nOriginDir = pGlassResult->m_nOriginDir;
+		pHistoryResult->m_strResultDate = pGlassResult->m_strResultDate;
+		pHistoryResult->m_vecReviewScheduleResult = pGlassResult->m_vecReviewScheduleResult;
+		pHistoryResult->m_nCornerCutDir = pGlassResult->m_nCornerCutDir;
+		pHistoryResult->m_bReadRawFile = pGlassResult->m_bReadRawFile;
+		pHistoryResult->m_vecReviewResult = pGlassResult->m_vecReviewResult;
+		pHistoryResult->m_strGlassLastName = pGlassResult->m_strGlassLastName;
+		pHistoryResult->m_strGlassID = pGlassResult->m_strGlassID;
+		pHistoryResult->m_strGlassCode = pGlassResult->m_strGlassCode;
+		pHistoryResult->m_strMode = pGlassResult->m_strMode;
+		pHistoryResult->m_strGlassType = pGlassResult->m_strGlassType;
+		pHistoryResult->m_strDummyType = pGlassResult->m_strDummyType;
+		pHistoryResult->m_strProdID = pGlassResult->m_strProdID;
+		pHistoryResult->m_strOperID = pGlassResult->m_strOperID;
+		pHistoryResult->m_strLotID = pGlassResult->m_strLotID;
+		pHistoryResult->m_strPPID = pGlassResult->m_strPPID;
+		pHistoryResult->m_strPPID_RC = pGlassResult->m_strPPID_RC;
+		pHistoryResult->m_strJobType = pGlassResult->m_strJobType;
+		pHistoryResult->m_strJobID = pGlassResult->m_strJobID;
+		pHistoryResult->m_strLotSeqNum = pGlassResult->m_strLotSeqNum;
+		pHistoryResult->m_strSlotSeqNum = pGlassResult->m_strSlotSeqNum;
+		pHistoryResult->m_strPropertyCode = pGlassResult->m_strPropertyCode;
+		pHistoryResult->m_strJobJudgeCode = pGlassResult->m_strJobJudgeCode;
+		pHistoryResult->m_strJobGradeCode = pGlassResult->m_strJobGradeCode;
+		pHistoryResult->m_strSubstrateType = pGlassResult->m_strSubstrateType;
+		pHistoryResult->m_strProcessingFlag = pGlassResult->m_strProcessingFlag;
+		pHistoryResult->m_strInspectionFlag = pGlassResult->m_strInspectionFlag;
+		pHistoryResult->m_strSkipFlag = pGlassResult->m_strSkipFlag;
+		pHistoryResult->m_strJobSize = pGlassResult->m_strJobSize;
+		pHistoryResult->m_strGlassThickness = pGlassResult->m_strGlassThickness;
+		pHistoryResult->m_strJobAngle = pGlassResult->m_strJobAngle;
+		pHistoryResult->m_strJobFlip = pGlassResult->m_strJobFlip;
+		pHistoryResult->m_strCuttingGlassType = pGlassResult->m_strCuttingGlassType;
+		pHistoryResult->m_strProcessingCount = pGlassResult->m_strProcessingCount;
+		pHistoryResult->m_strInspectionJudgeData = pGlassResult->m_strInspectionJudgeData;
+		pHistoryResult->m_strPairJobID = pGlassResult->m_strPairJobID;
+		pHistoryResult->m_strPairFlag = pGlassResult->m_strPairFlag;
+		pHistoryResult->m_strOptionValue = pGlassResult->m_strOptionValue;
+		pHistoryResult->m_strReserved = pGlassResult->m_strReserved;
+		pHistoryResult->strGlassScanSchedule = pGlassResult->strGlassScanSchedule;// cmark
+		pHistoryResult->m_strStepID = pGlassResult->m_strRTMSStepID; //taek 210126
+		pHistoryResult->m_strEquipID = pGlassResult->m_strEquipID;
+		pHistoryResult->m_strProcessID = pGlassResult->m_strProcessID;
+		pHistoryResult->m_strUploadImgFileName = pGlassResult->m_strUploadImgFileName;
+		pHistoryResult->m_strUnLoadingTime = strTime;
+		pHistoryResult->m_mapDefectResult = pGlassResult->m_mapDefectResult;
+		pHistoryResult->m_AlignResult = pGlassResult->m_AlignResult;
+	}
+	catch (...)
+	{
+		m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::Review End] UpdateHistoryResultFromTransferData Error"));
+		return;
+	}
+	
 }
 
 void CSequenceProcessor_CPJT::CreateResultDirectory(const CString& strGlassID, const CString& strDate)

--
Gitblit v1.9.3