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/DlgDefectFilter.cpp                       |   14 ++-
 ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp                   |   29 +++++++
 ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp       |   37 ++++++++-
 ReviewSystem/include/CHReviewRecipe/RcpPriorityInfo.h               |    2 
 ReviewSystem/CHReviewPrioritySorter/PrioritySorter_CPJT.cpp         |   18 ++-
 ReviewSystem/ReviewSystem/ModuleStatus.h                            |    4 +
 ReviewSystem/ReviewSystem/ReviewInterface.cpp                       |    8 ++
 ReviewSystem/ReviewSystem/DefectMap.h                               |    9 +
 ReviewSystem/include/CHReviewResult/DefectResult.h                  |    2 
 /dev/null                                                           |    0 
 ReviewSystem/ReviewSystem/ReviewInterface.h                         |    1 
 ReviewSystem/ReviewSystem/DlgReviewOffSetTool.h                     |    2 
 ReviewSystem/ReviewRecipeEditor/DlgReview.cpp                       |    3 
 ReviewSystem/ReviewSystem/DefectMap.cpp                             |   88 ++++++++++++++++++++-
 ReviewSystem/include/CHReviewResultParser/ParsingGlassResult_CPJT.h |    2 
 15 files changed, 190 insertions(+), 29 deletions(-)

diff --git a/ReviewSystem/CHDefectPicker/Debug/defectpicker.obj.enc b/ReviewSystem/CHDefectPicker/Debug/defectpicker.obj.enc
deleted file mode 100644
index 1b265fb..0000000
--- a/ReviewSystem/CHDefectPicker/Debug/defectpicker.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/CHDefectPicker/Debug/defectpicker_range.obj.enc b/ReviewSystem/CHDefectPicker/Debug/defectpicker_range.obj.enc
deleted file mode 100644
index 58aa40b..0000000
--- a/ReviewSystem/CHDefectPicker/Debug/defectpicker_range.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/CHReviewPrioritySorter/Debug/prioritysorter_cpjt.obj.enc b/ReviewSystem/CHReviewPrioritySorter/Debug/prioritysorter_cpjt.obj.enc
deleted file mode 100644
index 64ae3d4..0000000
--- a/ReviewSystem/CHReviewPrioritySorter/Debug/prioritysorter_cpjt.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/CHReviewPrioritySorter/PrioritySorter_CPJT.cpp b/ReviewSystem/CHReviewPrioritySorter/PrioritySorter_CPJT.cpp
index a30e289..61db76e 100644
--- a/ReviewSystem/CHReviewPrioritySorter/PrioritySorter_CPJT.cpp
+++ b/ReviewSystem/CHReviewPrioritySorter/PrioritySorter_CPJT.cpp
@@ -662,34 +662,38 @@
 		{
 			if (pDefectResult->nJudgeType != 4) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_PT)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_ND)
 		{
 			if (pDefectResult->nJudgeType != 5) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Review)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_PT)
 		{
 			if (pDefectResult->nJudgeType != 6) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_RC)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Review)
 		{
 			if (pDefectResult->nJudgeType != 7) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Size)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_RC)
 		{
 			if (pDefectResult->nJudgeType != 8) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_VI)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Size)
 		{
 			if (pDefectResult->nJudgeType != 9) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Rework)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_VI)
 		{
 			if (pDefectResult->nJudgeType != 10) { return FALSE; }
 		}
-		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Unknown)
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Rework)
 		{
 			if (pDefectResult->nJudgeType != 11) { return FALSE; }
 		}
+		else if (pPriorityInfo->GetPriorityGradeData() == RCP_PRIORITY_Judge_Unknown)
+		{
+			if (pDefectResult->nJudgeType != 12) { return FALSE; }
+		}
 		
 	}
 	//RCP_PRIORITY_ORDER_ALL,RCP_PRIORITY_ORDER_NONE_STACK,RCP_PRIORITY_ORDER_STACK
