From 6e0a9dd083fae3138418444eb783e99509bb522b Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 금, 09 7월 2021 12:02:49 +0900
Subject: [PATCH] Merge branch 'feature/#3486_CF_AOI_Review_Review_History_프로그램_테스트_및_적용' into feature/#3495_CF_AOI_Review(QD,_Blue)_GlassLoading_시_다운_현상_조치

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

diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
index 675e17c..4b6b6bb 100644
--- a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
+++ b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
@@ -106,11 +106,14 @@
 	}
 	strcpy(pData->GetGlassData()->m_strPath, LOCAL_AOIRAWBIN_PATH);
 
+	
 	if(!WriteBinFile(pData))
 		return FALSE;
 	
+	
 	if (1) ReadMuraFile(pData);
 
+	
 	if (WriteAOIFile(pData) == FALSE)
 		return FALSE;
 
@@ -204,6 +207,8 @@
 
 	strcpy(pData->GetGlassData()->m_strPath, LOCAL_AOIRAWBIN_PATH);
 
+	pData->GetGlassData()->m_tmReviewLoading = m_tmReviewStart;
+
 	return TRUE;
 }
 
@@ -213,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;
@@ -338,6 +344,7 @@
 
 BOOL CGlassRawCPJT::MakeAOIFile( CgrmGlassRawData* pData )
 {
+	AKLOG("MakeAOIFile Start");
 	m_nWriteRawDefectIdx = 1;
 
 	_grmGlassData* pGlass = pData->GetGlassData();
@@ -430,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 PORTION"; //24ea result 0404nwh �궘�젣 : S_DEFECT CRACK P_SHIFT 
+	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;
 
 }
@@ -698,9 +705,23 @@
 	// 31   6   T_STACK		// Panel �젙蹂� 08	SD+SP �닔 �엯�젰
 	SPRINTRAW(12, "%d", pGlassData->m_nDefectNumStackSD + pGlassData->m_nDefectNumStackSP);
 	//32   6   BMDF	    // Panel �젙蹂� 09 -> 蹂�寃� MAX_AVG_GRAY 04/12 nwh
-	SPRINTRAW(12, "%5.4f", pGlassData->m_fMaxAvgGray);
+	if (strlen(pGlassData->m_strMaxAvgGray) == 0)
+	{
+		SPRINTRAW(12, "*");
+	}
+	else
+	{
+		SPRINTRAW(12, "%s", pGlassData->m_strMaxAvgGray);
+	}	
 	// 33   6   CJ			// Panel �젙蹂� 10 -> 蹂�寃� MAX_PORTION  04/12 nwh
-	SPRINTRAW(12, "%5.6f", pGlassData->m_fMaxPortion);
+	if (strlen(pGlassData->m_strMaxPortion) == 0)
+	{
+		SPRINTRAW(12, "*");
+	}
+	else
+	{
+		SPRINTRAW(12, "%s", pGlassData->m_strMaxPortion);
+	}
 	// 34   6   OK_CELL		// OK Cell Count	
 	SPRINTRAW(12, "*");
 	// 35   6   RJ_CELL		// RJ Cell Count	
@@ -749,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)
 	{
@@ -884,11 +912,326 @@
 		SPRINTRAW(12,"*");
 	}
 
-	// 23 6  CRACK 	   ->  23 6  AVG_GRAY 蹂�寃�	
-	SPRINTRAW(12, "%5.4f", pCellData->m_fAvgGray);
+	// 23 12  AVG_GRAY_0
+	if (strlen(pCellData->m_strAvgGray_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strAvgGray_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	// 24 12 PORTION_0
+	if (strlen(pCellData->m_strPortion_0))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strPortion_0);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
 	
-	// 24 6  P_SHIFT   ->24 6  PORTION
-	SPRINTRAW(12, "%5.6f", pCellData->m_fPortion);
+	//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, "*");
+	}
+
+	// 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);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+	// 32 12 PORTION_1
+	if (strlen(pCellData->m_strPortion_1))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strPortion_1);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	//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);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+	// 40 12 PORTION_2
+	if (strlen(pCellData->m_strPortion_2))
+	{
+		SPRINTRAW(12, "%s", pCellData->m_strPortion_2);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+
+	//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);
+	}
+	else
+	{
+		SPRINTRAW(12, "*");
+	}
+	// 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
+	{
+		SPRINTRAW(12, "*");
+	}
 
 	SPRINTRAWEND;   //以묒슂!!! �젮 留덉�留됱뿉 瑗� �엳�뼱�빞�븿!!!(�궘�젣湲덉�) [源��깭�쁽2020/9/23]
 }
@@ -1073,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)
 	{
@@ -1292,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