From 2bd50ead7f0b92fb9ed5b477b63dea8fbcf8217e Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 월, 19 7월 2021 10:40:50 +0900
Subject: [PATCH] Ongoing60 #3517 CF AOI Review 자가진단 기능 개선

---
 DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp |  286 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 277 insertions(+), 9 deletions(-)

diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
index 4430a8c..4b6b6bb 100644
--- a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
+++ b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
@@ -207,6 +207,8 @@
 
 	strcpy(pData->GetGlassData()->m_strPath, LOCAL_AOIRAWBIN_PATH);
 
+	pData->GetGlassData()->m_tmReviewLoading = m_tmReviewStart;
+
 	return TRUE;
 }
 
@@ -216,6 +218,7 @@
 	m_bReviewEndCheck = TRUE;
 	m_tmReviewEnd = m_tmReviewStart = CTime::GetCurrentTime();
 	m_tmFileCreateTime = CTime::GetCurrentTime();
+	pData->GetGlassData()->m_tmReviewEnd = m_tmReviewEnd;
 	
 	//�뿬湲곗뿉�꽌 �씪�씤蹂꾨줈 �뙆�씪紐�, �샊�� Path �쐞移� 寃곗젙�븯硫대맖. AOIServer �샊�� ReviewServer�뿉�꽌 �븞�빐�룄�맖 [源��깭�쁽2019/9/4]
 	pData->GetGlassData()->m_strFileName;
@@ -434,11 +437,11 @@
 	
 	strValue = "ITEM PANEL MODULETYPE MODULEID PROCESSID PRODUCTID STEPID PROD_TYPE BATCHID H_PANELID E_PANELID P_PANELID OPERID COMP_COUNT PPID GRADE CODE R_GRADE MAP_IMAGE L_TIME U_TIME S_TIME E_TIME T_DEFECT TR PR TB TW RB RW T_STACK MAX_AVG_GRAY MAX_PORTION OK_CELL RJ_CELL RW_CELL NR_CELL CSTID SLOT_NO JOB_END TD_DEFECT SD_DEFECT PD_DEFECT SP_DEFECT PAD_GATE PAD_DATA M_DEFECT C_DEFECT BR_DEFECT IMG_COUNT RECIPE SHRINK RAW_CUT"; //53ea
 	strLine += strValue; strLine += "\n";
-	strValue = "ITEM SUBPANEL SUBPANELID COORD_X COORD_Y SIZE_X SIZE_Y GATELINE DATALINE GRADE CODE R_GRADE T_DEFECT TD_DEFECT SD_DEFECT PD_DEFECT SP_DEFECT PAD_GATE PAD_DATA M_DEFECT C_DEFECT PRO_IMAGE AVG_GRAY_0 PORTION_0 AVG_GRAY_1 PORTION_1 AVG_GRAY_2 PORTION_2 AVG_GRAY_3 PORTION_3"; //30ea 21-05-12 Mura Data 異붽�
+	strValue = "ITEM SUBPANEL SUBPANELID COORD_X COORD_Y SIZE_X SIZE_Y GATELINE DATALINE GRADE CODE R_GRADE T_DEFECT TD_DEFECT SD_DEFECT PD_DEFECT SP_DEFECT PAD_GATE PAD_DATA M_DEFECT C_DEFECT PRO_IMAGE AVG_GRAY_0 PORTION_0 CORNER_GRAY_0 AVG_AMP_0 FFT_VAR_0 FFT_VAH_0 FFT_VAQ_0 FFT_PK_0 AVG_GRAY_1 PORTION_1 CORNER_GRAY_1 AVG_AMP_1 FFT_VAR_1 FFT_VAH_1 FFT_VAQ_1 FFT_PK_1 AVG_GRAY_2 PORTION_2 CORNER_GRAY_2 AVG_AMP_2 FFT_VAR_2 FFT_VAH_2 FFT_VAQ_2 FFT_PK_2 AVG_GRAY_3 PORTION_3 CORNER_GRAY_3 AVG_AMP_3 FFT_VAR_3 FFT_VAH_3 FFT_VAQ_3 FFT_PK_3"; //54ea 21-06-21 Mura Data 異붽�
 	strLine += strValue; strLine += "\n";
 	//210405
 	//ITEM DEFECT ID DEF_NO COORD_X COORD_Y GATELINE DATALINE SIZE_S SIZE_W SIZE_L SIZE_H GRADE CODE STACK_FLAG STACK_COUNT STACK_STEP IMAGE_FILE DSC_CODE VC_CODE DCR_CODE DEFECT_SIZE REPEAT_DEFECT WSI_HEIGHT CS_HEIGHT C_GRADE GRAY_MIN GRAY_MAX GRAY_AVG GRAY_DEF WSI_IMAGE USE_CCDIMAGE SCAN_NUM CAM_POSITION CCD_NO R_GRAY_MIN R_GRAY_MAX R_GRAY_AVG SCAN_AI REVIEW_AI INS_MODE INS_CHANNEL COMPACTNESS THICKNESS MAJOR MINOR WSI_TYPE DEFECT_TYPE SHRINK