diff --git a/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp b/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp
index 605df49..dd1ad6f 100644
--- a/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp
+++ b/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp
@@ -1145,6 +1145,8 @@
 			break;
 		case Judge_PR:			sStr.Format("PR");
 			break;
+		case Judge_ND:			sStr.Format("ND");
+			break;
 		case Judge_PT:			sStr.Format("PT");
 			break;
 		case Judge_Review:		sStr.Format("RV");
@@ -1414,7 +1416,10 @@
 		//g_pLog->DisplayMessage(_T("AOIImageName : \n"), pSharedDefect->m_strAoiImageName);
 		
 		pDefectResult->strInspectImgFileName = pSharedDefect->m_strAoiImageName;
-		pDefectResult->nDefectWBType		=	int(pSharedDefect->m_DefectBDType);
+		/*< LYW 20211220 - #0000 ADD Start >*/
+		//踰꾧렇 �닔�젙
+		pDefectResult->nDefectWBType		=	int(pSharedDefect->m_DefectType);
+		/*< LYW 20211220 - #0000 ADD End >*/
 		
 		if(pDefectResult->nDefectWBType == 1 || pDefectResult->nDefectWBType == 3 || pDefectResult->nDefectWBType ==5)	pDefectResult->nDefectWBType =2;
 		else	pDefectResult->nDefectWBType = 1;
@@ -1453,14 +1458,15 @@
 		//占쏙옙티 占쏜델븝옙 Review/WSI 占쏙옙占싶몌옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙
 		pDefectResult->nMultiModel          = pSharedDefect->m_nModelIdx;
 
-		if (pSharedDefect->m_DefectBDType == 1)
+		/*< LYW 20211220 - #$0000 MOD Start >*/
+		if (pDefectResult->nDefectWBType == 1)
 		{
 			//Dark
 			pDefectResult->nOpticType = 2;
 			pDefectResult->nGrayType = 1;
 			pDefectResult->strOpticType = _T("DARK");
 		}
-		else if (pSharedDefect->m_DefectBDType == 0)
+		else if (pDefectResult->nDefectWBType == 2)
 		{
 			//White
 			pDefectResult->nOpticType = 1;
@@ -1474,6 +1480,29 @@
 			pDefectResult->nGrayType = 1;
 			pDefectResult->strOpticType = _T("BOTH");
 		}
+		/*< LYW 20211220 - #0000 MOD End >*/
+		/*< Origin Code >*/
+// 		if (pSharedDefect->m_DefectBDType == 1)
+// 		{
+// 			//Dark
+// 			pDefectResult->nOpticType = 2;
+// 			pDefectResult->nGrayType = 1;
+// 			pDefectResult->strOpticType = _T("DARK");
+// 		}
+// 		else if (pSharedDefect->m_DefectBDType == 0)
+// 		{
+// 			//White
+// 			pDefectResult->nOpticType = 1;
+// 			pDefectResult->nGrayType = 2;
+// 			pDefectResult->strOpticType = _T("WHITE");
+// 		}
+// 		else
+// 		{
+// 			//both
+// 			pDefectResult->nOpticType = 3;
+// 			pDefectResult->nGrayType = 1;
+// 			pDefectResult->strOpticType = _T("BOTH");
+// 		}
 
 	
 
@@ -1548,7 +1577,7 @@
 		CString strCellID(pDitRawClient->GetCellData(pSharedDefect->m_nCellIdx)->m_strCellName);
 		pDefectResult->strCellID = strCellID;
 
-		pDefectResult->nGrayType	= 1;	// Imsi
+		//pDefectResult->nGrayType	= 1;	// Imsi
 		pDefectResult->nOpticType	= 1;			
 		pDefectResult->nTotalDefectCount	= nTotalDefectIdx;
 		pDefectResult->ProcessID    = pDitRawClient->GetGlassData()->m_strOperID;
