From 1e64f6279358f5c838463497894e020857b37311 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 화, 21 12월 2021 09:37:24 +0900
Subject: [PATCH] Ongoing90 #3835 CF AOI Review Offset Grid 클릭시 해당 되는 결함 DefectMap표시

---
 ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp |  136 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 132 insertions(+), 4 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp
index 2b88f05..190b7db 100644
--- a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp
+++ b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp
@@ -25,6 +25,8 @@
 	, m_editGlassOffSetmodeScanIndex(0)
 	, m_editGlassOffSetmodeXpos(0)
 	, m_editGlassOffSetmodeYpos(0)
+	, m_dWarnStandard(0)
+	, m_dHardStandard(0)
 {
 	m_EditChangeTargetXpos = 0;
 	m_EditChangeTargetYpos = 0;
@@ -72,6 +74,8 @@
 	DDX_Text(pDX, IDC_EDIT_SCAN_INDEX, m_editGlassOffSetmodeScanIndex);
 	DDX_Text(pDX, IDC_EDIT_MOTOR_XPOS, m_editGlassOffSetmodeXpos);
 	DDX_Text(pDX, IDC_EDIT_MOTOR_YPOS, m_editGlassOffSetmodeYpos);
+	DDX_Text(pDX, IDC_EDIT_WARN_STANDARD, m_dWarnStandard);
+	DDX_Text(pDX, IDC_EDIT_HARD_STANDARD, m_dHardStandard);
 }
 
 
@@ -90,6 +94,7 @@
 	ON_MESSAGE(WM_OFFSETTOOL_MESSAGE2, OnUpdatedata)
 	ON_BN_CLICKED(IDC_BUTTON_SAVE_SETTING_FILE, &DlgReviewOffSetTool::OnBnClickedButtonSaveSettingFile)
 	ON_BN_CLICKED(IDC_CHECK_OFFSET_MODE, &DlgReviewOffSetTool::OnBnClickedCheckOffsetMode)
+	ON_BN_CLICKED(IDC_OFFSET_LOAD, &DlgReviewOffSetTool::OnBnClickedOffsetLoad)
 END_MESSAGE_MAP()
 
 
@@ -422,8 +427,10 @@
 	int nRow = 1;
 	int nCol = 1;
 	CString strData;
+	/*< LYW 20211111 - #3766 ADD Start >*/
+	BOOL b_checkHardAlarm = FALSE;
+	/*< LYW 20211111 - #3766 ADD End >*/
 
-	
 	nModuleidx = m_ctrlComboModule.GetCurSel();
 
 	for (int nCamidx = 0; nCamidx < m_nCameraCount; nCamidx++)
@@ -440,8 +447,39 @@
 
 				strData.Format(_T("%.03lf"), pOffSet.dXoffSetValue);
 				m_ctrlGridReviewOffSetInfo.SetItemText(nCol, nRow,strData);
+				/*< LYW 20211111 - #3766 ADD Start >*/
+				if (abs(pOffSet.dXoffSetValue) * 1000 >= m_dHardStandard)
+				{
+					m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 0, 0));
+					b_checkHardAlarm = TRUE;
+				}
+				else if (abs(pOffSet.dXoffSetValue) * 1000 >= m_dWarnStandard)
+				{
+					m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 255, 0));
+				}
+				else
+				{
+					m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 255, 210));
+				}
+				/*< LYW 20211111 - #3766 ADD End >*/
+
 				strData.Format(_T("%.03lf"), pOffSet.dYoffSetValue);
 				m_ctrlGridReviewOffSetInfo.SetItemText( nCol, nRow + 1, strData);
+				/*< LYW 20211111 - #3766 ADD Start >*/
+				if (abs(pOffSet.dYoffSetValue) * 1000 >= m_dHardStandard)
+				{
+					m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 0, 0));
+					b_checkHardAlarm = TRUE;
+				}
+				else if (abs(pOffSet.dYoffSetValue) * 1000 >= m_dWarnStandard)
+				{
+					m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 255, 0));
+				}
+				else
+				{
+					m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 255, 210));
+				}
+				/*< LYW 20211111 - #3766 ADD End >*/
 				nRow += 2;
 			}
 			nRow = 1;
@@ -450,7 +488,10 @@
 		}
 	}
 
-
+	if (b_checkHardAlarm == TRUE)
+	{
+		AfxMessageBox(_T("湲곗� 珥덇낵�맂 Offset 媛믪씠 議댁옱 �빀�땲�떎."), MB_OK | MB_ICONINFORMATION);
+	}
 	//UpdateData(FALSE);
 	//Invalidate(TRUE);
 }
@@ -869,12 +910,17 @@
 		pDlgOffsetTool->InitProcess();
 		pDlgOffsetTool->EnableBT();
 	}
-	else
+	else if(pDlgOffsetTool->nThreadType == 1)
 	{
 		pDlgOffsetTool->DissableBT();
 		pDlgOffsetTool->SaveConfigFile();
 		pDlgOffsetTool->EnableBT();
-
+	}
+	else
+	{
+		pDlgOffsetTool->DissableBT();
+		pDlgOffsetTool->OffsetLoad();
+		pDlgOffsetTool->EnableBT();
 	}
 	return 0;
 }