-	strValue = "ITEM DEFECT ID DEF_NO COORD_X COORD_Y GATELINE DATALINE SIZE_S SIZE_W SIZE_L SIZE_H GRADE CODE STACK_FLAG STACK_COUNT STACK_STEP IMAGE_FILE DSC_CODE VC_CODE DCR_CODE DEFECT_SIZE REPEAT_DEFECT WSI_HEIGHT CS_HEIGHT C_GRADE GRAY_MIN GRAY_MAX GRAY_AVG GRAY_DEF WSI_IMAGE USE_CCDIMAGE SCAN_NUM CAM_POSITION CCD_NO R_GRAY_MIN R_GRAY_MAX R_GRAY_AVG R_HEIGHT G_HEIGHT B_HEIGHT INS_CHANNEL COMPACTNESS THICKNESS MAJOR MINOR WSI_TYPE DEFECT_TYPE SHRINK"; //49ea    
+	strValue = "ITEM DEFECT ID DEF_NO COORD_X COORD_Y GATELINE DATALINE SIZE_S SIZE_W SIZE_L SIZE_H GRADE CODE STACK_FLAG STACK_COUNT STACK_STEP IMAGE_FILE DSC_CODE VC_CODE DCR_CODE DEFECT_SIZE REPEAT_DEFECT WSI_HEIGHT CS_HEIGHT C_GRADE GRAY_MIN GRAY_MAX GRAY_AVG GRAY_DEF WSI_IMAGE USE_CCDIMAGE SCAN_NUM CAM_POSITION CCD_NO R_GRAY_MIN R_GRAY_MAX R_GRAY_AVG R_HEIGHT G_HEIGHT B_HEIGHT INS_CHANNEL COMPACTNESS THICKNESS MAJOR MINOR WSI_TYPE DEFECT_TYPE SHRINK CLASS_CODE"; //50ea    
 	strLine += strValue;
 
 }
@@ -767,10 +770,17 @@
 	{
 		SPRINTRAW(16, "*");
 	}
-	else
+	else if(strlen(pGlassData->m_strRecipeName) <= 16)
 	{
 		SPRINTRAW(16, "%s", pGlassData->m_strRecipeName);
 	}