diff --git a/ReviewSystem/ReviewRecipeEditor/DlgReview.cpp b/ReviewSystem/ReviewRecipeEditor/DlgReview.cpp
index 20ef737..dd80cba 100644
--- a/ReviewSystem/ReviewRecipeEditor/DlgReview.cpp
+++ b/ReviewSystem/ReviewRecipeEditor/DlgReview.cpp
@@ -1488,6 +1488,9 @@
 				case RCP_PRIORITY_Judge_PR:
 					strTemp.Format(_T("PR"));
 					break;
+				case RCP_PRIORITY_Judge_ND:
+					strTemp.Format(_T("ND"));
+					break;
 				case RCP_PRIORITY_Judge_PT:
 					strTemp.Format(_T("PT"));
 					break;
diff --git a/ReviewSystem/ReviewSystem/Debug/cameracontrolalign.obj.enc b/ReviewSystem/ReviewSystem/Debug/cameracontrolalign.obj.enc
deleted file mode 100644
index df7fe26..0000000
--- a/ReviewSystem/ReviewSystem/Debug/cameracontrolalign.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/cameracontroller.obj.enc b/ReviewSystem/ReviewSystem/Debug/cameracontroller.obj.enc
deleted file mode 100644
index 194a9c0..0000000
--- a/ReviewSystem/ReviewSystem/Debug/cameracontroller.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/defectmap.obj.enc b/ReviewSystem/ReviewSystem/Debug/defectmap.obj.enc
deleted file mode 100644
index 87ae92f..0000000
--- a/ReviewSystem/ReviewSystem/Debug/defectmap.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgcontrol.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgcontrol.obj.enc
deleted file mode 100644
index 3282030..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgcontrol.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgdefectfilter.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgdefectfilter.obj.enc
deleted file mode 100644
index 81aef6c..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgdefectfilter.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgdefecthistorymap.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgdefecthistorymap.obj.enc
deleted file mode 100644
index 4c53239..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgdefecthistorymap.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgdefectinfo.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgdefectinfo.obj.enc
deleted file mode 100644
index a130093..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgdefectinfo.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgdefectlist.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgdefectlist.obj.enc
deleted file mode 100644
index 3c73710..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgdefectlist.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgdeffecthistroy.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgdeffecthistroy.obj.enc
deleted file mode 100644
index 182148d..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgdeffecthistroy.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlglogo.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlglogo.obj.enc
deleted file mode 100644
index d0f02e5..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlglogo.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlglongrun.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlglongrun.obj.enc
deleted file mode 100644
index e07b14a..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlglongrun.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/dlgreviewhistorytool.obj.enc b/ReviewSystem/ReviewSystem/Debug/dlgreviewhistorytool.obj.enc
deleted file mode 100644
index 4b224dd..0000000
--- a/ReviewSystem/ReviewSystem/Debug/dlgreviewhistorytool.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/mainfrm.obj.enc b/ReviewSystem/ReviewSystem/Debug/mainfrm.obj.enc
deleted file mode 100644
index 7b861f8..0000000
--- a/ReviewSystem/ReviewSystem/Debug/mainfrm.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/reviewinterface.obj.enc b/ReviewSystem/ReviewSystem/Debug/reviewinterface.obj.enc
deleted file mode 100644
index 3af8af8..0000000
--- a/ReviewSystem/ReviewSystem/Debug/reviewinterface.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/reviewsystem.obj.enc b/ReviewSystem/ReviewSystem/Debug/reviewsystem.obj.enc
deleted file mode 100644
index c53b240..0000000
--- a/ReviewSystem/ReviewSystem/Debug/reviewsystem.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/reviewsystemview.obj.enc b/ReviewSystem/ReviewSystem/Debug/reviewsystemview.obj.enc
deleted file mode 100644
index 39de36f..0000000
--- a/ReviewSystem/ReviewSystem/Debug/reviewsystemview.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/sequenceprocessor.obj.enc b/ReviewSystem/ReviewSystem/Debug/sequenceprocessor.obj.enc
deleted file mode 100644
index 4534fe1..0000000
--- a/ReviewSystem/ReviewSystem/Debug/sequenceprocessor.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/Debug/sequenceprocessor_cpjt.obj.enc b/ReviewSystem/ReviewSystem/Debug/sequenceprocessor_cpjt.obj.enc
deleted file mode 100644
index 2dd7fb8..0000000
--- a/ReviewSystem/ReviewSystem/Debug/sequenceprocessor_cpjt.obj.enc
+++ /dev/null
Binary files differ
diff --git a/ReviewSystem/ReviewSystem/DefectMap.cpp b/ReviewSystem/ReviewSystem/DefectMap.cpp
index 249d9f0..db2f55e 100644
--- a/ReviewSystem/ReviewSystem/DefectMap.cpp
+++ b/ReviewSystem/ReviewSystem/DefectMap.cpp
@@ -77,11 +77,14 @@
 	m_RowColor[2]		= RGB(220,20,220);
 	m_RowColor[3]		= RGB(20,220,220);
 	m_RowColor[4]       = RGB(220, 20, 80);
