From 65d45cae3268e08a78362b608711f70483a087c0 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 수, 09 6월 2021 10:52:38 +0900
Subject: [PATCH] Ongoing50 #3428 CF AOI Review Recipe Editor 리뷰 우선순위 조건 타입 변경기능 적용 및 검증 - 우선 순위 조건 Defect Type -> Defecct Code 변경

---
 ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp |   78 +++++++++++++++++++++-----------------
 1 files changed, 43 insertions(+), 35 deletions(-)

diff --git a/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp b/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp
index f8007d5..605df49 100644
--- a/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp
+++ b/ReviewSystem/CHReviewResultParser/ParsingGlassResult_CPJT.cpp
@@ -11,7 +11,7 @@
 {
 }
 
-// [2017:5:12]-[WEZASW] : DFS Result File Format 변경
+// [2017:5:12]-[WEZASW] : DFS Result File Format 占쏙옙占쏙옙
 void CParsingGlassResult_CPJT::ParsingFileToGlassResult(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr)//Cmark
 {
 	if(pGlassResult==NULL || pResultFileMgr==NULL)
@@ -61,7 +61,7 @@
 
 
 		//=========================
-		#pragma region 옛날 코드
+		#pragma region 占쏙옙占쏙옙 占쌘듸옙
 		//cellResult.strCellID		= pResultFileMgr->GetRawData(eCSOTRaw_PanelInfoData, nCellIdx, eCSOTRaw_Panel_CellNum);					// No.1 Cell Number
 												// No.1 Cell Number
 		//cellResult.nDefectCount		= atoi(pResultFileMgr->GetRawData(eCSOTRaw_PanelInfoData, nCellIdx, eCSOTRaw_Panel_RearCPDefectNum));		// No.2 Defect Count
@@ -84,9 +84,9 @@
 		//=========================
 		
 
-		pGlassResult->AddCellResult(cellResult);		// 추가
+		pGlassResult->AddCellResult(cellResult);		// 占쌩곤옙
 
-		// 예외처리 : PNL Total 수량과 실제 불량 개수 확인
+		// 占쏙옙占쏙옙처占쏙옙 : PNL Total 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쌀뤄옙 占쏙옙占쏙옙 확占쏙옙
 		if (nTotalDefectIdx+cellResult.nDefectCount > nDefectRawDataCount)	{	continue;	}
 				
 
@@ -103,7 +103,7 @@
 		//	pDefectResult->nDefectidx1	 = atoi( pResultFileMgr->GetDefectData(nDefIdx,1));
 		//	pDefectResult->nDefectidx2   = atoi(pResultFileMgr->GetDefectData(nDefIdx,2));
 
-			//pDefectResult->strDefectCode		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_Code);					// No.1 결함코드1
+			//pDefectResult->strDefectCode		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_Code);					// No.1 占쏙옙占쏙옙占쌘듸옙1
 			pDefectResult->strDefectCode.TrimRight();
 			pDefectResult->nDefectCode			= GetDefectCodeType( pGlassResult->m_strRecipeID, pDefectResult->strDefectCode );
 
@@ -125,7 +125,7 @@
 
 		
 
-			//pDefectResult->strDefectType		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_AOI_DEFECT_TYPE);	 		// No.7 결함 Type	// A - N: Normal, C: Common, M: Mask
+			//pDefectResult->strDefectType		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_AOI_DEFECT_TYPE);	 		// No.7 占쏙옙占쏙옙 Type	// A - N: Normal, C: Common, M: Mask
 			pDefectResult->nDefectType			= GetCSOTDefectType(pDefectResult->strDefectType);
 			
 			pDefectResult->nAOIArea				= atof(pResultFileMgr->GetDefectData(nTotalDefectIdx, 20));			// No.5 Defect Size
@@ -133,8 +133,8 @@
 			pDefectResult->nSizeType			= GetSizeType(pDefectResult->strSizeType);
 
 
-			pDefectResult->nAOISizeW			= atof(pResultFileMgr->GetDefectData(nTotalDefectIdx, eCPJTRaw_Defect_AOI_DEFECT_WID))*1000;		// No.10 Defect’s X axis size (um)
-			pDefectResult->nAOISizeH			= atof(pResultFileMgr->GetDefectData(nTotalDefectIdx, eCPJTRaw_Defect_AOI_DEFECT_HGT))*1000;		// No.11 Defect’s Y axis size (um)
+			pDefectResult->nAOISizeW			= atof(pResultFileMgr->GetDefectData(nTotalDefectIdx, eCPJTRaw_Defect_AOI_DEFECT_WID))*1000;		// No.10 Defect占쏙옙s X axis size (um)
+			pDefectResult->nAOISizeH			= atof(pResultFileMgr->GetDefectData(nTotalDefectIdx, eCPJTRaw_Defect_AOI_DEFECT_HGT))*1000;		// No.11 Defect占쏙옙s Y axis size (um)
 			pDefectResult->nAOISize				= atof(pResultFileMgr->GetDefectData(nTotalDefectIdx, 26));
 		    
 			//pDefectResult->nAOISizeLength		= pDefectResult->nAOISizeW;
@@ -157,18 +157,18 @@
 
 			
 			//=======================
-			#pragma region 옛날 코드
+			#pragma region 占쏙옙占쏙옙 占쌘듸옙
 			/*
 			//atoi(pResultFileMgr->GetCellData(idx,nCellIdx));
 			////pDefectResult->strCellID     
 			//
 
-			pDefectResult->strDefectCode		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_Code);					// No.1 결함코드1
+			pDefectResult->strDefectCode		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_Code);					// No.1 占쏙옙占쏙옙占쌘듸옙1
 						pDefectResult->strDefectCode.TrimRight();
 						pDefectResult->nDefectCode			= GetDefectCodeType( pGlassResult->m_strRecipeID, pDefectResult->strDefectCode );
 									
-						pDefectResult->nUMCenterOriginX		= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_CenterOriX));		// No.3 Glass Center 기준 좌표 X(mm)
-						pDefectResult->nUMCenterOriginY		= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_CenterOriY));		// No.4 Glass Center 기준 좌표 Y(mm)
+						pDefectResult->nUMCenterOriginX		= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_CenterOriX));		// No.3 Glass Center 占쏙옙占쏙옙 占쏙옙표 X(mm)
+						pDefectResult->nUMCenterOriginY		= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_CenterOriY));		// No.4 Glass Center 占쏙옙占쏙옙 占쏙옙표 Y(mm)
 						pDefectResult->nUMOriginX			= (pGlassResult->GetGlassSizeX()/2) + pDefectResult->nUMCenterOriginX*1000;
 						pDefectResult->nUMOriginY			= (pGlassResult->GetGlassSizeY()/2) + pDefectResult->nUMCenterOriginY*1000;
 						//pDefectResult->nUMOriginX			= pDefectResult->nUMCenterOriginX*1000;
@@ -180,11 +180,11 @@
 						pDefectResult->strSizeType			= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_DefectSizeType);				// No.6 Defect SizeType	// S/M/L/O
 						pDefectResult->nSizeType			= GetSizeType(pDefectResult->strSizeType);
 			
-						pDefectResult->strDefectType		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_DefectType);	 		// No.7 결함 Type	// A - N: Normal, C: Common, M: Mask
+						pDefectResult->strDefectType		= pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_DefectType);	 		// No.7 占쏙옙占쏙옙 Type	// A - N: Normal, C: Common, M: Mask
 						pDefectResult->nDefectType			= GetCSOTDefectType(pDefectResult->strDefectType);
 			
-						pDefectResult->nAOISizeW			= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_SizeDX))*1000;		// No.10 Defect’s X axis size (um)
-						pDefectResult->nAOISizeH			= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_SizeDY))*1000;		// No.11 Defect’s Y axis size (um)
+						pDefectResult->nAOISizeW			= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_SizeDX))*1000;		// No.10 Defect占쏙옙s X axis size (um)
+						pDefectResult->nAOISizeH			= atof(pResultFileMgr->GetRawData(eCSOTRaw_DefectInfoData, nTotalDefectIdx, eCSOTRaw_Defect_SizeDY))*1000;		// No.11 Defect占쏙옙s Y axis size (um)
 						pDefectResult->nAOISize				= int(pDefectResult->nAOISizeW*pDefectResult->nAOISizeH);
 						pDefectResult->nAOISizeLength		= pDefectResult->nAOISizeW;
 			
@@ -222,7 +222,7 @@
 	}
 }
 
-// [2017:5:12]-[WEZASW] : DFS Result File Format 변경 cmark
+// [2017:5:12]-[WEZASW] : DFS Result File Format 占쏙옙占쏙옙 cmark
 int CParsingGlassResult_CPJT::ParsingReviewResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr) 
 {
 	if (pResultFileMgr==NULL || pGlassResult==NULL)
@@ -304,7 +304,7 @@
 #endif
 			if (pResult->nDefectIdx != -1)
 			{
-				// 고정리뷰일때만
+				// 占쏙옙占쏙옙占쏙옙占쏙옙占싹띰옙占쏙옙
 				/ *
 				if( pGlassResult->GetUserResultCount() > 0 )
 				{
@@ -407,7 +407,7 @@
 	return nWriteCount;
 }
 
-// [2017:1:3]-[WEZASW] : WSI 측정 결과 쓰기 (사양 미정으로 기본 설정) (ING)
+// [2017:1:3]-[WEZASW] : WSI 占쏙옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙 (占쏙옙占� 占쏙옙占쏙옙占쏙옙占쏙옙 占썩본 占쏙옙占쏙옙) (ING)
 int CParsingGlassResult_CPJT::ParsingWsiResultDataToFile(CGlassResult* pGlassResult, CResultFileManager* pResultFileMgr)
 {
 
@@ -433,8 +433,8 @@
 
 			if (pResultFileMgr && pResult->nDefectIdx != -1)
 			{
-				// [2017:5:13]-[WEZASW] : 7개 추가 항목이었으나 고객사 제출시(최종) 삭제(미스)되어 제공되어 고객사 회신으로 추가 항목(13, 25, 26)만 적용 하기로 기술팀(김D) 협의됨.
-				// [2017:5:24]-[WEZASW] : AOI DFS(DFT) 항목 추가(Index 변경)
+				// [2017:5:13]-[WEZASW] : 7占쏙옙 占쌩곤옙 占쌓몌옙占싱억옙占쏙옙占쏙옙 占쏙옙占쏙옙占� 占쏙옙占쏙옙占�(占쏙옙占쏙옙) 占쏙옙占쏙옙(占싱쏙옙)占실억옙 占쏙옙占쏙옙占실억옙 占쏙옙占쏙옙占� 회占쏙옙占쏙옙占쏙옙 占쌩곤옙 占쌓몌옙(13, 25, 26)占쏙옙 占쏙옙占쏙옙 占싹깍옙占� 占쏙옙占쏙옙占�(占쏙옙D) 占쏙옙占실듸옙.
+				// [2017:5:24]-[WEZASW] : AOI DFS(DFT) 占쌓몌옙 占쌩곤옙(Index 占쏙옙占쏙옙)
 				///pResultFileMgr->SetRawData(eB7Raw_DefectInfoData, pResult->nTotalDefectCount, 15, int(pResult->pWsi_ResultData[Wsi_X_Height]*1000));			// No.13 Defect Height (um)
 				///pResultFileMgr->SetRawData(eB7Raw_DefectInfoData, pResult->nTotalDefectCount, 27, pResult->nWsi_ResultCode);									// No.25 Measurement Code (Success:1 / fail:0)
 				///pResultFileMgr->SetRawData(eB7Raw_DefectInfoData, pResult->nTotalDefectCount, 28, int(pResult->pWsi_ResultData[Wsi_X_A_Ratio]*1000));		// No.26 Defect X axis Ration (um)
@@ -703,7 +703,7 @@
 			// review image file name
 			strImageFileName = pResult->strUploadImgFileName;
 			
-			// [2018/02/13 22:22:06 by jylee] related RTMS 매칭, 복사 처리
+			// [2018/02/13 22:22:06 by jylee] related RTMS 占쏙옙칭, 占쏙옙占쏙옙 처占쏙옙
 			if (pResult->nDefectIdx != -1)
 			{
 				CheckResultFileAndCopy( pGlassResult, pResultFileMgr, pResult, strImageFileName );
@@ -1088,7 +1088,7 @@
 int CParsingGlassResult_CPJT::GetCSOTDefectCode(CString strDfectType){
 
 	//COST_CRACK=0,CSOT_PARTICLE,CSOT_MURA,CSOT_PROTRUDE,CSOT_DENT,CSOT_TFE_ABNORMAL,CSOT_BUBBLE,CSOT_SCRATCH
-	//Compare 대상이면 0 대상보다크면  1 작으면 -1 
+	//Compare 占쏙옙占쏙옙見占� 0 占쏙옙鑿릿占신⑼옙占�  1 占쏙옙占쏙옙占쏙옙 -1 
 
 	if(strDfectType.Compare(_T("CRACK"))==0)
 	{
@@ -1157,7 +1157,7 @@
 			break;
 		case Judge_Rework:		sStr.Format("RW");
 			break;
-		case Judge_Unknown:		sStr.Format("OK");//sStr.Format("Unknown");	//Unknown도 일단 OK
+		case Judge_Unknown:		sStr.Format("OK");//sStr.Format("Unknown");	//Unknown占쏙옙 占싹댐옙 OK
 			break;
 		default:				sStr.Format("OK");//sStr.Format("Ets");		
 			break;
@@ -1197,9 +1197,14 @@
 		{
 			return DOWS;
 		}
+		else
+		{
+			return CODE_DEFAULT;
+		}
 		return 0;
 
 }
+
 
 // [2018/03/14 09:47:51 by jylee] related Deep Learning
 int CParsingGlassResult_CPJT::GetDefectCodeType( const CString& strRecipeID, const CString& strValue )  
@@ -1344,7 +1349,7 @@
 void CParsingGlassResult_CPJT::MemoryParsingFileToGlassResult( CGlassResult* pGlassResult, CDitGlassRawClient* pDitRawClient )
 {
 
-	//찐코드//
+	//占쏙옙占쌘듸옙//
 	if(pGlassResult==NULL || pDitRawClient==NULL)	return;
 
 	CString strItem = _T("");
@@ -1376,7 +1381,7 @@
 		cellResult.nDefectCount = pDitRawClient->GetCellData(nCellIdx)->getTotalDefectNum(); 
 		cellResult.strCellJudge.Format(_T("%d"),pDitRawClient->GetCellData(nCellIdx)->m_nJudgement);
 		
-		//20201126 CELL 좌표계를 센터좌표로 바꿈으로 내부 좌표계에서 + 글라스 사이즈/2 해야됨 
+		//20201126 CELL 占쏙옙표占썼를 占쏙옙占쏙옙占쏙옙표占쏙옙 占쌕뀐옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙표占썼에占쏙옙 + 占쌜띰옙 占쏙옙占쏙옙占쏙옙/2 占쌔야듸옙 
 		cellResult.nUMOriginX = pDitRawClient->GetCellData(nCellIdx)->m_rectCellLeft + pDitRawClient->GetGlassData()->m_nGlassSizeWidth/2;
 		cellResult.nUMOriginY = pDitRawClient->GetCellData(nCellIdx)->m_rectCellTop + pDitRawClient->GetGlassData()->m_nGlassSizeHeight / 2;
 		cellResult.nUMOriginWidth = pDitRawClient->GetCellData(nCellIdx)->m_rectCellRight - cellResult.nUMOriginX + pDitRawClient->GetGlassData()->m_nGlassSizeWidth / 2;
@@ -1386,7 +1391,7 @@
 		CString strCellID(pDitRawClient->GetCellData(nCellIdx)->m_strCellName);
 		cellResult.strCellID = strCellID;
 		
-		pGlassResult->AddCellResult(cellResult);		// 추가
+		pGlassResult->AddCellResult(cellResult);		// 占쌩곤옙
 		
 	}
 	pGlassResult->m_strGlassID = pDitRawClient->GetGlassData()->m_strGlassID;
@@ -1414,7 +1419,7 @@
 		if(pDefectResult->nDefectWBType == 1 || pDefectResult->nDefectWBType == 3 || pDefectResult->nDefectWBType ==5)	pDefectResult->nDefectWBType =2;
 		else	pDefectResult->nDefectWBType = 1;
 
-		//이거슨 컷오프 대상 Review 제외 210205
+		//占싱거쏙옙 占싣울옙占쏙옙 占쏙옙占� Review 占쏙옙占쏙옙 210205
 		if (pSharedDefect->m_bDefectCutoff == 1)
 		{
 			continue;
@@ -1431,7 +1436,10 @@
 		pDefectResult->nUMOriginX			= pSharedDefect->m_nUMOriginX;// 
 		pDefectResult->nUMOriginY			= pSharedDefect->m_nUMOriginY;// 
 		
-		//pDefectResult->nDefectCode =  GetCodeType(pDefectResult->strDefectCode);
+		//20210608 占쌘듸옙占� 占쎌선占쏙옙占쏙옙
+		pDefectResult->nDefectJudgeCode = GetCodeType(pSharedDefect->m_strDefectCode);
+		pDefectResult->strDefectJudgeCode = pSharedDefect->m_strDefectCode;
+
 
 		pDefectResult->nJudgeType = pSharedDefect->m_DefectJudgement;
 		pDefectResult->strJudgeType = GetGradeType(pDefectResult->nJudgeType);
@@ -1442,7 +1450,7 @@
 		
 		pDefectResult->nLocation			= pSharedDefect->m_sDefectLoc;
 
-		//멀티 모델별 Review/WSI 필터링을 위한 인자
+		//占쏙옙티 占쏜델븝옙 Review/WSI 占쏙옙占싶몌옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙
 		pDefectResult->nMultiModel          = pSharedDefect->m_nModelIdx;
 
 		if (pSharedDefect->m_DefectBDType == 1)
@@ -1471,17 +1479,17 @@
 
 
 		////20190311CHM 
-		//if(pSharedDefect->m_StackInfo == 1) //스택 인데 리뷰 안함 
+		//if(pSharedDefect->m_StackInfo == 1) //占쏙옙占쏙옙 占싸듸옙 占쏙옙占쏙옙 占쏙옙占쏙옙 
 		//{
-		//	pDefectResult->nStackType	 = 1; //3이 SD 		
+		//	pDefectResult->nStackType	 = 1; //3占쏙옙 SD 		
 		//}
-		//else if(pSharedDefect->m_StackInfo == 2) // 스택인데 리뷰 함
+		//else if(pSharedDefect->m_StackInfo == 2) // 占쏙옙占쏙옙占싸듸옙 占쏙옙占쏙옙 占쏙옙
 		//{
 		//	pDefectResult->nStackType	 = 2;
 		//}
 		//else 
 		//{
-		//	pDefectResult->nStackType	 = 0; //0이 ALL
+		//	pDefectResult->nStackType	 = 0; //0占쏙옙 ALL
 		//}
 
 		pDefectResult->nStackType = pSharedDefect->m_StackInfo;
@@ -1809,8 +1817,8 @@
 //#endif
 //				if (pResult->nResultIdx != -1)
 //				{
-//					// 20170831 smok 항목 추가 DEFECT_ZONE(AA/PAD/CRACK) 31 -> 32
-//					// [2017:5:24]-[WEZASW] : AOI DFS(DFT) 항목 추가(Index 변경)
+//					// 20170831 smok 占쌓몌옙 占쌩곤옙 DEFECT_ZONE(AA/PAD/CRACK) 31 -> 32
+//					// [2017:5:24]-[WEZASW] : AOI DFS(DFT) 占쌓몌옙 占쌩곤옙(Index 占쏙옙占쏙옙)
 //					pResultFileMgr->SetRawData(eB7Raw_DefectInfoData, nDefectCount + pResult->nResultIdx, 33, strTemp);		// No.31 Image File Name
 //
 //					pResultFileMgr->SetRawData(eB7Raw_DefectInfoData, nDefectCount + pResult->nResultIdx, 34, "***");

--
Gitblit v1.9.3