From 55615eba335d4cbc1f83330dc5078fe073034b7d Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 금, 23 7월 2021 10:40:51 +0900 Subject: [PATCH] Ongoing60 #3524 CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 --- ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp | 228 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 141 insertions(+), 87 deletions(-) diff --git a/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp index af864fc..0cfb0d2 100644 --- a/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp +++ b/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp @@ -97,7 +97,7 @@ } - // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 + // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 wsiResult.nWsi_ResultIndex = measureResut.nResultIndex; wsiResult.nResultCode = measureResut.nResultCode; @@ -163,7 +163,7 @@ memcpy(wsiResult.pWsi_ResultData, measureResut.pResultData, sizeof(wsiResult.pWsi_ResultData)); - // 占쏙옙占� 占쏙옙占쏙옙占쏙옙 占쌩곤옙 + // 占쏙옙占?占쏙옙占쏙옙占쏙옙 占쌩곤옙 SReviewResult *pProcessResult = NULL; if (pGlassResult->SetWsiResultData(nModuleIndex, nCurResultIdx, wsiResult, nGlassPosX, nGlassPosY, nMotorPosX, nMotorPosY, dTime)) { @@ -192,7 +192,7 @@ LeaveCriticalSection(&m_csUserCriticalSection); - // 占쏙옙占� 占쏙옙占쏙옙. + // 占쏙옙占?占쏙옙占쏙옙. m_pRP2P->IRP2P_UpdateReviewResult(nModuleIndex, pGlassResult); return; @@ -246,14 +246,14 @@ g_pLog->DisplayMessage(_T("[ReviewProcessor]SetWsiResultData module[%d] point[%d] result[%d]"), nModuleIndex, measureResut.nResultIndex, nCurResultIdx); } - // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 + // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 wsiUserResult.nWsi_ResultCode = measureResut.nResultCode; wsiUserResult.nWsi_Type = measureResut.nResultType; wsiUserResult.nWsi_SlopeWarn = measureResut.nXSlopeWarn; memcpy(wsiUserResult.pWsi_ResultData, measureResut.pResultData, sizeof(wsiUserResult.pWsi_ResultData)); - // 占쏙옙占� 占쏙옙占쏙옙占쏙옙 占쌩곤옙 + // 占쏙옙占?占쏙옙占쏙옙占쏙옙 占쌩곤옙 SReviewResult *pProcessResult = NULL; if (pGlassResult->SetUserWsiResultData(nModuleIndex, nCurResultIdx, wsiUserResult, nGlassPosX, nGlassPosY, nMotorPosX, nMotorPosY, dTime)) { @@ -282,7 +282,7 @@ LeaveCriticalSection(&m_csUserCriticalSection); - // 占쏙옙占� 占쏙옙占쏙옙. + // 占쏙옙占?占쏙옙占쏙옙. m_pRP2P->IRP2P_UpdateReviewResult(nModuleIndex, pGlassResult); return; @@ -345,7 +345,7 @@ g_pLog->DisplayMessage(_T("[ReviewProcessor]SetWsiMultiShotResultData module[%d] point[%d] result[%d]"), nModuleIndex, measureResut.nResultIndex, nCurResultIdx); } - // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 + // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 wsiResult.nWsi_ResultCode = measureResut.nResultCode; wsiResult.nWsi_Type = measureResut.nResultType; wsiResult.nWsi_SlopeWarn = measureResut.nXSlopeWarn; @@ -353,7 +353,7 @@ memcpy(wsiResult.pWsi_ResultData, measureResut.pResultData, sizeof(wsiResult.pWsi_ResultData)); - // 占쏙옙占� 占쏙옙占쏙옙占쏙옙 占쌩곤옙 + // 占쏙옙占?占쏙옙占쏙옙占쏙옙 占쌩곤옙 SReviewResult *pProcessResult = NULL; if (pGlassResult->SetWsiResultData(nModuleIndex, nCurResultIdx, wsiResult, nGlassPosX, nGlassPosY, nMotorPosX, nMotorPosY, dTime)) { @@ -382,7 +382,7 @@ LeaveCriticalSection(&m_csUserCriticalSection); - // 占쏙옙占� 占쏙옙占쏙옙. + // 占쏙옙占?占쏙옙占쏙옙. m_pRP2P->IRP2P_UpdateReviewResult(nModuleIndex, pGlassResult); return; @@ -465,7 +465,7 @@ g_pLog->DisplayMessage(_T("[ReviewProcessor]SetReviewResultData module[%d] point[%d] result[%d]"), nModuleIndex, nResultIndex, nCurResultIdx); } - // 占쏙옙占쏙옙 占쏙옙占쏙옙譴占쏙옙占� 占쏙옙占쏙옙 + // 占쏙옙占쏙옙 占쏙옙占쏙옙譴占쏙옙占?占쏙옙占쏙옙 SReviewResult *pProcessResult = NULL; switch(GetReviewProcessStatus()) { @@ -527,7 +527,7 @@ } LeaveCriticalSection(&m_csUserCriticalSection); - //占쏙옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙占쏙옙占쏙옙占쏙옙트 占쏙옙占쏙옙占쏙옙 占쏙옙占쌔뱄옙占쏙옙占쏙옙 占싣뤄옙 占쏙옙占쏙옙占쏙옙 占쏙옙타占쏙옙 占쌕쏙옙 占쏙옙占쏙옙占쏙옙표 占싫쏙옙占쏙옙 + //占쏙옙占쏙옙 占쏙옙占?占쏙옙占쏙옙占쏙옙占쏙옙占쏙옙트 占쏙옙占쏙옙占쏙옙 占쏙옙占쌔뱄옙占쏙옙占쏙옙 占싣뤄옙 占쏙옙占쏙옙占쏙옙 占쏙옙타占쏙옙 占쌕쏙옙 占쏙옙占쏙옙占쏙옙표 占싫쏙옙占쏙옙 // 占쏙옙호처占쏙옙 占십울옙占쏙옙 占싱곤옙 占쏙옙占쏙옙 if (nCurResultIdx + 1== pReviewResult->GetSReviewResultCount()) { @@ -542,7 +542,7 @@ if (bLeftGantryReviewDone&&bRightGantryReviewDone) { - ::Sleep(3000); // 占쏙옙占쏙옙甄占� 占십쇽옙占쏙옙. 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙. + ::Sleep(3000); // 占쏙옙占쏙옙甄占?占십쇽옙占쏙옙. 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙. g_pLog->DisplayMessage(_T("[ReviewProcessor]RemainReview Started module[%d]"), nModuleIndex); CSequenceProcessor* pSequenceProcessor = m_pRP2P->IRP2P_GetSequenceProcessor(); switch (GetReviewProcessStatus()) @@ -567,13 +567,13 @@ } else if(m_pRP2P->IRP2P_Recipe_GetRsRcpReviewInfo()->GetRcpSchedulingInfo()->GetSingleGantryPath()>0) { - //20210302 占싱깍옙 占쏙옙트占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占싸곤옙占쏙옙 占쏙옙트占쏙옙占쏙옙 占싹뤄옙占� 占쏙옙占승울옙占쏙옙 - //占쏙옙占쏙옙占쏙옙 占쌔야듸옙占쏙옙占쏙옙 Review 占쏙옙占쏙옙 Count 체크 占싹댐옙 占쏙옙占쏙옙占쏙옙占� 占싼곤옙트占쏙옙 占쏙옙占쏙옙 200占쏙옙占쏙옙占쏙옙 占쏙옙占쌩댐옙 占쏙옙占쏙옙 占쌩삼옙 - //占쌓뤄옙占쏙옙 占싱깍옙 占쏙옙트占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙처占쏙옙 占싹울옙 占쏙옙占쏙옙占싹듸옙占쏙옙 占쌕뀐옙森占� CHM + //20210302 占싱깍옙 占쏙옙트占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占싸곤옙占쏙옙 占쏙옙트占쏙옙占쏙옙 占싹뤄옙占?占쏙옙占승울옙占쏙옙 + //占쏙옙占쏙옙占쏙옙 占쌔야듸옙占쏙옙占쏙옙 Review 占쏙옙占쏙옙 Count 체크 占싹댐옙 占쏙옙占쏙옙占쏙옙占?占싼곤옙트占쏙옙 占쏙옙占쏙옙 200占쏙옙占쏙옙占쏙옙 占쏙옙占쌩댐옙 占쏙옙占쏙옙 占쌩삼옙 + //占쌓뤄옙占쏙옙 占싱깍옙 占쏙옙트占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙처占쏙옙 占싹울옙 占쏙옙占쏙옙占싹듸옙占쏙옙 占쌕뀐옙森占?CHM g_pLog->DisplayMessage(_T("[ReviewProcessor]Single GantryPath Use"), nModuleIndex); if (bLeftGantryReviewDone || bRightGantryReviewDone) { - ::Sleep(3000); // 占쏙옙占쏙옙甄占� 占십쇽옙占쏙옙. 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙. + ::Sleep(3000); // 占쏙옙占쏙옙甄占?占십쇽옙占쏙옙. 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙. g_pLog->DisplayMessage(_T("[ReviewProcessor]RemainReview Started module[%d]"), nModuleIndex); CSequenceProcessor* pSequenceProcessor = m_pRP2P->IRP2P_GetSequenceProcessor(); switch (GetReviewProcessStatus()) @@ -601,7 +601,7 @@ } - // 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙트占쏙옙占쏙옙 占쌉곤옙, 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙... + // 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙트占쏙옙占쏙옙 占쌉곤옙, 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙占?占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙... if(nCurResultIdx==nEndResultIdx && nCurResultIdx+1 < pReviewResult->GetSReviewResultCount()) { @@ -625,7 +625,7 @@ pReviewResult->SetEndSReviewResultIndex(nEndResultIdx); // 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙트 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙. - ::Sleep(3000); // 占쏙옙占쏙옙甄占� 占십쇽옙占쏙옙. 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙. + ::Sleep(3000); // 占쏙옙占쏙옙甄占?占십쇽옙占쏙옙. 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙. if (bLeftGantryReviewDone&&bRightGantryReviewDone) { @@ -685,7 +685,7 @@ } } - // 占쏙옙占� 占쏙옙占쏙옙. + // 占쏙옙占?占쏙옙占쏙옙. m_pRP2P->IRP2P_UpdateReviewResult(nModuleIndex, pGlassResult, m_nReviewPlanIndex); return; @@ -1143,14 +1143,14 @@ pReviewResult->strSnapTime.Format(_T("%04d%02d%02d%02d%02d%02d"), snapTime.GetYear(), snapTime.GetMonth(), snapTime.GetDay(), snapTime.GetHour(), snapTime.GetMinute(), snapTime.GetSecond()); // snap_time - // 占쏙옙占쏙옙 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占쏙옙 占싱몌옙 占쏙옙占쏙옙占� + // 占쏙옙占쏙옙 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占쏙옙 占싱몌옙 占쏙옙占쏙옙占? CString strImageFileName = _T(""); if (MakeReviewImageFileName(pReviewResult)==FALSE) { } - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨몌옙 占쏙옙占쏙옙 占싱뱄옙占쏙옙 占싱몌옙 占쏙옙 占쏙옙표 채占쏙옙占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨몌옙 占쏙옙占쏙옙 占싱뱄옙占쏙옙 占싱몌옙 占쏙옙 占쏙옙표 채占쏙옙占쌍깍옙 if(!UpdateMemoryReviewPlan(pReviewResult)) m_pRP2P->IRP2P_DisplayMessage(_T("[ReviewPlan] Memory Update Fail!! DefectIdx : %d"), pReviewResult->nDefectidx2); @@ -1178,28 +1178,30 @@ // UINT64 nSize = SaveReviewImage(&uploadImage, strPath, m_nReviewImageSize, m_nReviewImageQuality, m_nReviewImageStep); //if (nSize > 0) // m_pRP2P->IRP2P_DisplayMessage(_T("Backup Review Image Save Success! Size: %d byte [%s]"), nSize, pReviewResult->strUploadImgFileName); - // 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙 20190917 chm + // 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占?占쏙옙占쏙옙 20190917 chm strPath.Format(_T("%s\\%s"), m_strSaveImageUploadPath, pReviewResult->strUploadImgFileName); nSize = SaveReviewImage(&uploadImage, strPath, m_nReviewImageSize, m_nReviewImageQuality, m_nReviewImageStep); - m_pRP2P->IRP2P_DisplayMessage(_T("Backup Review Image Save Success! Size: %d byte [%s]"), nSize, strPath); if (pGlassResult != NULL) - { + { pGlassResult->m_strUploadImgFileName = m_strSaveImageUploadPath; //taek 210203 strRTMSPath.Format(_T("\\\\126.100.100.5\\Reviewimage\\%s\\%s\\%s"), pGlassResult->m_strRTMSStepID, pGlassResult->m_strGlassID, pReviewResult->strUploadImgFileName); int bRet = SaveReviewImage(&uploadImage, strRTMSPath, m_nReviewImageSize, m_nReviewImageQuality, m_nReviewImageStep); //Taek Rtms 210126 if (bRet == 0) { - m_pRP2P->IRP2P_DisplayMessage(_T("RTMS Review Image Save Fail [%s] index[%d]"), strRTMSPath, pReviewResult->nDefectIdx); + m_pRP2P->IRP2P_DisplayMessage(_T("RTMS Review Image Save Fail!!")); } - else m_pRP2P->IRP2P_DisplayMessage(_T("RTMS Review Image Save Success! Size: %d byte [%s] index[%d]"), nSize, strRTMSPath, pReviewResult->nDefectIdx); //taek 210128 占쌈듸옙 占쏙옙占쏙옙占쏙옙 占쌈시뤄옙 占싸깍옙 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 - } + else m_pRP2P->IRP2P_DisplayMessage(_T("RTMS Review Image Save Success! Size: %d byte [%s] index[%d]"), nSize, strRTMSPath, pReviewResult->nDefectIdx); //taek 210128 占쌈듸옙 占쏙옙占쏙옙占쏙옙 占쌈시뤄옙 占싸깍옙 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 + + } if (nSize > 0) { + int aoiindex = CDitGlassRawClient::GetInstance()->GetDefectData(pReviewResult->nDefectidx2)->m_nDefectIdx; - m_pRP2P->IRP2P_DisplayMessage(_T("Upload Review Image Save Success! Size: %d byte [%s] index[%d] AOI NO[%d]"), nSize, strRTMSPath, pReviewResult->nDefectIdx, aoiindex); //taek 210128 占쌈듸옙 占쏙옙占쏙옙占쏙옙 占쌈시뤄옙 占싸깍옙 占쏙옙占쏙옙占쏙옙 占쏙옙占쏙옙 + + m_pRP2P->IRP2P_DisplayMessage(_T("Upload Review Image Save Success! Size: %d byte [%s] index[%d] AOI NO[%d]"), nSize, pReviewResult->strUploadImgFileName, pReviewResult->nDefectIdx, aoiindex); //taek 210128 속도 문제로 임시로 로그 남기지 않음 //m_pRP2P->IRP2P_DisplayMessage(_T("Upload Review Image Save Success! Size: %d byte [%s]"), nSize, pReviewResult->strUploadImgFileName); } else @@ -1235,7 +1237,7 @@ const CRsRcpReviewInfo* psRcpReviewInfo = m_pRP2P->IRP2P_Recipe_GetRsRcpReviewInfo(); if(psRcpReviewInfo== NULL) m_pRP2P->IRP2P_DisplayMessage(_T("RcpReviewInfo is NULL")); - if(psRcpReviewInfo->m_bDefocusUse) //190819chm 占쏙옙占쏙옙커占쏙옙 占싯띰옙 占쏙옙占� + if(psRcpReviewInfo->m_bDefocusUse) //190819chm 占쏙옙占쏙옙커占쏙옙 占싯띰옙 占쏙옙占? { if(pReviewResult->nLocation == DefectLoc_ASG || pReviewResult->nLocation == DefectLoc_PAD || pReviewResult->nLocation == DefectLoc_C2C) { @@ -1276,22 +1278,21 @@ } } - if (pReviewResult->nModuleIdx == 0) + if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft()) { m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue; - /* double dAverageGray = 0.0; - if (CCHImageProcess::ImageAverage(pImageData, dAverageGray) == 1) - { - m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dAverageGray; - }*/ - } - else + m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue); + } + else if(pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight()) { m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue; - + m_pRP2P->IRP2P_SetFirstReviewRight(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue); } } } + //#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 MOD Start else { double dFocusValue = 0.; @@ -1309,15 +1310,21 @@ dFocusValue = CalcFocusValue(imageConvert.GetImageBuffer(), imageConvert.GetWidth(), imageConvert.GetHeight()); } - if (pReviewResult->nModuleIdx == 0) + if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft()) { m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue; + m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue); } - else + else if (pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight()) { m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue; + m_pRP2P->IRP2P_SetFirstReviewRight(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue); + } } + //#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 MOD End @@ -1342,7 +1349,7 @@ pReviewResult->strSnapTime.Format(_T("%04d%02d%02d%02d%02d%02d"), snapTime.GetYear(), snapTime.GetMonth(), snapTime.GetDay(), snapTime.GetHour(), snapTime.GetMinute(), snapTime.GetSecond()); // snap_time - // 占쏙옙占쏙옙 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占쏙옙 占싱몌옙 占쏙옙占쏙옙占� + // 占쏙옙占쏙옙 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占쏙옙 占싱몌옙 占쏙옙占쏙옙占? CString strImageFileName = _T(""); if (MakeUserImageFileName(pReviewResult)==FALSE) { @@ -1377,7 +1384,7 @@ //uploadImage.SaveImage(strPath, 40); // 화占쏙옙 60% 150k if(GetReviewProcessStatus() == ReviewProcessStatus_UserStart) { - // 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙 20190917 chm + // 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占?占쏙옙占쏙옙 20190917 chm //strPath.Format(_T("%s\\%s\\%s"), m_strSaveImageUploadPath, m_strGlassID, pReviewResult->strUploadImgFileName); strPath.Format(_T("%s\\%s"), m_strSaveImageUploadPath, pReviewResult->strUploadImgFileName); nSize = SaveReviewImage(&uploadImage, strPath, m_nReviewImageSize, m_nReviewImageQuality, m_nReviewImageStep); @@ -1399,7 +1406,7 @@ const CRsRcpReviewInfo* psRcpReviewInfo = m_pRP2P->IRP2P_Recipe_GetRsRcpReviewInfo(); if(psRcpReviewInfo== NULL) m_pRP2P->IRP2P_DisplayMessage(_T("RcpReviewInfo is NULL")); - if(psRcpReviewInfo->m_bDefocusUse) //190819chm 占쏙옙占쏙옙커占쏙옙 占싯띰옙 占쏙옙占� + if(psRcpReviewInfo->m_bDefocusUse) //190819chm 占쏙옙占쏙옙커占쏙옙 占싯띰옙 占쏙옙占? { if(pReviewResult->nLocation == DefectLoc_ASG || pReviewResult->nLocation == DefectLoc_PAD || pReviewResult->nLocation == DefectLoc_C2C) { @@ -1422,9 +1429,23 @@ if (imageConvert.GetImageExist()) { dFocusValue = CalcFocusValue(imageConvert.GetImageBuffer(), imageConvert.GetWidth(), imageConvert.GetHeight()); + + if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft()) + { + m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue; + m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue); + } + else if (pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight()) + { + m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue; + m_pRP2P->IRP2P_SetFirstReviewRight(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue); + + } + } - // count defocus CGlassResult* pGlassResult = m_pRP2P->IRP2P_GetCurrentGlassResult(); if (pGlassResult) @@ -1444,6 +1465,39 @@ } } + //#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 ADD Start + else + { + double dFocusValue = 0.; + CCHImageData imageConvert; + if (pImageData->GetChannels() != 1) + { + CCHImageProcess::ImageConvert(pImageData, &imageConvert, ConvertTypeRGB2Gray); + } + else + { + pImageData->CopyImageTo(&imageConvert); + } + if (imageConvert.GetImageExist()) + { + dFocusValue = CalcFocusValue(imageConvert.GetImageBuffer(), imageConvert.GetWidth(), imageConvert.GetHeight()); + } + + if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft()) + { + m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue; + m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue); + } + else if (pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight()) + { + m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue; + m_pRP2P->IRP2P_SetFirstReviewRight(FALSE); + m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue); + + } + } + //#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 ADD End return ReviewResult_Process_Complete; } @@ -1484,7 +1538,7 @@ pReviewResult->strSnapTime.Format(_T("%04d%02d%02d%02d%02d%02d"), snapTime.GetYear(), snapTime.GetMonth(), snapTime.GetDay(), snapTime.GetHour(), snapTime.GetMinute(), snapTime.GetSecond()); // snap_time - // 占쏙옙占쏙옙 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占쏙옙 占싱몌옙 占쏙옙占쏙옙占� + // 占쏙옙占쏙옙 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占쏙옙 占싱몌옙 占쏙옙占쏙옙占? CString strImageFileName = _T(""); if (MakeReflowImageFileName(pReviewResult)==FALSE) { @@ -1501,7 +1555,7 @@ reflowParam reParam; //Reflow 占쏙옙占쏙옙 占쏙옙占쏙옙 - reflowResult reResult;//Reflow 占쏙옙占� 占쏙옙占쏙옙 + reflowResult reResult;//Reflow 占쏙옙占?占쏙옙占쏙옙 ////////////////////////////////////////////////////////////////////////////////////////////// BOOL btFlag =0; @@ -1656,7 +1710,7 @@ //uploadImage.SaveImage(strPath, 40); // 화占쏙옙 60% 150k if(GetReviewProcessStatus() == ReviewProcessStatus_ReflowStart) { - // 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占� 占쏙옙占쏙옙 20190917 chm + // 占쏙옙占싸듸옙 占싱뱄옙占쏙옙 占쏙옙占?占쏙옙占쏙옙 20190917 chm //strPath.Format(_T("%s\\%s\\%s"), m_strSaveImageUploadPath, m_strGlassID, pReviewResult->strUploadImgFileName); strPath.Format(_T("%s\\%s"), m_strSaveImageUploadPath, pReviewResult->strUploadImgFileName); nSize = SaveReviewImage(&uploadImage, strPath, m_nReviewImageSize, m_nReviewImageQuality, m_nReviewImageStep); @@ -1909,7 +1963,7 @@ if(GetReviewProcessStatus() == ReviewProcessStatus_ReviewStart) { - // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占� '*' 占쏙옙占� 占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) + // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占?'*' 占쏙옙占?占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) if (pReviewResult->strDefectCode.Compare(_T("***")) == 0) strDefectCodeTemp = _T("DC"); else @@ -2000,7 +2054,7 @@ snapTime.GetHour(), snapTime.GetMinute(), snapTime.GetSecond()); // snap_time - // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占� 占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占�) + // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占?占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占? pReviewResult->strOrignalImgFileName = strFileName + _T(".bmp"); strFileName += _T(".jpg"); @@ -2061,7 +2115,7 @@ if(GetReviewProcessStatus() == ReviewProcessStatus_UserStart) { - // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占� '*' 占쏙옙占� 占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) + // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占?'*' 占쏙옙占?占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) if (pReviewResult->strDefectCode.Compare(_T("***")) == 0) strDefectCodeTemp = _T("DC"); else @@ -2155,7 +2209,7 @@ // strFileName += pReviewResult->strSnapTime; // } - // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占� 占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占�) + // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占?占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占? pReviewResult->strOrignalImgFileName = strFileName + _T(".bmp"); strFileName += _T(".jpg"); @@ -2238,7 +2292,7 @@ FindAoiDefectImagePath(strGlassID, nOpticType, nPosX, nPosY, strAoiDarkPath, strAoiBrightPath); - // Dark, Bright 占쏙옙占� 찾占쏙옙 占쏙옙占쏙옙 占쌍쇽옙처占쏙옙 [2017.7.1 bhs] + // Dark, Bright 占쏙옙占?찾占쏙옙 占쏙옙占쏙옙 占쌍쇽옙처占쏙옙 [2017.7.1 bhs] // Dark image //if(nOpticType & DEFECT_OPTIC_DARK) { @@ -2283,7 +2337,7 @@ CFileFind finder; CString strSearchPath = _T(""); - // Dark, Bright 占쏙옙占� 찾占쏙옙 占쏙옙占쏙옙 占쌍쇽옙처占쏙옙 [2017.7.1 bhs] + // Dark, Bright 占쏙옙占?찾占쏙옙 占쏙옙占쏙옙 占쌍쇽옙처占쏙옙 [2017.7.1 bhs] //if (nOpticType & DEFECT_OPTIC_DARK) { // Dark field @@ -2357,7 +2411,7 @@ processTimer.End(); } - // 4-3. 占쏙옙占쏙옙占쏙옙占� 占쏙옙占� + // 4-3. 占쏙옙占쏙옙占쏙옙占?占쏙옙占? double dAverageGray = 0.0; if (CCHImageProcess::ImageAverage(&bandImage, dAverageGray)==1) { @@ -2464,7 +2518,7 @@ double dRulerGab = 20.0 / m_dReviewImageScale; double dScaleResolution = pReviewResult->dMeasureResolution / m_dReviewImageScale; - //DrawRuler(&memDC, nTotalWidth, nTotalHeight2, dScaleResolution, dRulerGab); // resolution, ruler gab //taek 210127 占쏙옙占� X + //DrawRuler(&memDC, nTotalWidth, nTotalHeight2, dScaleResolution, dRulerGab); // resolution, ruler gab //taek 210127 占쏙옙占?X // draw text string DrawDefectInfo(&memDC, findResult, pReviewResult); @@ -2580,7 +2634,7 @@ int nTotalWidth = int(m_nReviewResizeWidth * m_dReviewImageScale + 0.5); int nTotalHeight = int(m_nReviewResizeHeight * m_dReviewImageScale + 0.5); - // Dark, Bright 占싱뱄옙占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占쌕듸옙占쏙옙 占쏙옙占쏙옙, Dark 占쏙옙, Bright 占싣뤄옙 - 占쏙옙占쏙옙占� 占쏙옙청[2017.6.30 bhs] + // Dark, Bright 占싱뱄옙占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占쌕듸옙占쏙옙 占쏙옙占쏙옙, Dark 占쏙옙, Bright 占싣뤄옙 - 占쏙옙占쏙옙占?占쏙옙청[2017.6.30 bhs] //int nX = nTotalWidth - nWidth; //int nY = nTotalHeight - (nHeight * 2); @@ -2592,7 +2646,7 @@ //pAoiDark1->ShowImage(pDC->m_hDC, nTotalWidth - nWidth, nTotalHei4ght-nHeight, pAoiDark1->GetWidth(), pAoiDark1->GetHeight(), 0, 0); //pAoiBright1->ShowImage(pDC->m_hDC, nTotalWidth - nWidth, nTotalHeight-nHeight, pAoiBright1->GetWidth(), pAoiBright1->GetHeight(), 0, 0); - // 占싯삼옙 占싱뱄옙占쏙옙 占쌩앙울옙 화占쏙옙표 표占쏙옙 - 占쏙옙占쏙옙占� 占쏙옙청 [2017.6.30 bhs] + // 占싯삼옙 占싱뱄옙占쏙옙 占쌩앙울옙 화占쏙옙표 표占쏙옙 - 占쏙옙占쏙옙占?占쏙옙청 [2017.6.30 bhs] CFont Font; VERIFY(Font.CreateFont( 50, // nHeight @@ -2827,7 +2881,7 @@ } //taek 210127 - //占쏙옙占쏙옙占쏙옙占� 占쏙옙표占쏙옙 y 占쏙옙 *-1占쏙옙 占쏙옙占쏙옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙표占쏙옙 y 占쏙옙 *-1占쏙옙 占쏙옙占쏙옙 //占쏙옙占쏙옙 ID, 占싯삼옙 카占쌨띰옙 占쏙옙占쏙옙, 占싯삼옙 Camera 占쏙옙占쏙옙 : (? ) 캠 ?, Cell ID, Review Cam 占쏙옙占쏙옙 : Gantry 占쏙옙占쏙옙, 占쏙옙占쏙옙 Size, 占쏙옙占쏙옙 Zone 占쏙옙占쏙옙, Stak Flag, CODE 占쏙옙占쏙옙, 占쏙옙표 占쏙옙占쏙옙 // PPID @@ -3043,7 +3097,7 @@ if(GetReviewProcessStatus() == ReviewProcessStatus_ReflowStart) { - // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占� '*' 占쏙옙占� 占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) + // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占?'*' 占쏙옙占?占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) if (pReviewResult->strDefectCode.Compare(_T("***")) == 0) strDefectCodeTemp = _T("DC"); else @@ -3120,7 +3174,7 @@ // strFileName += pReviewResult->strSnapTime; // } - // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占� 占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占�) + // [2017:4:10]-[WEZASW] : 占쏙옙占쏙옙占?占쏙옙청占쏙옙 占쏙옙占쏙옙 bmp 占쏙옙占쏙옙 占쌩곤옙 占쏙옙占쏙옙. (占쌈시삼옙占? pReviewResult->strOrignalImgFileName = strFileName + _T(".bmp"); strFileName += _T(".jpg"); @@ -3174,7 +3228,7 @@ g_pLog->DisplayMessage(_T("[ReviewProcessor]SetWsiResultData module[%d] point[%d] result[%d]"), nModuleIndex, measureResut.nResultIndex, nCurResultIdx); } - // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 + // 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 wsiResult.nWsi_ResultCode = measureResut.nResultCode; wsiResult.dWsi_DamDistance = measureResut.dDamDistance; @@ -3184,7 +3238,7 @@ } //memcpy(wsiResult.nWsi_pReflowResultData, measureResut.pReflowResultData, sizeof(wsiResult.nWsi_pReflowResultData)); - // 占쏙옙占� 占쏙옙占쏙옙占쏙옙 占쌩곤옙 + // 占쏙옙占?占쏙옙占쏙옙占쏙옙 占쌩곤옙 SReviewResult *pProcessResult = NULL; if (pGlassResult->SetWsiReflowResultData(nModuleIndex, nCurResultIdx, wsiResult, nGlassPosX, nGlassPosY, nMotorPosX, nMotorPosY, dTime)) { @@ -3212,7 +3266,7 @@ LeaveCriticalSection(&m_csUserCriticalSection); - // 占쏙옙占� 占쏙옙占쏙옙. + // 占쏙옙占?占쏙옙占쏙옙. m_pRP2P->IRP2P_UpdateReviewResult(nModuleIndex, pGlassResult, 5); return; @@ -3238,7 +3292,7 @@ nResultPosY = double(GLASS_SIZE_HEIGHT)/2. - dPosY; } - else if(nCornercut == RPCRightTop)//占쏙옙占� + else if(nCornercut == RPCRightTop)//占쏙옙占? { nResultPosX = double(GLASS_SIZE_WIDTH)/2. - dPosX; nResultPosY = double(GLASS_SIZE_HEIGHT)/2. + dPosY; @@ -3256,7 +3310,7 @@ } } - else if(nOriginDirection==RPORightTop){//占쏙옙占쏙옙占쏙옙占쏙옙占� + else if(nOriginDirection==RPORightTop){//占쏙옙占쏙옙占쏙옙占쏙옙占? if(nCornercut == RPCLeftTop)//占승삼옙 { @@ -3264,7 +3318,7 @@ nResultPosY = double(GLASS_SIZE_HEIGHT)/2. + dPosY; } - else if(nCornercut == RPCRightTop)//占쏙옙占� + else if(nCornercut == RPCRightTop)//占쏙옙占? { nResultPosX = double(GLASS_SIZE_WIDTH)/2. - dPosX; nResultPosY = double(GLASS_SIZE_HEIGHT)/2. - dPosY; @@ -3292,7 +3346,7 @@ nResultPosX = double(GLASS_SIZE_WIDTH) / 2. + dPosX; nResultPosY = double(GLASS_SIZE_HEIGHT) / 2. + dPosY; } - else if(nCornercut == RPCRightTop)//占쏙옙占� + else if(nCornercut == RPCRightTop)//占쏙옙占? { nResultPosX = double(GLASS_SIZE_WIDTH)/2. + dPosX; nResultPosY = double(GLASS_SIZE_HEIGHT)/2. + dPosY; @@ -3321,7 +3375,7 @@ nResultPosY = double(GLASS_SIZE_HEIGHT)/2. + dPosY; } - else if(nCornercut == RPCRightTop)//占쏙옙占� + else if(nCornercut == RPCRightTop)//占쏙옙占? { nResultPosX = double(GLASS_SIZE_WIDTH)/2. + dPosX; nResultPosY = double(GLASS_SIZE_HEIGHT)/2. - dPosY; @@ -3357,7 +3411,7 @@ CString strFileName = _T(""); CString strDefectCodeTemp = _T(""); - // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占� '*' 占쏙옙占� 占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) + // [2017:6:5]-[WEZASW] : Review Image 占쏙옙占싹몌옙占?'*' 占쏙옙占?占쏙옙占쏙옙.(占쏙옙占쏙옙처占쏙옙) if (pReviewResult->strDefectCode.Compare(_T("***")) == 0) strDefectCodeTemp = _T("DC"); else @@ -3421,7 +3475,7 @@ { if(pReviewResult == NULL) return FALSE; - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨몌옙 占쏙옙占쏙옙 占싱뱄옙占쏙옙 占싱몌옙 占쏙옙 占쏙옙표 채占쏙옙占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨몌옙 占쏙옙占쏙옙 占싱뱄옙占쏙옙 占싱몌옙 占쏙옙 占쏙옙표 채占쏙옙占쌍깍옙 CDitGlassRawClient *pDitGlassRawCleint = CDitGlassRawClient::GetInstance(); if(pDitGlassRawCleint->isConnect() == TRUE) { @@ -3442,10 +3496,10 @@ strcpy(pSharedGlassData->m_strAlignFirst, m_strReviewFirst.MakeLower()); strcpy(pSharedGlassData->m_strAlignSecond, m_strReviewSecned.MakeLower()); - pSharedDefectReview->m_nPlanType = ditRaw::RPT_Review; //0:None, 1:Location(User, Fiexed) Review, 4:reflower, ??:Wsi, 1000:AOI(占쌤븝옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占�) + pSharedDefectReview->m_nPlanType = ditRaw::RPT_Review; //0:None, 1:Location(User, Fiexed) Review, 4:reflower, ??:Wsi, 1000:AOI(占쌤븝옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占? pSharedDefectReview->m_nResultCode = 1; //0:None, 1:Success pSharedDefectReview->m_nShotIndex = pReviewResult->nResultIdx; - //pSharedDefectReview->m_nShotIndex = GetPlanReviewCount(); //RTMS 占쏙옙占쌔울옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占쏙옙占� 占싣니몌옙 占쏙옙占쏙옙占쏙옙 占싹댐옙 占심뤄옙 taek 210128 + //pSharedDefectReview->m_nShotIndex = GetPlanReviewCount(); //RTMS 占쏙옙占쌔울옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙 占쏙옙占?占싣니몌옙 占쏙옙占쏙옙占쏙옙 占싹댐옙 占심뤄옙 taek 210128 pSharedDefectReview->m_nModuleIndex = pReviewResult->nModuleIdx; pSharedDefectReview->m_nMagnificIndex = 20; pSharedDefectReview->m_fManification =pReviewResult->dMagnification; @@ -3459,7 +3513,7 @@ BOOL CReviewProcessor_CPJT::UpdateMemoryUserPlan( SReviewResult* pReviewResult ) { - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨몌옙 占쏙옙占쏙옙 占싱뱄옙占쏙옙 占싱몌옙 占쏙옙 占쏙옙표 채占쏙옙占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨몌옙 占쏙옙占쏙옙 占싱뱄옙占쏙옙 占싱몌옙 占쏙옙 占쏙옙표 채占쏙옙占쌍깍옙 CDitGlassRawClient *pDitRawClient = CDitGlassRawClient::GetInstance(); if(pDitRawClient->isConnect() == TRUE) { @@ -3476,7 +3530,7 @@ strcpy(pSharedDefectReview->m_strRevImageName,pReviewResult->strImgFileName); - pSharedDefectReview->m_nPlanType = ditRaw::RPT_User; //0:None, 1:Location(User, Fiexed) Review, 4:reflower, ??:Wsi, 1000:AOI(占쌤븝옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占�) + pSharedDefectReview->m_nPlanType = ditRaw::RPT_User; //0:None, 1:Location(User, Fiexed) Review, 4:reflower, ??:Wsi, 1000:AOI(占쌤븝옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占? pSharedDefectReview->m_nResultCode = 1; //0:None, 1:Success pSharedDefectReview->m_nShotIndex = pReviewResult->nResultIdx; pSharedDefect->m_nShotIdx = pReviewResult->nResultIdx; @@ -3495,7 +3549,7 @@ BOOL CReviewProcessor_CPJT::UpdateMemoryReflowPlan( SReviewResult* pReviewResult ) { if(pReviewResult == NULL) return FALSE; - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占� 채占쏙옙 占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占?채占쏙옙 占쌍깍옙 CDitGlassRawClient *pDitRawClient = CDitGlassRawClient::GetInstance(); //int nEqpID = m_pSP2P->ISP2P_System_GetSystemInfo()->m_nMachineType; CString strCellID = _T(""); @@ -3517,7 +3571,7 @@ nReflowjuge=1; } - // 占쏙옙占쏙옙占� 占쏙옙청占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙. 0,1 Position占쏙옙 Pass + // 占쏙옙占쏙옙占?占쏙옙청占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙. 0,1 Position占쏙옙 Pass else if(nReflowjuge == 3 || nReflowjuge == 2) { m_pRP2P->IRP2P_DisplayMessage(_T("[ReflowResult] Reflow Judge Is No OverFlow %d"),nReflowjuge); @@ -3582,7 +3636,7 @@ { if(pReviewResult == NULL) return FALSE; - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占� 채占쏙옙 占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占?채占쏙옙 占쌍깍옙 CDitGlassRawClient *pDitGlassRawClient = CDitGlassRawClient::GetInstance(); if(pDitGlassRawClient->isConnect() == TRUE) @@ -3624,7 +3678,7 @@ BOOL CReviewProcessor_CPJT::UpdateMemoryWsiReflowPlan( SReviewResult* pReviewResult ) { if(pReviewResult == NULL) return FALSE; - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占� 채占쏙옙 占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占?채占쏙옙 占쌍깍옙 CDitGlassRawClient *pDitRawClient = CDitGlassRawClient::GetInstance(); @@ -3638,12 +3692,12 @@ /* pPacket->GetInt(0) = Index - pPacket->GetInt(1) = Wsi 占쏙옙占쏙옙 占쏙옙占� - pPacket->GetInt(2) = A占쏙옙 占쏙옙占쏙옙 占쏙옙占� (1 占쏙옙占쏙옙 0 占쏙옙占쏙옙) - pPacket->GetInt(3) = B占쏙옙 占쏙옙占쏙옙 占쏙옙占� - pPacket->GetInt(4) = C占쏙옙 占쏙옙占쏙옙 占쏙옙占� - pPacket->GetInt(5) = D占쏙옙 占쏙옙占쏙옙 占쏙옙占� - pPacket->GetInt(6) = Review占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占� PointIndex + pPacket->GetInt(1) = Wsi 占쏙옙占쏙옙 占쏙옙占? + pPacket->GetInt(2) = A占쏙옙 占쏙옙占쏙옙 占쏙옙占?(1 占쏙옙占쏙옙 0 占쏙옙占쏙옙) + pPacket->GetInt(3) = B占쏙옙 占쏙옙占쏙옙 占쏙옙占? + pPacket->GetInt(4) = C占쏙옙 占쏙옙占쏙옙 占쏙옙占? + pPacket->GetInt(5) = D占쏙옙 占쏙옙占쏙옙 占쏙옙占? + pPacket->GetInt(6) = Review占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙占?PointIndex pPacket->GetDouble(0) = 占쏙에占쏙옙 Monomo占쏙옙占쏙옙占쏙옙 占신몌옙 */ @@ -3655,7 +3709,7 @@ nWsiReflowJudge = pReviewResult->nWsi_ResultCode; - //nWsiReflowResult += pReviewResult->nWsi_pReflowResultData[0] //A 1占쏙옙 占신곤옙횡占� + //nWsiReflowResult += pReviewResult->nWsi_pReflowResultData[0] //A 1占쏙옙 占신곤옙횡占? nWsiReflowResult += pReviewResult->nWsi_pReflowResultData[1];//B nWsiReflowResult += pReviewResult->nWsi_pReflowResultData[2];//C //nWsiReflowResult += pReviewResult->nWsi_pReflowResultData[3];//D @@ -3715,7 +3769,7 @@ { if(pReviewResult == NULL) return FALSE; - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占� 채占쏙옙 占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占?채占쏙옙 占쌍깍옙 CDitGlassRawClient *pDitGlassRawClient = CDitGlassRawClient::GetInstance(); if(pDitGlassRawClient->isConnect() == TRUE) @@ -3750,7 +3804,7 @@ { if (pReviewResult == NULL) return FALSE; - //占쏙옙占쏙옙占쏙옙占� 占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占� 채占쏙옙 占쌍깍옙 + //占쏙옙占쏙옙占쏙옙占?占쏙옙占쏙옙 占쌨모리울옙 占쏙옙占?채占쏙옙 占쌍깍옙 CDitGlassRawClient *pDitGlassRawClient = CDitGlassRawClient::GetInstance(); if (pDitGlassRawClient->isConnect() == TRUE) -- Gitblit v1.9.3