-	for (int i=0; i<5; i++)
+	m_RowColor[5]		= RGB(255, 128, 0);
+	for (int i=0; i<6; i++)
 	{
 		m_pDefectPen[i].CreatePen(PS_SOLID, 1, m_RowColor[i]); 
 		m_pDefectBrush[i].CreateSolidBrush(m_RowColor[i]); 
 	}
+// 	m_pOffsetPen.CreatePen(PS_SOLID, 1, RGB(100, 200, 80));
+// 	m_pOffsetBrush.CreateSolidBrush(RGB(100, 200, 80));
 
 	m_nPlanIndex		= 0;
 	m_bHistoryEnable = TRUE;
@@ -491,6 +494,28 @@
 	 nCamSacnIndex = nScanidx;
 	 nGlassMax = nXpos;
 	 nGlassMin = nYpos;
+}
+
+void CDefectMap::SetOffsetparm(int nCamidx, int nScanidx, BOOL bUse)
+{
+	CDC *MemDC = GetDC();
+
+	nOffSetMode = bUse;
+	nCamIndex = nCamidx;
+	nCamSacnIndex = nScanidx;
+
+	if (bUse == TRUE)
+	{
+		DrawDefect(MemDC);
+		DrawReviewDefect(MemDC);
+		//DrawWsiDefect(&MemDC);
+	}
+
+	nOffSetMode = FALSE;
+	nCamIndex = -1;
+	nCamSacnIndex = -1;
+
+	//Invalidate(TRUE);
 }
 
 void CDefectMap::OnPaint()
@@ -1585,7 +1610,7 @@
 			return 3;
 		}
 		break;
-
+		//蹂�寃� �븘�슂
 	case DefectType_Judge:
 		if (defectFilter.bJudgeOK && (pDefectResult->nJudgeType == DEFECT_JUDGE_CPJT_OK))
 		{
@@ -1600,6 +1625,11 @@
 		if (defectFilter.bJudgePR && (pDefectResult->nJudgeType == DEFECT_JUDGE_CPJT_PR))
 		{
 			return 2;
+		}
+
+		if (defectFilter.bJudgeND && (pDefectResult->nJudgeType == DEFECT_JUDGE_CPJT_ND))
+		{
+			return 3;
 		}
 		break;
 
@@ -1737,6 +1767,11 @@
 		{
 			return 2;
 		}
+
+		if (defectFilter.bJudgeND)
+		{
+			return 3;
+		}
 		break;
 
 	case DefectType_Process:
@@ -1818,13 +1853,36 @@
 			continue;
 		}
 