@@ -914,6 +960,10 @@
 	macroFile.GetItem(_T("CAMERA_COUNT"),m_nCameraCount , 0);
 	macroFile.GetItem(_T("SCAN_COUNT"), m_nScanCount, 0);
 	macroFile.GetItem(_T("XPOS_COUNT"), m_XposCount, 0);
+	/*< LYW 20211111 - #3766 ADD Start >*/
+	macroFile.GetItem(_T("WARN_STANDARD"), m_dWarnStandard, 0);
+	macroFile.GetItem(_T("HARD_STANDARD"), m_dHardStandard, 0);
+	/*< LYW 20211111 - #3766 ADD End >*/
 	CString strItem = _T("");
 	double dXoffset=0;
 	double dYoffset=0;
@@ -992,6 +1042,14 @@
 	strItem.Format(_T("XPOS_COUNT"));
 	macroFile.SetItem(strItem, m_XposCount);
 
+	/*< LYW 20211111 - #3766 ADD Start >*/
+	strItem.Format(_T("WARN_STANDARD"));
+	macroFile.SetItem(strItem, m_dWarnStandard);
+
+	strItem.Format(_T("HARD_STANDARD"));
+	macroFile.SetItem(strItem, m_dHardStandard);
+	/*< LYW 20211111 - #3766 ADD End >*/
+
 	
 	CString strData;
 	double dData= 0;
@@ -1033,6 +1091,22 @@
 
 	bReturn = macroFile.Write(strFilePath);
 
+
+	// #3563 LYW_ CF AOI Review Offset �뙆�씪誘명꽣 ���옣�떆 �셿猷� �뙘�뾽 異붽� ADD START
+	CString strMessage;
+	strMessage.Format(_T("Save Offset Success!!"));
+
+	if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONINFORMATION))
+	{
+		g_pLog->DisplayMessage(_T("Save Offset Success!!"));
+	}
+	// #3563 LYW_ CF AOI Review Offset �뙆�씪誘명꽣 ���옣�떆 �셿猷� �뙘�뾽 異붽� ADD END
+	/*< LYW 20211111 - #3766 ADD Start >*/
+	UpdateGridcontrol();
+	UpdateData(TRUE);
+	Invalidate(FALSE);
+	/*< LYW 20211111 - #3766 ADD End >*/
+
 	return bReturn;
 }
 
@@ -1055,6 +1129,14 @@
 
 LRESULT DlgReviewOffSetTool::OnUserFunc(WPARAM wParam, LPARAM lParam)
 {
+	int nmsg = (int)wParam;
+	if (nmsg == 0)
+	{
+		nThreadType = 2;
+		m_ctrlProcessBar.SetPos(0);
+		m_pThread = AfxBeginThread(ThradProcess, this);
+		return 0;
+	}
 	UpdateData(FALSE);
 	Invalidate(TRUE);
 	return 0;
@@ -1087,3 +1169,49 @@
 	 
 	
 }
+
+/*< LYW 20211025 - #3684 ADD Start >*/
+void DlgReviewOffSetTool::OnBnClickedOffsetLoad()
+{
+	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
+	nThreadType = 2;
+	m_ctrlProcessBar.SetPos(0);
+	m_pThread = AfxBeginThread(ThradProcess, this);
+}
+void DlgReviewOffSetTool::OffsetLoad()
+{
+	ReadConfigFile();
+	UpdateGridcontrol();
+	UpdateData(TRUE);
+	Invalidate(FALSE);
+}
+/*< LYW 20211025 - #3684 ADD End >*/
+
+
+BOOL DlgReviewOffSetTool::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
+{
+	// TODO: �뿬湲곗뿉 �듅�닔�솕�맂 肄붾뱶瑜� 異붽� 諛�/�삉�뒗 湲곕낯 �겢�옒�뒪瑜� �샇異쒗빀�땲�떎.
+	if (m_ctrlGridReviewOffSetInfo.GetSafeHwnd() && wParam == (WPARAM)m_ctrlGridReviewOffSetInfo.GetDlgCtrlID())
+	{
+		//*pResult = 1;
+		GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam;
+		if (NM_DBLCLK == pDispInfo->hdr.code)
+		{
+			//int nCol = pDispInfo->item.col;
+			if (pDispInfo->item.row)
+			{
+				int nRow = (pDispInfo->item.row) - 1;
+				int CamIdx = nRow / m_nScanCount;
+				int scanIdx = nRow % m_nScanCount;
+
+				if (m_pDDL2P)
+				{
+					m_pDDL2P->IDRO2P_SetOffsetPram(CamIdx, scanIdx, TRUE);
+				}
+
+			}
+		}
+	}
+
+	return CDialogEx::OnNotify(wParam, lParam, pResult);
+}

--
Gitblit v1.9.3