+	else if (strlen(pGlassData->m_strRecipeName) > 16)
+	{
+		CString temp = pGlassData->m_strRecipeName;  // �젅�떆�뵾 17�옄由� �꽆�뼱媛�硫� DCOLL 諛쒖깮�쑝濡� �삁�쇅泥섎━ [ 21-06-02 KJG ]
+		temp = temp.Left(16);		
+		SPRINTRAW(16, "%s", temp.GetBuffer(0));
+	}
+
 	// 52	12	SHRINK		// Server or Frame Shrink �룞�옉 �뿬遺�
 	if (strlen(pGlassData->m_strShrinked) == 0)
 	{
@@ -921,8 +931,69 @@
 	{
 		SPRINTRAW(12, "*");
 	}
+	
+	//kyh 0622
+	// 25 12 CORNER_GRAY_0
+	if (strlen(pCellData->m_strCorner_Gray_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
 
-	// 25 12  AVG_GRAY_1
+	// 26 12 AVG_AMP_0
+	if (strlen(pCellData->m_strAvgAmp_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 27 12 FFT_VAR_0
+	if (strlen(pCellData->m_strFFTVar_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVar_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 28 12 FFT_VAH_0
+	if (strlen(pCellData->m_strFFTVah_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVah_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 29 12 FFT_VAQ_0
+	if (strlen(pCellData->m_strFFTVaq_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 30 12 FFT_PK_0
+	if (strlen(pCellData->m_strFFTPK_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTPK_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 31 12  AVG_GRAY_1
 	if (strlen(pCellData->m_strAvgGray_1))
 	{
 		SPRINTRAW(12, "%s", pCellData->m_strAvgGray_1);
@@ -931,7 +1002,7 @@
 	{
 		SPRINTRAW(12, "*");
 	}
-	// 26 12 PORTION_1
+	// 32 12 PORTION_1
 	if (strlen(pCellData->m_strPortion_1))
 	{
 		SPRINTRAW(12, "%s", pCellData->m_strPortion_1);
@@ -940,7 +1011,69 @@
 	{
 		SPRINTRAW(12, "*");
 	}
-	// 27 12  AVG_GRAY_2
+
+	//kyh 0622
+	// 33 12 CORNER_GRAY_1
+	if (strlen(pCellData->m_strCorner_Gray_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 34 12 AVG_AMP_1
+	if (strlen(pCellData->m_strAvgAmp_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 35 12 FFT_VAR_1
+	if (strlen(pCellData->m_strFFTVar_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVar_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 36 12 FFT_VAH_1
+	if (strlen(pCellData->m_strFFTVah_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVah_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 37 12 FFT_VAQ_1
+	if (strlen(pCellData->m_strFFTVaq_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 38 12 FFT_PK_1
+	if (strlen(pCellData->m_strFFTPK_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTPK_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 39 12  AVG_GRAY_2
 	if (strlen(pCellData->m_strAvgGray_2))
 	{
 		SPRINTRAW(12, "%s", pCellData->m_strAvgGray_2);
@@ -949,7 +1082,7 @@
 	{
 		SPRINTRAW(12, "*");
 	}
-	// 28 12 PORTION_2
+	// 40 12 PORTION_2
 	if (strlen(pCellData->m_strPortion_2))
 	{
 		SPRINTRAW(12, "%s", pCellData->m_strPortion_2);
@@ -958,7 +1091,69 @@
 	{
 		SPRINTRAW(12, "*");
 	}
-	// 29 12  AVG_GRAY_3
+
+	//kyh 0622
+	// 41 12 CORNER_GRAY_2
+	if (strlen(pCellData->m_strCorner_Gray_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 42 12 AVG_AMP_2
+	if (strlen(pCellData->m_strAvgAmp_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 43 12 FFT_VAR_2
+	if (strlen(pCellData->m_strFFTVar_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVar_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 44 12 FFT_VAH_2
+	if (strlen(pCellData->m_strFFTVah_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVah_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 45 12 FFT_VAQ_2
+	if (strlen(pCellData->m_strFFTVaq_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 46 12 FFT_PK_2
+	if (strlen(pCellData->m_strFFTPK_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTPK_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 47 12  AVG_GRAY_3
 	if (strlen(pCellData->m_strAvgGray_3))
 	{
 		SPRINTRAW(12, "%s", pCellData->m_strAvgGray_3);
@@ -967,10 +1162,71 @@
 	{
 		SPRINTRAW(12, "*");
 	}
-	// 30 12 PORTION_3
+	// 48 12 PORTION_3
 	if (strlen(pCellData->m_strPortion_3))
 	{
 		SPRINTRAW(12, "%s", pCellData->m_strPortion_3);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	//kyh 0622
+	// 49 12 CORNER_GRAY_3
+	if (strlen(pCellData->m_strCorner_Gray_3))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_3);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 50 12 AVG_AMP_3
+	if (strlen(pCellData->m_strAvgAmp_3))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_3);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 51 12 FFT_VAR_3
+	if (strlen(pCellData->m_strFFTVar_3))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVar_3);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 52 12 FFT_VAH_3
+	if (strlen(pCellData->m_strFFTVah_3))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVah_3);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 53 12 FFT_VAQ_3
+	if (strlen(pCellData->m_strFFTVaq_3))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_3);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 54 12 FFT_PK_3
+	if (strlen(pCellData->m_strFFTPK_3))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strFFTPK_3);
 	}
 	else
 	{
@@ -1160,6 +1416,7 @@
 			nValue = nValue << 1;
 	}
 	SPRINTRAW(12, "%04X", nValue);
+
 	// 22   12    DEFECT_SIZE	// Common 04 遺덈웾 �겕湲� (L,H,M,S)
 	if (pDefectData->m_DefectSizeType == SizeType_Small)
 	{
@@ -1379,6 +1636,17 @@
 	// 49	12	 Frame Shrink �젙蹂� 異붽�
 	SPRINTRAW(12, "%d", pDefectData->m_bShrinked);
 	
+	// 50   12    CLASS_NO		// Zone Classification NO
+	// Zone Data
+	nValue = 0;
+	for (int i = 15; i >= 0; i--)
+	{
+		if (pDefectData->m_sZoneClassPixelCount[i] > 0)
+			nValue += 1;
+		if (i > 0)
+			nValue = nValue << 1;
+	}
+	SPRINTRAW(12, "%04X", nValue);
 
 	SPRINTRAWEND;   //以묒슂!!! �젮 留덉�留됱뿉 瑗� �엳�뼱�빞�븿!!!(�궘�젣湲덉�) [源��깭�쁽2020/9/23]
 

--
Gitblit v1.9.3