-		pOldPen = pDC->SelectObject(&m_pDefectPen[nColorIdx]);
-		pDC->SelectStockObject(BLACK_PEN);
-		pOldBrush = pDC->SelectObject(&m_pDefectBrush[nColorIdx]);
+		if (nOffSetMode == TRUE)
+		{
+			if (pDefectResult->nAOICameraIdx == nCamIndex && pDefectResult->nAOIScanIdx == nCamSacnIndex)
+			{
+				pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+				//pDC->SelectStockObject(BLACK_PEN);
+				pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+			}
+			else
+			{
+				pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+				pDC->SelectStockObject(BLACK_PEN);
+				pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+				pDC->SelectStockObject(BLACK_BRUSH);
+			}
+
+		}
+
+		else
+		{
+			pOldPen = pDC->SelectObject(&m_pDefectPen[nColorIdx]);
+			pDC->SelectStockObject(BLACK_PEN);
+			pOldBrush = pDC->SelectObject(&m_pDefectBrush[nColorIdx]);
+		}
 
 		nPosX = pDefectResult->nUMOriginX;
 		nPosY = pDefectResult->nUMOriginY;
 		TransformGlass2Map(nPosX, nPosY);
+
+
 
 		pDC->Rectangle(nPosX - m_nDefectSize, nPosY - m_nDefectSize, nPosX + m_nDefectSize, nPosY + m_nDefectSize);
 	}
@@ -2226,7 +2284,25 @@
 
 		for(constVectorSReviewResultIt its=pReviewResult->m_vecSReviewResult.begin(); its!=pReviewResult->m_vecSReviewResult.end();its++)
 		{
-			if(its->nResultCode > ReviewResult_Process_Fail)
+			if (nOffSetMode == TRUE)
+			{
+				if (its->nAOICameraIdx == nCamIndex && its->nAOIScanIdx == nCamSacnIndex)
+				{
+					pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+					//pDC->SelectStockObject(BLACK_PEN);
+					pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+					//pDC->SelectStockObject(BLACK_BRUSH);
+				}
+				else
+				{
+					pOldPen = pDC->SelectObject(&m_pDefectPen[5]);
+					pDC->SelectStockObject(BLACK_PEN);
+					pOldBrush = pDC->SelectObject(&m_pDefectBrush[5]);
+					pDC->SelectStockObject(BLACK_BRUSH);
+				}
+
+			}
+			else if(its->nResultCode > ReviewResult_Process_Fail)
 			{
 				pOldPen = pDC->SelectObject(&reviewedPen);
 				pOldBrush = pDC->SelectObject(&reviewedBrush);
diff --git a/ReviewSystem/ReviewSystem/DefectMap.h b/ReviewSystem/ReviewSystem/DefectMap.h
index e5e2825..17b035a 100644
--- a/ReviewSystem/ReviewSystem/DefectMap.h
+++ b/ReviewSystem/ReviewSystem/DefectMap.h
@@ -214,9 +214,11 @@
 	const CGlassResult*			m_pGlassResult;
 	const VectorReviewResult*	m_pVecReviewResult;
 	
-	COLORREF					m_RowColor[5];
-	CBrush						m_pDefectBrush[5];
-	CPen						m_pDefectPen[5];
+	COLORREF					m_RowColor[6];
+	CBrush						m_pDefectBrush[6];
+	CPen						m_pDefectPen[6];
+	//CPen						m_pOffsetPen;
+	//CBrush						m_pOffsetBrush;
 
 	CPoint				m_pMousePt;
 	CPoint				m_pMouseDwPt;
@@ -244,6 +246,7 @@
 
 public:
 	void SetOffsetmodeparma(BOOL bMode, int nCamidx, int nScanidx, double nXpos, double nYpos);
+	void SetOffsetparm(int nCamidx, int nScanidx, BOOL bUse);
 		BOOL nOffSetMode;
 		int nGlassMax;
 		int nGlassMin;
diff --git a/ReviewSystem/ReviewSystem/DlgDefectFilter.cpp b/ReviewSystem/ReviewSystem/DlgDefectFilter.cpp
index c3ecddf..df47373 100644
--- a/ReviewSystem/ReviewSystem/DlgDefectFilter.cpp
+++ b/ReviewSystem/ReviewSystem/DlgDefectFilter.cpp
@@ -450,7 +450,7 @@
 		m_CheckValue[0] = m_sDefectFilter.bJudgeOK;
 		m_CheckValue[1] = m_sDefectFilter.bJudgeTR;
 		m_CheckValue[2] = m_sDefectFilter.bJudgePR;
-		m_CheckValue[3] = 0;
+		m_CheckValue[3] = m_sDefectFilter.bJudgeND;
 		break;
 
 	case DefectType_Process:
@@ -551,17 +551,17 @@
 
 	// col 1
 	int nRowIdx = 0;
-	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("O"));
+	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("OK"));
 	m_ctrlGridDefectFilter.SetItemText(nRowIdx++,	2, _T("OK Defect"));
 
-	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("R"));
+	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("TR"));
 	m_ctrlGridDefectFilter.SetItemText(nRowIdx++,	2, _T("TR Defect"));
 
-	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("X"));
+	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("PR"));
 	m_ctrlGridDefectFilter.SetItemText(nRowIdx++,	2, _T("PR Defect"));
 
-	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T(""));
-	m_ctrlGridDefectFilter.SetItemText(nRowIdx++,	2, _T(""));
+	m_ctrlGridDefectFilter.SetItemText(nRowIdx,	1, _T("ND"));
+	m_ctrlGridDefectFilter.SetItemText(nRowIdx++,	2, _T("ND Defect"));
 }
 
 void CDlgDefectFilter::FillGridDefectFilterStack()
@@ -647,6 +647,7 @@
 	m_ctrlGridDefectFilter.SetItemText(nRowIdx++, 2, _T(""));
 }
 
+//蹂�寃� �븘�슂
 void CDlgDefectFilter::FillGridDefectFilterGray()
 {
 	for (int i=0; i<4; i++)
@@ -770,6 +771,7 @@
 		m_sDefectFilter.bJudgeOK = m_CheckValue[0];
 		m_sDefectFilter.bJudgeTR = m_CheckValue[1];
 		m_sDefectFilter.bJudgePR = m_CheckValue[2];
+		m_sDefectFilter.bJudgeND = m_CheckValue[3];
 		break;
 
 	case DefectType_Process:
diff --git a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp
index ce980fa..190b7db 100644
--- a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp
+++ b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.cpp
@@ -1186,3 +1186,32 @@
 	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);
+}
diff --git a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.h b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.h
index 625b363..2833e9a 100644
--- a/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.h
+++ b/ReviewSystem/ReviewSystem/DlgReviewOffSetTool.h
@@ -34,6 +34,7 @@
 
 	virtual BOOL IDRO2P_GetMotorPos(int nModule, double &dXpos, double &dYpos)= 0;
 	virtual BOOL IDRO2P_SetGlassMode(BOOL bMode, int nCamidx, int nScanidx, double nXpos, double nYpos) = 0;
+	virtual BOOL IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse = 0) = 0;
 	//virtual const CSystemInfo*  SP2P_System_GetSystemInfo()= 0;
 	//virtual const CMotorControlInfo*	ISP2P_System_GetMotorInfo() = 0;
 };
@@ -192,4 +193,5 @@
 	double m_dWarnStandard;
 	double m_dHardStandard;
 	/*< LYW 20211111 - #3766 ADD End >*/
+	virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
 };
diff --git a/ReviewSystem/ReviewSystem/ModuleStatus.h b/ReviewSystem/ReviewSystem/ModuleStatus.h
index a63f09a..76eaba6 100644
--- a/ReviewSystem/ReviewSystem/ModuleStatus.h
+++ b/ReviewSystem/ReviewSystem/ModuleStatus.h
@@ -54,6 +54,7 @@
 		bJudgeOK		= TRUE;
 		bJudgeTR		= TRUE;
 		bJudgePR		= TRUE;
+		bJudgeND		= TRUE;
 
 		bProcessNormal	= TRUE;
 		bProcessMask	= TRUE;
@@ -96,6 +97,9 @@
 	BOOL bJudgeOK;
 	BOOL bJudgeTR;
 	BOOL bJudgePR;
+	/*< LYW 20211220 - #0000 ADD Start >*/
+	BOOL bJudgeND;
+	/*< LYW 20211220 - #0000 ADD End >*/
 
 	BOOL bProcessNormal;
 	BOOL bProcessMask;
diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
index c5a29d6..9d3b085 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -3508,6 +3508,14 @@
 	return FALSE;
 }
 
+BOOL CReviewInterface::IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse)
+{
+	CDlgDefectMap* pDefectmap = m_pView->GetDefectMapDlgHandle();
+	if (pDefectmap == NULL) { return FALSE; }
+	pDefectmap->GetDefectMap()->SetOffsetparm(nCamIdx, nScanIdx, bUse);
+	return FALSE;
+}
+
 // diagnosis processor
 void CReviewInterface::IDP2P_DisplayMessage(int nIndex, const TCHAR* lpstrFormat, ...)
 {
diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h
index 8323476..20ace29 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.h
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.h
@@ -295,6 +295,7 @@
 	virtual BOOL GetOffSetValue(int nModule, int nCam, int nScan, double dGlassXPos, double &dXpos, double &dYpos);
 
 	virtual BOOL IDRO2P_SetGlassMode(BOOL bMode, int nCamidx, int nScanidx, double nXpos, double nYpos);
+	virtual BOOL IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse = 0);
 
 
 protected: // Sequence Processor
diff --git a/ReviewSystem/include/CHReviewRecipe/RcpPriorityInfo.h b/ReviewSystem/include/CHReviewRecipe/RcpPriorityInfo.h
index 30c085d..439f10d 100644
--- a/ReviewSystem/include/CHReviewRecipe/RcpPriorityInfo.h
+++ b/ReviewSystem/include/CHReviewRecipe/RcpPriorityInfo.h
@@ -21,7 +21,7 @@
 enum RECIPE_PRIORITY_CSOT_STACK_TYPE		{ RCP_PRIORITY_STACK_ALL = 0, RCP_PRIORITY_STACK_NONE_STACK, RCP_PRIORITY_STACK,RCP_PRIORITY_STACK_REVIEWED,RCP_PRIORITY_STACK_COUNT};
 
 enum RECIPE_PRIORITY_CPJT_JUDGEMENT {
-	RCP_PRIORITY_Judge_ALL = 0, RCP_PRIORITY_Judge_OK, RCP_PRIORITY_Judge_RP, RCP_PRIORITY_Judge_NG, RCP_PRIORITY_Judge_TR, RCP_PRIORITY_Judge_PR, RCP_PRIORITY_Judge_PT, RCP_PRIORITY_Judge_Review, RCP_PRIORITY_Judge_RC, RCP_PRIORITY_Judge_Size, RCP_PRIORITY_Judge_VI, RCP_PRIORITY_Judge_Rework, RCP_PRIORITY_Judge_Unknown, RCP_PRIORITY_GRADE_COUNT
+	RCP_PRIORITY_Judge_ALL = 0, RCP_PRIORITY_Judge_OK, RCP_PRIORITY_Judge_RP, RCP_PRIORITY_Judge_NG, RCP_PRIORITY_Judge_TR, RCP_PRIORITY_Judge_PR, RCP_PRIORITY_Judge_ND, RCP_PRIORITY_Judge_PT, RCP_PRIORITY_Judge_Review, RCP_PRIORITY_Judge_RC, RCP_PRIORITY_Judge_Size, RCP_PRIORITY_Judge_VI, RCP_PRIORITY_Judge_Rework, RCP_PRIORITY_Judge_Unknown, RCP_PRIORITY_GRADE_COUNT
 };
 
 enum RECIPE_PRIORITY_CPJT_DEFECTCODE_TYPE {
diff --git a/ReviewSystem/include/CHReviewResult/DefectResult.h b/ReviewSystem/include/CHReviewResult/DefectResult.h
index b17a00f..f6306de 100644
--- a/ReviewSystem/include/CHReviewResult/DefectResult.h
+++ b/ReviewSystem/include/CHReviewResult/DefectResult.h
@@ -17,7 +17,7 @@
 	enum DefectSizeType			{ DEFECT_SIZE_NONE = 0, DEFECT_SIZE_SMALL, DEFECT_SIZE_MEDIUM, DEFECT_SIZE_LARGE, DEFECT_SIZE_HUGE };
 	enum DefectJudgeType		{ DEFECT_JUDGE_NONE = 0, DEFECT_JUDGE_OK, DEFECT_JUDGE_TR, DEFECT_JUDGE_PR};
 	enum DefectJudgeType_CPJT {
-		DEFECT_JUDGE_CPJT_OK = 0, DEFECT_JUDGE_CPJT_RP, DEFECT_JUDGE_CPJT_NG, DEFECT_JUDGE_CPJT_TR, DEFECT_JUDGE_CPJT_PR, DEFECT_JUDGE_CPJT_PT, DEFECT_JUDGE_CPJT_Review, DEFECT_JUDGE_CPJT_RC, DEFECT_JUDGE_CPJT_Size, DEFECT_JUDGE_CPJT_VI, DEFECT_JUDGE_CPJT_Rework, DEFECT_JUDGE_CPJT_Unknown, DEFECT_JUDGE_CPJT_GRADE_COUNT
+		DEFECT_JUDGE_CPJT_OK = 0, DEFECT_JUDGE_CPJT_RP, DEFECT_JUDGE_CPJT_NG, DEFECT_JUDGE_CPJT_TR, DEFECT_JUDGE_CPJT_PR, DEFECT_JUDGE_CPJT_ND, DEFECT_JUDGE_CPJT_PT, DEFECT_JUDGE_CPJT_Review, DEFECT_JUDGE_CPJT_RC, DEFECT_JUDGE_CPJT_Size, DEFECT_JUDGE_CPJT_VI, DEFECT_JUDGE_CPJT_Rework, DEFECT_JUDGE_CPJT_Unknown, DEFECT_JUDGE_CPJT_GRADE_COUNT
 	};
 	enum DefectSubType			{ DEFECT_SUBTYPE_NONE = 0, DEFECT_SUBTYPE_NR, DEFECT_SUBTYPE_MD, DEFECT_SUBTYPE_CD, DEFECT_SUBTYPE_MC };
 	enum DefectProcessType		{ DEFECT_PROCESS_NONE = 0, DEFECT_PROCESS_NORMAL, DEFECT_PROCESS_MASK, DEFECT_PROCESS_COMMON, DEFECT_PROCESS_CRACK };
diff --git a/ReviewSystem/include/CHReviewResultParser/ParsingGlassResult_CPJT.h b/ReviewSystem/include/CHReviewResultParser/ParsingGlassResult_CPJT.h
index d803357..8c236d8 100644
--- a/ReviewSystem/include/CHReviewResultParser/ParsingGlassResult_CPJT.h
+++ b/ReviewSystem/include/CHReviewResultParser/ParsingGlassResult_CPJT.h
@@ -6,7 +6,7 @@
 
 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_PT, Judge_Review, Judge_RC, Judge_Size, Judge_VI, Judge_Rework, Judge_Unknown };
+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")

--
Gitblit v1.9.3