From ea59e5356f149db6e6e2e3f063aa5ee10a44b68e Mon Sep 17 00:00:00 2001 From: KEJ <kimeungju@diteam.co.kr> Date: 금, 24 11월 2023 17:39:42 +0900 Subject: [PATCH] Ongoing80 #4669 CF AOI Review Glass Grade PT판정 처리 추가 1. Glass, Cell PT 판정 추가. 2. GlassRawMessenger 데이터 추가 3. GlassRawMessenger 동기화 --- ReviewSystem/bin/CHReviewSettingd_x64_vc15.pdb | 0 ReviewSystem/bin/LineChecker_x64_vc15.pdb | 0 ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.pdb | 0 ReviewSystem/bin/CHMotorControls_x64_vc15.dll | 0 ReviewSystem/bin/ReviewRecipeEditor.exe | 0 DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.pdb | 0 ReviewSystem/bin/CHReviewReciped_x64_vc15.dll | 0 ReviewSystem/bin/CHReviewSetting_x64_vc15.dll | 0 DitGlassRawMessenger/Extern/DitGlassRawStruct.h | 2 ReviewSystem/bin/CHDefectPickerd_x64_vc15.dll | 0 ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.dll | 0 DitGlassRawMessenger/DitGlassRawMessenger/StackResultCPJT.cpp | 5 ReviewSystem/bin/CHResultFileManager_x64_vc15.dll | 0 ReviewSystem/bin/CHReviewSetting_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewSettingd_x64_vc15.dll | 0 ReviewSystem/bin/CHAfmControlsd_x64_vc15.pdb | 0 ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.pdb | 0 ReviewSystem/bin/CHDefectPicker_x64_vc15.dll | 0 ReviewSystem/bin/ReviewSystemSetting.exe | 0 ReviewSystem/bin/CHResultFileManager_x64_vc15.pdb | 0 ReviewSystem/bin/CHAfmControlsd_x64_vc15.dll | 0 ReviewSystem/bin/CHLightControls_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewReciped_x64_vc15.pdb | 0 ReviewSystem/bin/CHMotorControlsd_x64_vc15.pdb | 0 ReviewSystem/bin/CHAlignFinder_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewResult_x64_vc15.dll | 0 ReviewSystem/bin/CHSignalControlsd_x64_vc15.pdb | 0 ReviewSystem/bin/ReviewRecipeEditor.pdb | 0 ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.pdb | 0 ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.dll | 0 ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.exe | 0 ReviewSystem/bin/CHDefectPicker_x64_vc15.pdb | 0 ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.exe | 0 ReviewSystem/bin/CHReviewResult_x64_vc15.pdb | 0 ReviewSystem/bin/CHMotorControlsd_x64_vc15.dll | 0 ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.dll | 0 ReviewSystem/ReviewRecipeEditor/CDlgJudgement.cpp | 8 DitGlassRawMessenger/DitGlassRawMessenger/GlassRawBase.h | 2 ReviewSystem/bin/CHDefectPickerd_x64_vc15.pdb | 0 ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.pdb | 0 ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.pdb | 0 ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.pdb | 0 ReviewSystem/bin/CHLightControlsd_x64_vc15.dll | 0 ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.pdb | 0 DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.exe | 0 ReviewSystem/bin/ReviewSystem.pdb | 0 ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.pdb | 0 ReviewSystem/bin/CHLightControlsd_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.dll | 0 ReviewSystem/bin/ReviewSystemd_x64_vc10.exe | 0 ReviewSystem/bin/CHResultFileManagerd_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.dll | 0 ReviewSystem/bin/CHPathSchedulerd_x64_vc15.dll | 0 ReviewSystem/bin/CHPathScheduler_x64_vc15.pdb | 0 ReviewSystem/bin/CHSignalControls_x64_vc15.dll | 0 ReviewSystem/bin/CHAlignFinderd_x64_vc15.pdb | 0 ReviewSystem/bin/CHResultFileManagerd_x64_vc15.dll | 0 ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.pdb | 0 ReviewSystem/ReviewSystem/DitGlassRawStruct.h | 2 ReviewSystem/bin/LineCheckerd_x64_vc15.dll | 0 ReviewSystem/bin/CHReviewRecipe_x64_vc15.dll | 0 ReviewSystem/bin/CHPathSchedulerd_x64_vc15.pdb | 0 ReviewSystem/bin/CHSignalControlsd_x64_vc15.dll | 0 ReviewSystem/bin/CHAlignFinder_x64_vc15.dll | 0 ReviewSystem/bin/CHAlignFinderd_x64_vc15.dll | 0 ReviewSystem/bin/CHPathScheduler_x64_vc15.dll | 0 ReviewSystem/bin/CHReviewRecipe_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.dll | 0 DitGlassRawMessenger/DitGlassRawMessenger/AnaResultFile.cpp | 55 ++ ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.dll | 0 ReviewSystem/include/CHReviewRecipe/RcpJudgeInfo.h | 3 ReviewSystem/bin/CHReviewResultd_x64_vc15.dll | 0 ReviewSystem/bin/CHLightControls_x64_vc15.dll | 0 ReviewSystem/bin/ReviewSystem.exe | 0 ReviewSystem/bin/CHReviewResultParserd_x64_vc15.dll | 0 ReviewSystem/bin/ReviewSystemd_x64_vc10.pdb | 0 ReviewSystem/bin/CHReviewResultd_x64_vc15.pdb | 0 DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp | 8 ReviewSystem/bin/CHReviewResultParser_x64_vc15.pdb | 0 DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.pdb | 0 ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp | 210 +++++++++ ReviewSystem/bin/CHAfmControls_x64_vc15.pdb | 0 ReviewSystem/bin/CHReviewResultParserd_x64_vc15.pdb | 0 ReviewSystem/bin/LineCheckerd_x64_vc15.pdb | 0 /dev/null | 787 --------------------------------------- DitGlassRawMessenger/DitGlassRawMessenger/akLoggerExt.cpp | 3 ReviewSystem/bin/CHSignalControls_x64_vc15.pdb | 0 ReviewSystem/bin/LineChecker_x64_vc15.dll | 0 DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.exe | 0 ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.pdb | 0 ReviewSystem/bin/CHMotorControls_x64_vc15.pdb | 0 ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.dll | 0 ReviewSystem/bin/ReviewSystemSetting.pdb | 0 ReviewSystem/bin/CHAfmControls_x64_vc15.dll | 0 DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp | 57 ++ ReviewSystem/bin/CHReviewResultParser_x64_vc15.dll | 0 96 files changed, 319 insertions(+), 823 deletions(-) diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/AnaResultFile.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/AnaResultFile.cpp index a448821..acabcf6 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/AnaResultFile.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/AnaResultFile.cpp @@ -49,7 +49,11 @@ for (int i = 0; i < MAX_ZONE_NUM; i++) fprintf(pf, ",ZoneSrcMin%02d", i); for (int i = 0; i < MAX_ZONE_NUM; i++) fprintf(pf, ",ZoneSrcMax%02d", i); for (int i = 0; i < MAX_ZONE_NUM; i++) fprintf(pf, ",ZoneSrcAvg%02d", i); - fprintf(pf, ", m_sDefectPeak, m_nPixelSize, DefectType, UMSize, Density, ScrtRatio, MergeState, Angle, Major, Minor, Compact, Thickness"); +/* < KMH 20220816 : #4271 MOD Start > */ + // R_Scale, GateLine, DataLine, Channel 항목추가 + //fprintf(pf, ", m_sDefectPeak, m_nPixelSize, DefectType, UMSize, Density, ScrtRatio, MergeState, Angle, Major, Minor, Compact, Thickness"); + fprintf(pf, ", DefectPeak, PixelSize, DefectType, UMSize, R_Scale, Density, ScrtRatio, MergeState, Angle, Major, Minor, Compact, Thickness, GateLine, DataLine, Channel"); +/* < KMH 20220816 : #4271 MOD End > */ fprintf(pf, "\n"); for (int iDefect = 0; iDefect < pData->GetGlassData()->m_nDefectNum; iDefect++) @@ -57,7 +61,42 @@ _grmDefectData* pDefect = pData->GetDefectData(iDefect); /* < KJG 20220225 - #4000 ADD Start >*/ CString strDefectCellID; - strDefectCellID.Format("%s%c%c", pData->GetGlassData()->m_strGlassID, '0' + pDefect->m_nCellIdx / 36, pCellCode[pDefect->m_nCellIdx % 36]); + /* < KMH 20220728 : # MOD Start > */ + //strDefectCellID.Format("%s%c%c", pData->GetGlassData()->m_strGlassID, '0' + pDefect->m_nCellIdx / 36, pCellCode[pDefect->m_nCellIdx % 36]); + + // enum DefectLocation { DefectLoc_Pattern = 0, DefectLoc_Crack, DefectLoc_BM, DefectLoc_ASG, DefectLoc_PAD, DefectLoc_C2C, DefectLoc_EdgeLine, DefectLoc_Proj, DefectLoc_Chip, DefectLoc_Corner, DefectLoc_DeepPad, DefectLoc_DeepAA, DefectLoc_CrackPT }; + // 3,4,5 : PAD Defect + if (pDefect->m_sDefectLoc == 3 || pDefect->m_sDefectLoc == 4 || pDefect->m_sDefectLoc == 5) + { + _grmGlassData *pGlass = pData->GetGlassData(); + int nMinDistance = max(pGlass->m_nGlassSizeWidth, pGlass->m_nGlassSizeHeight); + + for (int iCell = 0; iCell < pGlass->m_nCellNum; iCell++) + { + _grmCellData* pCell = pData->GetCellData(iCell); + + int nCellCenterX = (pCell->m_rectCellLeft + pCell->m_rectCellRight) / 2; + int nCellCenterY = (pCell->m_rectCellTop + pCell->m_rectCellBottom) / 2; + //int nTempDistance = sqrt(pow(ptCellCenter.x - pDefect->m_nUMCenterAlignX,2) + pow(ptCellCenter.y - pDefect->m_nUMCenterAlignY,2)); + + if (pDefect->m_nModelIdx == pCell->m_nModelIdx) // 디펙의 모델과 셀의 모델이 같을 때만 비교 + { + int nTempDistance = abs(nCellCenterX - pDefect->m_nUMCenterAlignX) + abs(nCellCenterY - pDefect->m_nUMCenterAlignY); // x,y 편차 합계 + + if (nMinDistance > nTempDistance) + { + nMinDistance = nTempDistance; + strDefectCellID.Format("%s%s", pData->GetGlassData()->m_strGlassID, pCell->m_strCellName); + } + } + } + } + // PAD영역 외 결함처리 + else + { + if (pDefect->m_nCellIdx >= 0) { strDefectCellID.Format("%s%s", pData->GetGlassData()->m_strGlassID, pData->GetCellData(pDefect->m_nCellIdx)->m_strCellName); } + } + /* < KMH 20220728 : # MOD End > */ /* < KJG 20220225 - #4000 ADD End >*/ if (pData->GetGlassData()->m_nScanCoordinateY == 1) //분판설비의 경우 XY반전 { @@ -146,12 +185,18 @@ { fprintf(pf, ",%d", pDefect->m_sZoneValueSrcAvg[iz]); } - fprintf(pf, ",%d, %d, %d, %d, %d, %d, %d", - pDefect->m_sDefectPeak, pDefect->m_nPixelSize, pDefect->m_DefectType, (int)pDefect->m_nUMSize, pDefect->m_nDensity, pDefect->m_nScratchRatio, pDefect->m_bMergeState); + /* < KMH 20220816 : #4271 MOD Start > */ + //fprintf(pf, ",%d, %d, %d, %d, %d, %d, %d", + // pDefect->m_sDefectPeak, pDefect->m_nPixelSize, pDefect->m_DefectType, (int)pDefect->m_nUMSize, pDefect->m_nDensity, pDefect->m_nScratchRatio, pDefect->m_bMergeState); + //fprintf(pf, ", %d, %d, %d, %d, %d", pDefect->m_nAngle, pDefect->m_nMajor, pDefect->m_nMinor, pDefect->m_nCompact, pDefect->m_nThickness); - fprintf(pf, ", %d, %d, %d, %d, %d", pDefect->m_nAngle, pDefect->m_nMajor, pDefect->m_nMinor, pDefect->m_nCompact, pDefect->m_nThickness); + //fprintf(pf, "\n"); + fprintf(pf, ",%d, %d, %d, %d, %d, %d, %d, %d", + pDefect->m_sDefectPeak, pDefect->m_nPixelSize, pDefect->m_DefectType, (int)pDefect->m_nUMSize, pDefect->m_nDefectRScale, pDefect->m_nDensity, pDefect->m_nScratchRatio, pDefect->m_bMergeState); + fprintf(pf, ", %d, %d, %d, %d, %d, %d, %d, %d", pDefect->m_nAngle, pDefect->m_nMajor, pDefect->m_nMinor, pDefect->m_nCompact, pDefect->m_nThickness, pDefect->m_nCellGate, pDefect->m_nCellData, pDefect->m_nHliLevelIdx); fprintf(pf, "\n"); + /* < KMH 20220816 : #4271 MOD End > */ } } AKLOG("MakeAnaFile Complete %s", strFilePathName); diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawBase.h b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawBase.h index 9228f32..59752dc 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawBase.h +++ b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawBase.h @@ -34,7 +34,7 @@ enum ReKind { Re_Other, Re_TFE_CIRCLE, Re_PI_CONVEX, Re_PI_CONCAVE, Re_PI_1, Re_PI_2, Re_PI_3 }; //choigudal jude fix 2012.03.07 -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_LN/*KMH 220318 : #3954 ADD */, Judge_Unknown };/* <KYH 211129 : #3796 ADD Start> */ +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_LN/*KMH 220318 : #3954 ADD */, Judge_Unknown, Judge_SR};/* <KYH 211129 : #3796 ADD Start> */ /* < KJG 20221107 - #4360 MOD > SR 판정 추가*/ enum MAP16_DefectClass { CLASS_C1 = 1, CLASS_C2, CLASS_C3, CLASS_C4, CLASS_C5, CLASS_C6, CLASS_C7, CLASS_C8, CLASS_C9, CLASS_C10, CLASS_C11, CLASS_C12, CLASS_C13, CLASS_C14, CLASS_C15, CLASS_C16 }; enum MAP16_SizeType { SIZE_SS = 0, SIZE_SM, SIZE_SL, SIZE_SOH, SIZE_IDX_MAX }; enum MAP16_PeakType { PEEK_PS = 0, PEEK_PL, PEEK_PH, PEEK_POH, PEAK_IDX_MAX }; diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp index ef25ec9..64660aa 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp @@ -58,6 +58,30 @@ Sleep(10); } } +/* < KJG 20221110 - #4373 ADD Start >*/ +auto CellIDSortFunc = [](const _grmCellData* lhs, const _grmCellData* rhs) { + // '0A' = 0, '0B' = 1, ..., '0Z' = 25, '00' = 26, ..., '09' = 35, '1A' = 36, ... + const int nAlphaSet = 'Z' - 'A' + 1; + const int nNumSet = '9' - '0' + 1; + const int nAlphaNumSet = nAlphaSet + nNumSet; + + CString str = lhs->m_strCellName; + char lhs_1st = str.Mid(str.GetLength() - 2, 1).GetAt(0); + char lhs_2st = str.Mid(str.GetLength() - 1, 1).GetAt(0); + + str = rhs->m_strCellName; + char rhs_1st = str.Mid(str.GetLength() - 2, 1).GetAt(0); + char rhs_2st = str.Mid(str.GetLength() - 1, 1).GetAt(0); + + auto GetCellValueFrom2stCellID = [&](char c) -> int { + if (c >= 'A' && c < 'Z') // 'A' �뒗 0遺��꽣 + return c - 'A'; + else if (c >= '0' && c <= '9') // '0' �� 26 遺��꽣 + return (c - '0') + nAlphaSet; + }; + return (lhs_1st - '0') * nAlphaNumSet + GetCellValueFrom2stCellID(lhs_2st) < (rhs_1st - '0') * nAlphaNumSet + GetCellValueFrom2stCellID(rhs_2st); +}; +/* < KJG 20221110 - #4373 ADD End >*/ CGlassRawCPJT::CGlassRawCPJT(void) { @@ -545,20 +569,32 @@ ////////////////////////////////////////////////////////////////////////// //CELL & DEFECT DATA + /* < KJG 20221110 - #4373 ADD Start >*/ + vector<_grmCellData*> vtSortCellData; + for (int iCell = 0; iCell < pData->GetGlassData()->m_nCellNum; iCell++) + vtSortCellData.push_back(pData->GetCellData(iCell)); + + sort(vtSortCellData.begin(), vtSortCellData.end(), CellIDSortFunc); + /* < KJG 20221110 - #4373 ADD End >*/ { - //make { for (int iCell = 0; iCell < pData->GetGlassData()->m_nCellNum; iCell++) { - _grmCellData* pCell = pData->GetCellData(iCell); + /* < KJG 20221110 - #4373 MOD Start >*/ + //_grmCellData* pCell = pData->GetCellData(iCell); + _grmCellData* pCell = vtSortCellData[iCell]; + /* < KJG 20221110 - #4373 MOD End >*/ makeDataCell(strLine, pData, pCell); fprintf(pf, "%s\n", strLine); for (int iDefect = 0; iDefect < pData->GetGlassData()->m_nDefectNum; iDefect++) { _grmDefectData* pDefect = pData->GetDefectData(iDefect); - if (pDefect->m_nCellIdx != iCell) continue; + /* < KJG 20221110 - #4373 MOD Start >*/ + //if (pDefect->m_nCellIdx != iCell) continue; + if (pDefect->m_nCellIdx != pCell->m_nCellID) continue; + /* < KJG 20221110 - #4373 MOD End >*/ //210203 CJH - CutOff ���긽 寃곌낵�뙆�씪 �옉�꽦 �젣�쇅 if (pDefect->m_bDefectCutoff == TRUE) continue; @@ -2047,12 +2083,13 @@ sprintf(pServerFile, "%s", strFileName.GetBuffer(0)); sprintf(pLocalFile, "%s", strFileName.GetBuffer(0)); + CString strTime; CString strServerSubRawFilePath= NULL; CString strServerSubRawFileName = NULL; { strServerSubRawFilePath += NETWORK_AOIRAWFILE_SUB_PATH; - CString strTime; + CTime CurrTime = m_tmFileCreateTime; strTime.Format(_T("%04d%02d%02d_%02d%02d%02d"), CurrTime.GetYear(), CurrTime.GetMonth(), CurrTime.GetDay(), CurrTime.GetHour(), CurrTime.GetMinute(), CurrTime.GetSecond()); @@ -2088,6 +2125,16 @@ fprintf(pf, "SUMPATH= \n"); fclose(pf); } + /* < KJG 20230220 - #4403 ADD Start >*/ + // BLUE �꽕鍮� D_COLL 誘몃낫怨� �썝�씤 遺꾩꽍�쓣 �쐞�븳 Result_info.ini �뙆�씪 諛깆뾽 �깮�꽦 + CString strPathBackUpDir, strPathBackUpFile; + strPathBackUpDir.Format(_T("%s%s"), LOCAL_RAWPATH_INFO_INI_PATH, _T("ResultInfoBackUpFile")); + strPathBackUpFile.Format(_T("%s_%s.ini"), strGlassID, strTime); + + CreateDirectory(strPathBackUpDir, NULL); + strPathBackUpFile.Format("%s\\%s", strPathBackUpDir, strPathBackUpFile); + CopyFile(strRawFilePathName, strPathBackUpFile, FALSE); + /* < KJG 20230220 - #4403 ADD End >*/ } break; case FTPCMD_STACK: @@ -2228,6 +2275,8 @@ /* < KMH 20220311 : #3954 ADD End > */ case Judge_Unknown: sStr.Format("OK");//sStr.Format("Unknown"); //Unknown�룄 �씪�떒 OK break; + case Judge_SR: sStr.Format("SR"); /* < KJG 20221107 - #4360 ADD >*/ + break; default: sStr.Format("OK");//sStr.Format("Ets"); break; } diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp index 290b0fd..40a0209 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp @@ -441,8 +441,12 @@ pThis->m_nProcessState = RPS_ResultReadFail; } } - if (nReadFailCount) - Sleep(500); + /* < KMH 20220825 : #4278 MOD Start > */ + // CPU 사용증가 해결 + //if (nReadFailCount) + // Sleep(500); + Sleep(500); + /* < KMH 20220825 : #4278 MOD End > */ } pThis->m_nThreadStackFileReadFlag = 0; diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/StackResultCPJT.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/StackResultCPJT.cpp index 662f92f..2d4bb59 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/StackResultCPJT.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/StackResultCPJT.cpp @@ -309,7 +309,10 @@ } - if(nReadFailCount) + /* < KMH 20220825 : #4278 DEL Start > */ + // 불필요 + //if(nReadFailCount) + /* < KMH 20220825 : #4278 DEL End > */ Sleep(500); diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/akLoggerExt.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/akLoggerExt.cpp index 55a69c2..9a75566 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/akLoggerExt.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/akLoggerExt.cpp @@ -25,7 +25,7 @@ SYSTEMTIME st; GetLocalTime(&st); char strFileName[256]; - sprintf(strFileName, "%s\\%02d%02d%02d","D:\\DIT_LogData", st.wYear, st.wMonth, st.wDay); + sprintf(strFileName, "%s\\%02d%02d%02d", "D:\\DIT_LogData", st.wYear, st.wMonth, st.wDay); CreateDirectory(strFileName, NULL); /*< KJG 20230706 - #4539 ADD End >*/ @@ -35,7 +35,6 @@ void CakLoggerExt::LogFileOpen() { - char strFileName[256]; SYSTEMTIME st; diff --git a/DitGlassRawMessenger/Extern/DitGlassRawStruct.h b/DitGlassRawMessenger/Extern/DitGlassRawStruct.h index d616fe4..a1c4a04 100644 --- a/DitGlassRawMessenger/Extern/DitGlassRawStruct.h +++ b/DitGlassRawMessenger/Extern/DitGlassRawStruct.h @@ -129,6 +129,7 @@ int m_nDefectNumJudgeRV; int m_nDefectNumJudgeTR; int m_nDefectNumJudgePR; + int m_nDefectNumJudgePT; /* < KJG 20231124 - #4627 ADD >*/ /*< LHS 20211029 - #3783 MOD Start >*/ int m_nDefectNumJudgeLine; /*< LHS 20211029 - #3783 MOD End >*/ @@ -338,6 +339,7 @@ int m_nDefectNumJudgeRV; int m_nDefectNumJudgeTR; int m_nDefectNumJudgePR; + int m_nDefectNumJudgePT; /* < KJG 20231124 - #4627 ADD >*/ /*< LHS 20211029 - #3783 MOD Start >*/ int m_nDefectNumJudgeLine; /*< LHS 20211029 - #3783 MOD End >*/ diff --git a/DitGlassRawMessenger/Extern/DitGlassRawStruct_0629_Back.h b/DitGlassRawMessenger/Extern/DitGlassRawStruct_0629_Back.h deleted file mode 100644 index d7fc000..0000000 --- a/DitGlassRawMessenger/Extern/DitGlassRawStruct_0629_Back.h +++ /dev/null @@ -1,787 +0,0 @@ -#pragma once - -#define SHAREDMEMNAME_BASICINFO _T("DIT.GLASSRAWSYSTEM.SHAREDMEM.BASICINFO") -#define SHAREDMEMNAME_GLASSDATA _T("DIT.GLASRAWSYSTEM.SHAREDMEM.GLASSDATA") -#define MUTEX_RAWMESSENGER _T("MUTEX_RAWMESSENGER_IPC") - -#define COMMAND_MAXCOUNT 8 - -#define RAWMESSENGER_MAXCAMNUM 30 -#define RAWMESSENGER_MAXSCANNUM 20 -#define RAWMESSENGER_MAXHLINUM 8 -#define RAW_CODE_MAX 10 - -#define MAX_ZONE_NUM 16 - -namespace ditRaw -{ - enum ReviewPlanType - { - RPT_Review = 0, - RPT_User, - RTP_WSI, - RTP_PlanMeasure, - RTP_Reflow, - RTP_WsiReflow, - RTP_UserWsi, - RPT_AOICustom = 1000, - }; -}; -enum emAOIProcStep -{ - APS_None = 0, - - //AOI - APS_GlassLoading, - APS_InspectEnd, - //Review - APS_CustomReviewRead, - APS_ReviewStart, - APS_ReviewEnd, - - RPS_StepNum -}; - -struct _grmGlassData -{ - void clear() - { - memset(this, 0, sizeof(_grmGlassData)); - } - - //Glass 정보 - char m_strFileName[64]; - char m_strPath[256]; - - int m_nCellNum; - int m_nDefectNum; - - int m_nOriginDirection; //{ GD_LeftTop = 0, GD_RightTop = 1, GD_LeftBottom = 10, GD_RightBottom = 11 }; - int m_nConerCutDirection; - int m_nScanCoordinateY; //여기가 0이면 일반, 1이면 Scan방향이 y축(즉 scan방향이 단축, offline 설비 같은) - - int m_nGlassSizeWidth; - int m_nGlassSizeHeight; - /* <KYH 211129 : #3796 ADD Start> */ - int m_nDefectNumJudgeND; - /* <KYH 211129 : #3796 ADD End> */ - //DUMY DATA - int Dumy_int[9]; - - //설비정보 - char m_strLine[32]; - char m_strEquipType[32]; - char m_strEquipID[32]; - char m_strStepID[32]; - char m_strOperID[32]; - - CTime m_tmGlassLoading; //3. START_TIME - CTime m_tmInspectionStart; //3. START_TIME - CTime m_tmInspectionEND; //4. END_TIME - CTime m_tmReviewLoading; - CTime m_tmReviewEnd; - - //기본 물류정보 - char m_strGlassID[32]; //Glass ID - char m_strPPID[32]; - char m_strEPPID[32]; - char m_strLotID[32]; //LOT_ID - char m_strSLotID[32]; //SLOT_ID - char m_strRecipeName[32]; //RECIPE_NAME - char m_strGlassJudge[32]; //GLASS_JUDGE - char m_strGlassCode[32]; //Grade or Code - char m_strProductID[16]; //4. PRODUCT_ID - - //VCR - int m_nVcrResultCode; - char m_strVCRResult[32]; - char m_strVCRGlassID[32]; - - - //결함 갯수 관리 변수 - int m_nDefectNumSizeSmall; - int m_nDefectNumSizeMid; - int m_nDefectNumSizeLarge; - int m_nDefectNumSizeHuge; - int m_nDefectNumSizeUltra; - - int m_nDefectNumLocActive; - int m_nDefectNumLocPad; - int m_nDefectNumLocCrack; - int m_nDefectNumLocBM; - - int m_nDefectNumTypeTB; - int m_nDefectNumTypeTW; - int m_nDefectNumTypeRB; - int m_nDefectNumTypeRW; - int m_nDefectNumTypeMD; - int m_nDefectNumTypeCD; - int m_nDefectNumTypeMC; - /* <LJC 20220422 : #3957 ADD Start> */ - int m_nDefectCode[RAW_CODE_MAX]; - /* <LJC 20220422 : #3957 ADD End> */ - - int m_nDefectNumJudgeOKWhite; - int m_nDefectNumJudgeOKBlack; - int m_nDefectNumJudgeNG; - int m_nDefectNumJudgeRW; - int m_nDefectNumJudgeRP; - int m_nDefectNumJudgeRV; - int m_nDefectNumJudgeTR; - int m_nDefectNumJudgePR; - /*< LHS 20211029 - #3783 MOD Start >*/ - int m_nDefectNumJudgeLine; - /*< LHS 20211029 - #3783 MOD End >*/ - int m_nDefectNumStackTD; - int m_nDefectNumStackSD; - int m_nDefectNumStackPD; - int m_nDefectNumStackSP; - - - //카메라/스캔 정보 [김태현 2018/12/5] - short m_nCameraNum; - short m_nScanNum; - unsigned char m_nGrayLevelAvg[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; - unsigned char m_nGrayLevelMin[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; - unsigned char m_nGrayLevelMax[RAWMESSENGER_MAXCAMNUM*RAWMESSENGER_MAXSCANNUM*RAWMESSENGER_MAXHLINUM]; - - //얼라인 정보 um[김태현 2018/12/10] - double m_nAlignCcdTheta; - double m_nAlignCcdShitftX; - double m_nAlignCcdShitftY; - double m_nAlignPreTheta; - double m_nAlignPreShitftX; - double m_nAlignPreShitftY; - double m_nAlignBasicTheta; - double m_nAlignBasicShitftX; - double m_nAlignBasicShitftY; - char m_strAlignFirst[64]; - char m_strAlignSecond[64]; -// char m_strAlignPath[256]; - - //CSOT용 물류 정보 [김태현 2018/12/5] - char m_strCassetteSequenceNo[16]; - char m_strOwnerCode[16]; //2. OWNER_CODE - char m_strOwnerType[16]; //3. OWNER_TYPE - - char m_strProcessID[21]; //5. PROCESS_ID - char m_strProductGroup[16]; //6. PRODUCT_GROUP - char m_strCSTID[16]; //8. CST_ID - char m_strPreProcessID[16]; //10.PRE_PROCESS_ID - char m_strPreEQPID[16]; //11.PRE_EQP_ID - char m_strPreChamerID[16]; //12.PRE_CHAMBER_ID - char m_strPreRecipeID[32]; //13.PRE_RECIPE_ID - char m_strGroupID[16]; //14.GROUP_ID - char m_cAutoSampleFlag; //15.AUTOSAMPLEFLAG - - // CPRJ용 물류 정보 - char m_strProdType[3]; - char m_strBatchID[13]; - char m_strPairHPanelID[13]; - char m_strGlassThickNess[2]; - char m_strCompCount[2]; - char m_strGlassState[2]; - char m_strInsFlag[2]; - char m_strPanelPosition[2]; - char m_strFlowHistory[2]; - char m_strCount1[2]; - char m_strCount2[2]; - char m_StrMergeList[10][12]; - //Mura Data 0412 nwh - char m_strMaxAvgGray[12]; - char m_strMaxPortion[12]; - - - //1226NWH - char m_strReadingFlag[2]; - BYTE m_nUniqueID[4]; - int m_nSlot_No; - - BYTE m_nGlassDataBitSignal[4]; - bool m_bJob_end; - - //201217 CJH - 찍은 Defect Review 개수 - int m_nReviewNum; - //201221 CJH - 파싱한 Stack 결과 - int m_nStackNum; - BOOL m_bStackRead; - - /*< KJG 20211024 - #3487 ADD Start >*/ - int m_nRawMergeNum; - BOOL m_bRawMergeRead; - /*< KJG 20211024 - #3487 ADD End >*/ - //210203 CJH - CutOff 대상 결함 수 - int m_nCutOffDefectNum; - //210323 CJH - Server/Frame Shrink 정보 추가 - char m_strShrinked[6]; - //210326 CJH - RAW 입력 Defect 수량 상한 사용여부 - BOOL m_bRawCutoff; - //210907 KJG - EdgeCrack 검사 사용 유무 - BOOL m_bEdgeCrackUse; - BOOL m_bRawMergeUse; - /* < KJG 20220225 - #3850 ADD Start >*/ - char m_strRawMergeStepID[32]; - /* < KJG 20220225 - #3850 ADD End >*/ -}; -struct _grmBlockData -{ - void clear() - { - memset(this, 0, sizeof(_grmBlockData)); - } - char m_strBlockID[16]; //1. BLOCK_ID - char m_cBlockJudgeAOI; //2. BLOCK_JUDGE_AOI - char m_cBlockJudgeATS; //4. BLOCK_JUDGE_ATS - char m_cBlockJudgeTEG; //5. BLOCK_JUDGE_TEG - int m_nGlassIdDCR; //22. GLASS_ID_DCR -}; -struct _grmCellData -{ - void clear() - { - memset(this, 0, sizeof(_grmCellData)); - } - int getTotalDefectNum(){return m_nDefectNumTypeTB+m_nDefectNumTypeTW+m_nDefectNumTypeRB+m_nDefectNumTypeRW; }; - int m_nCellID; //1. PANEL_ID - short m_nModelIdx; // 몇 번째 모델인가? - - char m_strCellName[32]; - int m_rectCellLeft; - int m_rectCellTop; - int m_rectCellRight; - int m_rectCellBottom; - - int/*Judgement*/ m_nJudgement; - int m_nJudgeFlag; - int m_nJudgeGlade; - - - //결함 갯수 관리 변수 - int m_nDefectNumSizeSmall; - int m_nDefectNumSizeMid; - int m_nDefectNumSizeLarge; - int m_nDefectNumSizeHuge; - int m_nDefectNumSizeUltra; - - int m_nDefectNumLocActive; - int m_nDefectNumLocPad; - int m_nDefectNumLocCrack; - int m_nDefectNumLocBM; - - int m_nDefectNumTypeTB; - int m_nDefectNumTypeTW; - int m_nDefectNumTypeRB; - int m_nDefectNumTypeRW; - int m_nDefectNumTypeMD; - int m_nDefectNumTypeCD; - int m_nDefectNumTypeMC; - /* <KYH 211129 : #3796 ADD Start> */ - int m_nDefectNumJudgeND; - /* <KYH 211129 : #3796 ADD End> */ - /* <LJC 20220422 : #3957 ADD Start> */ - int m_nDefectCode[RAW_CODE_MAX]; - /* <LJC 20220422 : #3957 ADD End> */ - //DUMY DATA - int Dumy_int[9]; - - //Mura Data nwh 0404 - char m_strProImage[32]; - char m_strAvgGray_0[12]; - char m_strPortion_0[12]; - //kyh Mura Data 추가 0622 - char m_strCorner_Gray_0[12]; - char m_strAvgAmp_0[12]; - char m_strFFTVar_0[12]; - char m_strFFTVah_0[12]; - char m_strFFTVaq_0[12]; - char m_strFFTPK_0[12]; - - char m_strAvgGray_1[12]; - char m_strPortion_1[12]; - //kyh Mura Data 추가 0622 - char m_strCorner_Gray_1[12]; - char m_strAvgAmp_1[12]; - char m_strFFTVar_1[12]; - char m_strFFTVah_1[12]; - char m_strFFTVaq_1[12]; - char m_strFFTPK_1[12]; - - char m_strAvgGray_2[12]; - char m_strPortion_2[12]; - //kyh Mura Data 추가 0622 - char m_strCorner_Gray_2[12]; - char m_strAvgAmp_2[12]; - char m_strFFTVar_2[12]; - char m_strFFTVah_2[12]; - char m_strFFTVaq_2[12]; - char m_strFFTPK_2[12]; - - char m_strAvgGray_3[12]; - char m_strPortion_3[12]; - //kyh Mura Data 추가 0622 - char m_strCorner_Gray_3[12]; - char m_strAvgAmp_3[12]; - char m_strFFTVar_3[12]; - char m_strFFTVah_3[12]; - char m_strFFTVaq_3[12]; - char m_strFFTPK_3[12]; - - int m_nDefectNumJudgeOKWhite; - int m_nDefectNumJudgeOKBlack; - int m_nDefectNumJudgeNG; - int m_nDefectNumJudgeRW; - int m_nDefectNumJudgeRP; - int m_nDefectNumJudgeRV; - int m_nDefectNumJudgeTR; - int m_nDefectNumJudgePR; - /*< LHS 20211029 - #3783 MOD Start >*/ - int m_nDefectNumJudgeLine; - /*< LHS 20211029 - #3783 MOD End >*/ - int m_nReflowResult[8]; // 0: Reflow X 1: Reflow OK 2: Reflow NG - - // Filtering된 Stack별 수 - int m_nDefectTDCount; - int m_nDefectSDCount; - int m_nDefectPDCount; - int m_nDefectSPCount; - - // Gate/Data 총 갯수 - int m_nGateNum; - int m_nDataNum; - - // 210129 CJH - Cell Origin 방향 - int m_nCellXDir; - int m_nCellYDir; -}; - -struct _grmDefectReviewData -{ - void clear() - { - memset(this, 0, sizeof(_grmDefectReviewData)); - } - - ////////////////////////////////////////////////////////////////////////// - //여기서 부터 리뷰 영역 [김태현 2019/1/19] - ditRaw::ReviewPlanType m_nPlanType ; - int m_nResultCode; //0:None, 1:Success - int m_nShotIndex; //리뷰 찍은 순번 [김태현 2018/12/5] - int m_nModuleIndex; - int m_nMagnificIndex; - float m_fManification; - float m_fManificResoultion; - char m_strRevImageName[256]; - char m_strRevImagePath[256]; - - ////////////////////////////////////////////////////////////////////////// - // Measure 영역 - int m_nMeasure_Index; - int m_nMeasure_ResultCode; //0:None, 1:Success - float m_fMesure_ResultData[8]; // 0:Type, 1:ShiftX, 2:ShiftY - - ////////////////////////////////////////////////////////////////////////// - // WSI영역 - int m_nWsi_ResultCode; //0:None, 1:Success - int m_nWsi_Type; // 함몰 / 돌기 - float m_fWsi_ResultData[8]; // 0:Type, 1:Height(um), 2:Width - char m_strWsi_2DImageFilename[256]; - char m_strWsi_3DImageFilename[256]; - int m_nWsiReflowPositionIndex; // WsiReflowPositionIndex - int m_nWsi_pReflowResultData[8]; - double m_dWsi_DamDistance; - - double m_dWsiMmMotorX; // WSI 모터 좌표 20180223 HJH - double m_dWsiMmMotorY; - float m_fWsiManification; // WSI 배율 - - ////////////////////////////////////////////////////////////////////////// - // Reflow 영역 - int m_nReflow_Index; - int m_nReflow_ResultCode; //0:None, // 검출한 Line의 개수. 3 미만 : DAM2 Reflow 판정, 4~5 : DAM1 Reflow 판정, 6 : no Reflow 판정 / -1 : image not loaded, -2 : roi setting error, -3 : roi length error, -5 : select wrong side - float m_fReflow_LinePosData[8]; - int m_nReflow_Side; - int m_nReflow_InspectionMode; -}; - -struct _grmDefectData -{ - void clear() - { - memset(this, 0, sizeof(_grmDefectData)); - } - - short m_nDefectID; - short m_nCameraID; - short m_nScanIdx; - //short m_nDefectIdx; // 카메라에서의 결함 인덱스 - int m_nDefectIdx; // 카메라에서의 결함 인덱스 201207 CJH - 자릿 수 넘침. int형으로 변경 - - int m_nPixelConv; // pixel 단위 좌표 - int m_nPixelScan; // pixel 단위 좌표 - - short m_nPixelSize; // 결함크기 ---------------------------------PS - short/*SERVER_DefectType*/ m_DefectType; // 결함 타입 ---------------------------------DT - short/*SERVER_DefectSubType*/ m_DefectSubType; // 결함의 판정상태. - short/*SERVER_DefectBDType*/ m_DefectBDType; // 결함 타입 - Bright, Dark, Both - - short m_sPixelWidth; // 픽셀단위 결함 너비 - short m_sPixelHeight; // 픽셀단위 결함 높이 - short m_nLevelSrcMin; // 결함 밝기 Min -----------------------------SN - short m_nLevelSrcMax; // 결함 밝기 Max -----------------------------SX - short m_nLevelSrcAvg; // 결함 밝기 Avg -----------------------------SA - short m_nLevelRefMin; // 비교대상 밝기 Min -------------------------RN - short m_nLevelRefMax; // 비교대상 밝기 Max -------------------------RX - short m_nLevelRefAvg; // 비교대상 밝기 Avg -------------------------RA - short m_nLevelDiffMin; // 비교차 Min ---------------------------------DN - short m_nLevelDiffMax; // 비교차 Max ---------------------------------DX - short m_nLevelDiffAvg; // 비교차 Avg ---------------------------------DA - - int m_nDefectRScale; // 픽셀단위 결함 높이 -------------------------RS - short m_sThreshold; // 결함을 검출할 때의 Threshold - short m_sThresholdAvg; // 결함을 검출할 때의 Threshold AVG - short m_sDefectPeak; // 결함의 Peak. - short m_sDefectLevel; // (DiffAvg - Th) BOE 8G 요청사항 - - int m_nPixelGlassStart; // Glass 시작 픽셀 - short m_sDefectLoc; - - short m_sZoneClassPixelCount[16]; - short m_sZonePixelCount[16]; // Zone별 결함 Pixel 수 - short m_sZoneValueMin[16]; // Zone별 결함 Min - short m_sZoneValueMax[16]; // Zone별 결함 Max - short m_sZoneValueAvg[16]; // Zone별 결함 Avg - short m_sZonePixelPercent[16]; // --------------------------------------Z0~ZF - - //210127 CJH - Zone별 Source Gray 입력 - short m_sZoneValueSrcMin[16]; // Zone별 Source Min - short m_sZoneValueSrcMax[16]; // Zone별 Source Max - short m_sZoneValueSrcAvg[16]; // Zone별 Source Avg - - int m_nUMOriginX; // um단위 x좌표 (원점기준) - int m_nUMOriginY; // um단위 y조표 (원점기준) - int m_nUMCenterAlignX; // um단위 X좌표 (Glass Center 기준, 얼라인보정 후) - int m_nUMCenterAlignY; // um단위 Y좌표 (Glass Center 기준, 얼라인보정 후) - int m_nUMCenterX; // um단위 X좌표 (Glass Center 기준, 얼라인보정 전) - int m_nUMCenterY; // um단위 Y좌표 (Glass Center 기준, 얼라인보정 전) - int m_nUMSizeX; // um단위 X 크기 -----------------------------UX - int m_nUMSizeY; // um단위 Y 크기 -----------------------------UY - int m_nUMSize; // um단위 크기. - CRect m_RectUM; // 디펙 센터 기준 사각형. - - short/*SERVER_DefectSizeType*/ m_DefectSizeType; // 결함 크기 종류enum SERVER_DefectSizeType { SizeType_Unknown = 0, SizeType_Small, SizeType_Mid, SizeType_Large, SizeType_Huge, SizeType_Ultra }; - short/*SERVER_DefectPeakType*/ m_DefectPeakType; // Peak의 종류. - short/*Judgement*/ m_DefectJudgement; // 결함 판정. - BOOL m_bDefectCutoff; // 컷 오프 디펙(TRUE= Cutoff, FALSE) - short/*MAP16_DefectClass*/ m_DefectClass; // BOE Defect Class 16등분 구분 - int m_nPadRegionIdx; // PAD 영역 인덱스 - - int m_nUMCellX; // 셀 원점 기준 x 좌표 - int m_nUMCellY; // 셀 원점 기준 y 좌표 - short m_nModelIdx; // 몇 번째 모델인가? - short m_nCellIdx; // 몇번째 셀인가? - short m_nCellGate; // 셀별 Gate라인(얼라인 보정 전) - short m_nCellData; // 셀별 Data라인(얼라인 보정 전) - short m_nCellGateAlign; // 셀별 Gate라인(얼라인 보정 후) - short m_nCellDataAlign; // 셀별 Data라인(얼라인 보정 후) - - int m_nUMShotX; // 샷 기준 X좌표 - int m_nUMShotY; // 샷 기준 Y좌표 - short m_nMaskDefectIdx; // 한 Glass에서 발견된 마스크결함 묶음의 인덱스. - short m_nShotIdx; // 노광샷 번호 - short m_nMatchShotCount; // 동일한 마스크 결함의 수. - short m_nMatchMaxSize; // 동일한 마스크 중 가장 큰 결함의 크기. - - short m_nRepeatCount; // 연속결함발견위한 동일좌표 반복수 - short m_nMaskRepeatCount; - int m_StackInfo; // Stack Flag - BOOL m_bRealStack; // Stack 머지에 의한 TD(TRUE) 인지, 필터링에 의한 TD(FALSE)구분할 수 있다. - short m_nStackStepCount; // Stack 수 - short m_nStackColorIdx; // Color를 선택하는 인덱스. - //CString m_strStackStep[CFDEFECT_STACKCOUNT]; // Stack Step. - char m_strStackFirst[60]; // Stack Step. //201221 CJH - 최대 사이즈 60bytes - char m_strUnitID[16]; // 유닛아이디 - - int m_ClassificationType; // enum ClassificationType { ClassType_None= 0, ClassType_PI_Over= 1, ClassType_PI_Under= 2, ClassType_TFE_Circle= 3, ClassType_Bubble, ClassType_Scratch, ClassType_Particle}; Classification Type, PI나 TFE등 추가 분류 알고리즘 적용 결과. - int m_nAtomWidth; // TFE 핵 너비 - int m_nAtomHeight; // TFE 핵 높이 - short/*ReKind*/ m_DefectKind; // 결함 종류 - - char m_strDefectCode[32]; // Defect Code - BOOL m_bMergeState; // Merge Status - char m_strAoiImageName[256]; // Defect Image Name(CCD Image) - int m_nDefectMerge; // 현재 디펙의 머지 여부 - - - int m_nPixelSizeOrigin; - int m_nScratchRatio; - int m_nDensity; // 원형 결함 구분을 위한 밀도 [2017.8.2 bhs] - - char m_strDefectName[16]; - char m_strDefectType[16]; - - double m_dScanResolution; - double m_dConvResolution; - - int m_nAngle; // 각도 - int m_nMajor; // 장축 길이(Long) - int m_nMinor; // 단축 길이(Short) - int m_nCompact; // Blob 장축을 지름으로 하는 원의 넓이와 Blob 넓이의 비율 - int m_nThickness; // Blob 넓이와 장축의 비율 (Area / Major) - - short m_nHliLevelIdx; // 몇 번째 레벨(채널)인가? - int m_nHliLayers; // 해당결함에 포함된 레이어 bit처리 - - BOOL m_bShrinked; //210323 CJH - Frame Shrink 정보 추가 - - char m_strAoiImagePath[255]; - char m_strReviewImagePath[255]; - - int m_nAlignRectLeft; - int m_nAlignRectTop; - int m_nAlignRectBottom; - int m_nAlignRectRight; - /*< LHS 20211029 - #3783 MOD Start >*/ - char m_strLNDefectCode[12]; - short/*LineDefectType*/ m_LineDefectType; - /*< LHS 20211029 - #3783 MOD End >*/ - - _grmDefectReviewData m_ReviewDefect; -}; - - -enum emGlassRawCommand -{ - grcNone = 0, - - //AOI Sequence - grcSequenceGlassLoading = 1, - grcSequenceInspectEnd = 2, - //Review Sequence - grcSequenceReviewStart = 3, - grcSequenceReviewEnd = 4, - - grcSequenceCustomReviewDataRead = 10, - - grcWriteRaw = 101, - grcReadRaw = 102, - - grcWriteBin = 201, - grcReadBin = 202, - - grcReviewWriteBIn = 301, - - grcGlassRawCommand -}; - - -struct _grmDitCommand -{ - struct _grmCommand - { - int nCommand; - char strParam[256]; - short nResult; - }; - short m_nCommandIdxWrite; - short m_nCommandIdxRead; - _grmCommand m_nCommandBuffer[COMMAND_MAXCOUNT]; -}; - -struct _grmDitMemInfo -{ - //공유 메모리 생성할 공간 결정 [김태현 2018/11/12] - size_t m_nGlassRawDataSize; - int m_nGlassMaxDataNum; - int m_nBlockMaxDataNum; - int m_nCellMaxDataNum; - int m_nDefectMaxDataNum; - int m_nStackMaxDataNum; - /*< KJG 20211024 - #3487 ADD Start >*/ - int m_nRawMergeMaxDataNum; - /*< KJG 20211024 - #3487 ADD End >*/ - - //Char 기준 자료가 있는 시작 위치 [김태현 2018/11/12] - int m_nGlassDataPoint; - int m_nBlockDataPoint; - int m_nCellDataPoint; - int m_nDefectDataPoint; - int m_nStackDataPoint; - /*< KJG 20211024 - #3487 ADD Start >*/ - int m_nRawMergeDataPoint; - /*< KJG 20211024 - #3487 ADD End >*/ - - int m_nSizeOfGlassData; - int m_nSizeOfBlockData; - int m_nSizeOfCellData; - int m_nSizeOfDefectData; - int m_nSizeOfStackData; - /*< KJG 20211024 - #3487 ADD Start >*/ - int m_nSizeOfRawMergeData; - /*< KJG 20211024 - #3487 ADD End >*/ -}; -struct _grmDitGlassRawInfo : public _grmDitMemInfo, public _grmDitCommand -{ - size_t m_nGlassLoadingCount; - emAOIProcStep m_ClientProcStep; //AOI, Review가 보낸 명령 - emAOIProcStep m_ServerProcStep; //GlassRaw Messenger(Server)가 처리 완료 한 명령 -}; - -class CgrmGlassRawData -{ -public: - CgrmGlassRawData() - { - m_pGlassRawData = NULL; - m_bRefAlloc = FALSE; - }; - - ~CgrmGlassRawData() - { - clear(); - }; - - void clear() - { - if(m_bRefAlloc) { m_pGlassRawData = NULL; return;} - - if(m_pGlassRawData) - { - delete [] m_pGlassRawData; - m_pGlassRawData = NULL; - } - }; - BOOL ImportGlassRaw(_grmDitMemInfo* pInfo, char* pData, bool bRefAlloc = false) - { - if(pInfo == NULL) return FALSE; - - if(m_pGlassRawData && pInfo->m_nGlassRawDataSize != m_MemInfo.m_nGlassRawDataSize) clear(); - - if(m_pGlassRawData == NULL) m_pGlassRawData = new char[ pInfo->m_nGlassRawDataSize ]; - - m_MemInfo = *pInfo; - - m_nGlassRawDataSize = pInfo->m_nGlassRawDataSize; - - m_nGlassMaxDataNum = pInfo->m_nGlassMaxDataNum ; - m_nBlockMaxDataNum = pInfo->m_nBlockMaxDataNum ; - m_nCellMaxDataNum = pInfo->m_nCellMaxDataNum ; - m_nDefectMaxDataNum = pInfo->m_nDefectMaxDataNum; - m_nStackMaxDataNum = pInfo->m_nStackMaxDataNum ; - - m_nGlassDataPoint = pInfo->m_nGlassDataPoint ; - m_nBlockDataPoint = pInfo->m_nBlockDataPoint ; - m_nCellDataPoint = pInfo->m_nCellDataPoint ; - m_nDefectDataPoint = pInfo->m_nDefectDataPoint ; - m_nStackDataPoint = pInfo->m_nStackDataPoint ; - - m_nSizeOfGlassData = pInfo->m_nSizeOfGlassData ; - m_nSizeOfBlockData = pInfo->m_nBlockDataPoint ; - m_nSizeOfCellData = pInfo->m_nSizeOfCellData ; - m_nSizeOfDefectData = pInfo->m_nSizeOfDefectData; - m_nSizeOfStackData = pInfo->m_nSizeOfStackData ; - - if(bRefAlloc) - { - m_pGlassRawData = pData; - } - else - { - if(pData) - { - memcpy(m_pGlassRawData, pData, sizeof(char)*pInfo->m_nGlassRawDataSize); - } - else - { - memset(m_pGlassRawData, 0, sizeof(char)*pInfo->m_nGlassRawDataSize ); - } - } - - - m_pGlassData = (_grmGlassData*)&m_pGlassRawData[pInfo->m_nGlassDataPoint]; - m_pBlockData = (_grmBlockData*)&m_pGlassRawData[pInfo->m_nBlockDataPoint]; - m_pCellData = (_grmCellData*)&m_pGlassRawData[pInfo->m_nCellDataPoint]; - m_pDefectData = (_grmDefectData*)&m_pGlassRawData[pInfo->m_nDefectDataPoint]; - m_pStackData = (_grmDefectData*)&m_pGlassRawData[pInfo->m_nStackDataPoint]; - - m_bRefAlloc = bRefAlloc; - return TRUE; - }; - BOOL ExportGlassRaw(_grmDitMemInfo* pInfo, char* pData) - { - if(pInfo == NULL || pData == NULL) return FALSE; - - if(1) //new type //메모리 총 공간 크기에 상관없이 - { - //if(pInfo->m_nGlassRawDataSize != m_MemInfo.m_nGlassRawDataSize) return FALSE; - - if(pInfo->m_nSizeOfGlassData != m_MemInfo.m_nSizeOfGlassData) return FALSE; - if(pInfo->m_nSizeOfBlockData != m_MemInfo.m_nSizeOfBlockData) return FALSE; - if(pInfo->m_nSizeOfCellData != m_MemInfo.m_nSizeOfCellData) return FALSE; - if(pInfo->m_nSizeOfDefectData != m_MemInfo.m_nSizeOfDefectData) return FALSE; - if(pInfo->m_nSizeOfStackData != m_MemInfo.m_nSizeOfStackData) return FALSE; - - if(pInfo->m_nCellMaxDataNum < m_pGlassData->m_nCellNum) return FALSE; - if(pInfo->m_nDefectMaxDataNum < m_pGlassData->m_nDefectNum) return FALSE; - if(pInfo->m_nStackMaxDataNum < m_pGlassData->m_nDefectNum) return FALSE; - - memcpy(&pData[pInfo->m_nGlassDataPoint], m_pGlassData, pInfo->m_nSizeOfGlassData* 1); - memcpy(&pData[pInfo->m_nBlockDataPoint], m_pBlockData, pInfo->m_nSizeOfBlockData* 1); - memcpy(&pData[pInfo->m_nCellDataPoint], m_pCellData, pInfo->m_nSizeOfCellData*m_pGlassData->m_nCellNum); - memcpy(&pData[pInfo->m_nDefectDataPoint], m_pDefectData, pInfo->m_nSizeOfDefectData*m_pGlassData->m_nDefectNum); - memcpy(&pData[pInfo->m_nStackDataPoint], m_pStackData, pInfo->m_nSizeOfStackData*m_pGlassData->m_nDefectNum); - } - else //if() //type old - { - if(pInfo->m_nGlassRawDataSize != m_MemInfo.m_nGlassRawDataSize) return FALSE; - - if(pInfo->m_nSizeOfGlassData != m_MemInfo.m_nSizeOfGlassData) return FALSE; - if(pInfo->m_nSizeOfBlockData != m_MemInfo.m_nSizeOfBlockData) return FALSE; - if(pInfo->m_nSizeOfCellData != m_MemInfo.m_nSizeOfCellData) return FALSE; - if(pInfo->m_nSizeOfDefectData != m_MemInfo.m_nSizeOfDefectData) return FALSE; - - memcpy(pData, m_pGlassRawData, sizeof(char)*pInfo->m_nGlassRawDataSize); - } - - - return TRUE; - }; - - _grmGlassData* GetGlassData(){return m_pGlassData;}; - _grmBlockData* GetBlockData(int nIndex){return &m_pBlockData[nIndex];}; - _grmCellData* GetCellData(int nIndex){return &m_pCellData[nIndex];}; - _grmDefectData* GetDefectData(int nIndex){return &m_pDefectData[nIndex];}; - _grmDitMemInfo* GetMemInfo(){return &m_MemInfo;}; - _grmDefectData* GetStackData(int nIndex) { return &m_pStackData[nIndex]; }; -protected: - _grmDitMemInfo m_MemInfo; - char* m_pGlassRawData; - - _grmGlassData* m_pGlassData; - _grmBlockData* m_pBlockData; - _grmCellData* m_pCellData; - _grmDefectData* m_pDefectData; - _grmDefectData* m_pStackData; - - size_t m_nGlassRawDataSize; - - int m_nGlassMaxDataNum; - int m_nBlockMaxDataNum; - int m_nCellMaxDataNum; - int m_nDefectMaxDataNum; - int m_nStackMaxDataNum; - - int m_nGlassDataPoint; - int m_nBlockDataPoint; - int m_nCellDataPoint; - int m_nDefectDataPoint; - int m_nStackDataPoint; - - int m_nSizeOfGlassData; - int m_nSizeOfBlockData; - int m_nSizeOfCellData; - int m_nSizeOfDefectData; - int m_nSizeOfStackData; - -private: - bool m_bRefAlloc; -}; \ No newline at end of file diff --git a/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.exe b/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.exe index 1f3e70d..5faa504 100644 --- a/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.exe +++ b/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.exe Binary files differ diff --git a/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.pdb b/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.pdb index f1d32c4..e8ff70e 100644 --- a/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.pdb +++ b/DitGlassRawMessenger/bin/DitGlassRawMessenger_x64.pdb Binary files differ diff --git a/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.exe b/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.exe index 33f022c..9bdfbe1 100644 --- a/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.exe +++ b/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.exe Binary files differ diff --git a/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.pdb b/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.pdb index a5e2718..0af596e 100644 --- a/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.pdb +++ b/DitGlassRawMessenger/bin/DitGlassRawMessengerd_x64.pdb Binary files differ diff --git a/ReviewSystem/ReviewRecipeEditor/CDlgJudgement.cpp b/ReviewSystem/ReviewRecipeEditor/CDlgJudgement.cpp index 8ad2fe6..02c4a70 100644 --- a/ReviewSystem/ReviewRecipeEditor/CDlgJudgement.cpp +++ b/ReviewSystem/ReviewRecipeEditor/CDlgJudgement.cpp @@ -101,9 +101,11 @@ // case JudgeType_T8_BR: // strType.Format(_T("BR")); // break; - // case JudgeType_T8_PT: - // strType.Format(_T("PT")); - // break; + /* < KEJ 20231123 - #4669 ADD Start > */ + case JudgeType_T8_PT: + strType.Format(_T("PT")); + break; + /* < KEJ 20231123 - #4669 ADD End > */ } if (strType.IsEmpty() == FALSE) diff --git a/ReviewSystem/ReviewSystem/DitGlassRawStruct.h b/ReviewSystem/ReviewSystem/DitGlassRawStruct.h index d616fe4..41f203d 100644 --- a/ReviewSystem/ReviewSystem/DitGlassRawStruct.h +++ b/ReviewSystem/ReviewSystem/DitGlassRawStruct.h @@ -129,6 +129,7 @@ int m_nDefectNumJudgeRV; int m_nDefectNumJudgeTR; int m_nDefectNumJudgePR; + int m_nDefectNumJudgePT; //< KEJ 20231123 - #4669 ADD > /*< LHS 20211029 - #3783 MOD Start >*/ int m_nDefectNumJudgeLine; /*< LHS 20211029 - #3783 MOD End >*/ @@ -338,6 +339,7 @@ int m_nDefectNumJudgeRV; int m_nDefectNumJudgeTR; int m_nDefectNumJudgePR; + int m_nDefectNumJudgePT; //< KEJ 20231123 - #4669 ADD > /*< LHS 20211029 - #3783 MOD Start >*/ int m_nDefectNumJudgeLine; /*< LHS 20211029 - #3783 MOD End >*/ diff --git a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp index bc5e21a..9ffdfdb 100644 --- a/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp +++ b/ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp @@ -67,7 +67,8 @@ enum CPJT_GANTRY_TYPE { GantryType_Left, GantryType_Right }; enum Judgement_CPJT { - Judge_OK_CPJT = 0, Judge_RP_CPJT, Judge_NG_CPJT, Judge_TR_CPJT, Judge_PR_CPJT, Judge_PT_CPJT, Judge_Review_CPJT, Judge_RC_CPJT, Judge_Size_CPJT, Judge_VI_CPJT, Judge_Rework_CPJT, Judge_Unknown_CPJT +// Judge_OK_CPJT = 0, Judge_RP_CPJT, Judge_NG_CPJT, Judge_TR_CPJT, Judge_PR_CPJT, Judge_PT_CPJT, Judge_Review_CPJT, Judge_RC_CPJT, Judge_Size_CPJT, Judge_VI_CPJT, Judge_Rework_CPJT, Judge_Unknown_CPJT + Judge_OK_CPJT = 0, Judge_RP_CPJT, Judge_NG_CPJT, Judge_TR_CPJT, Judge_PR_CPJT, Judge_ND_CPJT, Judge_PT_CPJT, Judge_Review_CPJT, Judge_RC_CPJT, Judge_Size_CPJT, Judge_VI_CPJT, Judge_Rework_CPJT, Judge_LN_CPJT, Judge_Unknown_CPJT, Judge_SR_CPJT ////< KEJ 20231123 - #4669 MOD > }; enum JudgeCode_CPJT { TRDF_CPJT = 0, BATR_CPJT, DOBB_CPJT, DOBS_CPJT, DOWW_CPJT, DOWB_CPJT, DOWS_CPJT @@ -2369,7 +2370,7 @@ int nCount = pRcpReviewInfo->GetRcpJudgeCellDefectCount(); int nOK; - int nCellTRJudge = 0, nCelllOKJuge = 0, nCelllPRJuge = 0; + int nCellTRJudge = 0, nCelllOKJuge = 0, nCelllPRJuge = 0, nCelllPTJuge = 0; m_pSP2P->ISP2P_DisplayMessage(_T("[ReviewEnd] Start Cell Defect Rejudge")); for (int nCellIndex = 0; nCellIndex < nCellCount; nCellIndex++) { @@ -2386,6 +2387,12 @@ { nCelllPRJuge = nCelllPRJuge + 1; } + /* < KEJ 20231123 - #4669 ADD Start > */ + else if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_PT_CPJT) + { + nCelllPTJuge = nCelllPTJuge + 1; + } + /* < KEJ 20231123 - #4669 ADD End > */ BOOL bReJudge = FALSE, bSubReJudge = FALSE; @@ -2439,6 +2446,19 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE Cell DefectPRCount[%d] [%d]"), nCellIndex, pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePR, pRcpJudgeInfo->GetJudgeCount()); } break; + /* < KEJ 20231123 - #4669 ADD Start > */ + case JudgeType_T8_PT: + if (pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePT >= pRcpJudgeInfo->GetJudgeCount()) + { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell DefectPTCount[%d] >= [%d]"), nCellIndex, pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePT, pRcpJudgeInfo->GetJudgeCount()); + bReJudge = TRUE; + } + else + { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE Cell DefectPTCount[%d] [%d]"), nCellIndex, pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePT, pRcpJudgeInfo->GetJudgeCount()); + } + break; + /* < KEJ 20231123 - #4669 ADD End > */ } // 2nd condition @@ -2489,6 +2509,19 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE Cell DefectPRCount[%d] [%d]"), nCellIndex, pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePR, pRcpJudgeInfo->GetSubJudgeCount()); } break; + /* < KEJ 20231123 - #4669 ADD Start > */ + case JudgeType_T8_PT: + if (pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePT <= pRcpJudgeInfo->GetSubJudgeCount()) + { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell DefectPTCount[%d] <= [%d]"), nCellIndex, pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePT, pRcpJudgeInfo->GetSubJudgeCount()); + bSubReJudge = TRUE; + } + else + { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE Cell DefectPTCount[%d] [%d]"), nCellIndex, pRawData->GetCellData(nCellIndex)->m_nDefectNumJudgePT, pRcpJudgeInfo->GetSubJudgeCount()); + } + break; + /* < KEJ 20231123 - #4669 ADD End > */ } if (bReJudge & bSubReJudge) @@ -2511,7 +2544,7 @@ { nCelllOKJuge = 0; } - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge,nCelllPRJuge); } else if (pRawData->GetCellData(nCellIndex)->m_nJudgement==Judge_PR_CPJT) @@ -2529,15 +2562,35 @@ { nCelllPRJuge = 0; } - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } + /* < KEJ 20231123 - #4669 ADD Start > */ + else if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_PT_CPJT) + { + int nbfJudge = pRawData->GetCellData(nCellIndex)->m_nJudgement; + pRawData->GetCellData(nCellIndex)->m_nJudgement = Judge_TR_CPJT; + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition : ReJudge Cell Defect Grade! [%d]->[%s]") + , nCellIndex, nIdx, nbfJudge, pRcpJudgeInfo->GetReJudgeCode()); + + + nCelllPTJuge -= 1; + nCellTRJudge += 1; + + if (nCelllPTJuge < 0) + { + nCelllPTJuge = 0; + } + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); + } + /* < KEJ 20231123 - #4669 ADD End > */ else { m_pSP2P->ISP2P_DisplayMessage(_T("[TEST Process::ReviewEnd][%02d]Cell [%02d] ReJudge Cell Defect Grade! [%s]->[%s]"), nCellIndex, nIdx,_T("TR"), _T("TR")); - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } } else if (pRcpJudgeInfo->GetReJudgeType() == JudgeType_T8_PR) @@ -2557,8 +2610,8 @@ { nCelllOKJuge = 0; } - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_TR_CPJT) { @@ -2575,24 +2628,110 @@ { nCellTRJudge = 0; } - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } + /* < KEJ 20231123 - #4669 ADD Start > */ + if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_PT_CPJT) + { + int nbfJudge = pRawData->GetCellData(nCellIndex)->m_nJudgement; + pRawData->GetCellData(nCellIndex)->m_nJudgement = Judge_PR_CPJT; + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition : ReJudge Cell Defect Grade! [%d]->[%s]") + , nCellIndex, nIdx, nbfJudge, pRcpJudgeInfo->GetReJudgeCode()); + + + nCelllPTJuge -= 1; + nCelllPRJuge += 1; + + if (nCelllPTJuge < 0) + { + nCelllPTJuge = 0; + } + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); + } + /* < KEJ 20231123 - #4669 ADD End > */ else { m_pSP2P->ISP2P_DisplayMessage(_T("[TEST Process::ReviewEnd][%02d]Cell [%02d] ReJudge Cell Defect Grade! [%s]->[%s]"), nCellIndex, nIdx, _T("PR"), _T("PR")); - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } } + /* < KEJ 20231123 - #4669 ADD Start > */ + else if (pRcpJudgeInfo->GetReJudgeType() == JudgeType_T8_PT) + { + if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_OK_CPJT) + { + int nbfJudge = pRawData->GetCellData(nCellIndex)->m_nJudgement; + pRawData->GetCellData(nCellIndex)->m_nJudgement = Judge_PT_CPJT; + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition : ReJudge Cell Defect Grade! [%d]->[%s]") + , nCellIndex, nIdx, nbfJudge, pRcpJudgeInfo->GetReJudgeCode()); + + + nCelllOKJuge -= 1; + nCelllPTJuge += 1; + + if (nCelllOKJuge < 0) + { + nCelllOKJuge = 0; + } + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); + } + if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_TR_CPJT) + { + int nbfJudge = pRawData->GetCellData(nCellIndex)->m_nJudgement; + pRawData->GetCellData(nCellIndex)->m_nJudgement = Judge_PT_CPJT; + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition : ReJudge Cell Defect Grade! [%d]->[%s]") + , nCellIndex, nIdx, nbfJudge, pRcpJudgeInfo->GetReJudgeCode()); + + + nCellTRJudge -= 1; + nCelllPTJuge += 1; + + if (nCellTRJudge < 0) + { + nCellTRJudge = 0; + } + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); + } + if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_PR_CPJT) + { + int nbfJudge = pRawData->GetCellData(nCellIndex)->m_nJudgement; + pRawData->GetCellData(nCellIndex)->m_nJudgement = Judge_PT_CPJT; + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition : ReJudge Cell Defect Grade! [%d]->[%s]") + , nCellIndex, nIdx, nbfJudge, pRcpJudgeInfo->GetReJudgeCode()); + + + nCelllPRJuge -= 1; + nCelllPTJuge += 1; + + if (nCelllPRJuge < 0) + { + nCelllPRJuge = 0; + } + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); + } + else + { + + m_pSP2P->ISP2P_DisplayMessage(_T("[TEST Process::ReviewEnd][%02d]Cell [%02d] ReJudge Cell Defect Grade! [%s]->[%s]"), nCellIndex, nIdx, _T("PT"), _T("PT")); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); + } + } + /* < KEJ 20231123 - #4669 ADD End > */ else//OK { if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_OK_CPJT || pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_Unknown_CPJT) { m_pSP2P->ISP2P_DisplayMessage(_T("[TEST Process::ReviewEnd][%02d]Cell [%02d] ReJudge Cell Defect Grade! [%s]->[%s]"), nCellIndex, nIdx,_T("OK"), _T("OK")); - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } else { @@ -2621,8 +2760,20 @@ nCelllPRJuge = 0; } } - m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d]") - , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge); + /* < KEJ 20231123 - #4669 ADD Start > */ + else if (pRawData->GetCellData(nCellIndex)->m_nJudgement == Judge_PT_CPJT) + { + nCelllOKJuge += 1; + nCelllPTJuge -= 1; + + if (nCelllPTJuge < 0) + { + nCelllPTJuge = 0; + } + } + /* < KEJ 20231123 - #4669 ADD End > */ + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]Cell [%02d]Condition CELL COUNT OK:[%d] TR[%d] PR[%d] PT[%d]") + , nCellIndex, nIdx, nCelllOKJuge, nCellTRJudge, nCelllPRJuge, nCelllPTJuge); } } @@ -2701,6 +2852,19 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE GLASS Defect PR Count[%d] [%d]"), nIdx, pRawData->GetGlassData()->m_nDefectNumJudgePR, pRcpJudgeInfo->GetJudgeCount()); } break; + /* < KEJ 20231123 - #4669 ADD Start > */ + case JudgeType_T8_PT: + if (pRawData->GetGlassData()->m_nDefectNumJudgePT >= pRcpJudgeInfo->GetJudgeCount()) + { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]GLASS Defect PT Count[%d] >= [%d]"), nIdx, pRawData->GetGlassData()->m_nDefectNumJudgePT, pRcpJudgeInfo->GetJudgeCount()); + bReJudge = TRUE; + } + else + { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE GLASS Defect PT Count[%d] [%d]"), nIdx, pRawData->GetGlassData()->m_nDefectNumJudgePT, pRcpJudgeInfo->GetJudgeCount()); + } + break; + /* < KEJ 20231123 - #4669 ADD End > */ } @@ -2750,6 +2914,18 @@ m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE GLASS Defect PR Count[%d] [%d]"), nIdx, pRawData->GetGlassData()->m_nDefectNumJudgePR, pRcpJudgeInfo->GetSubJudgeCount()); } break; + /* < KEJ 20231123 - #4669 ADD Start > */ + case JudgeType_T8_PT: + if (pRawData->GetGlassData()->m_nDefectNumJudgePT <= pRcpJudgeInfo->GetSubJudgeCount()) + { + bSubReJudge = TRUE; + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]GLASS Defect PT Count[%d] <= [%d]"), nIdx, pRawData->GetGlassData()->m_nDefectNumJudgePT, pRcpJudgeInfo->GetSubJudgeCount()); + } + else { + m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewEnd] [%02d]ELSE GLASS Defect PT Count[%d] [%d]"), nIdx, pRawData->GetGlassData()->m_nDefectNumJudgePT, pRcpJudgeInfo->GetSubJudgeCount()); + } + break; + /* < KEJ 20231123 - #4669 ADD End > */ } diff --git a/ReviewSystem/bin/CHAfmControls_x64_vc15.dll b/ReviewSystem/bin/CHAfmControls_x64_vc15.dll index 00ff89a..de13910 100644 --- a/ReviewSystem/bin/CHAfmControls_x64_vc15.dll +++ b/ReviewSystem/bin/CHAfmControls_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHAfmControls_x64_vc15.pdb b/ReviewSystem/bin/CHAfmControls_x64_vc15.pdb index 6a897ea..acd4fa2 100644 --- a/ReviewSystem/bin/CHAfmControls_x64_vc15.pdb +++ b/ReviewSystem/bin/CHAfmControls_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHAfmControlsd_x64_vc15.dll b/ReviewSystem/bin/CHAfmControlsd_x64_vc15.dll index 60d4ea3..2344868 100644 --- a/ReviewSystem/bin/CHAfmControlsd_x64_vc15.dll +++ b/ReviewSystem/bin/CHAfmControlsd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHAfmControlsd_x64_vc15.pdb b/ReviewSystem/bin/CHAfmControlsd_x64_vc15.pdb index eebb8a7..5402bfe 100644 --- a/ReviewSystem/bin/CHAfmControlsd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHAfmControlsd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHAlignFinder_x64_vc15.dll b/ReviewSystem/bin/CHAlignFinder_x64_vc15.dll index 7dc5682..7406c95 100644 --- a/ReviewSystem/bin/CHAlignFinder_x64_vc15.dll +++ b/ReviewSystem/bin/CHAlignFinder_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHAlignFinder_x64_vc15.pdb b/ReviewSystem/bin/CHAlignFinder_x64_vc15.pdb index a05b233..5e8bbd5 100644 --- a/ReviewSystem/bin/CHAlignFinder_x64_vc15.pdb +++ b/ReviewSystem/bin/CHAlignFinder_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHAlignFinderd_x64_vc15.dll b/ReviewSystem/bin/CHAlignFinderd_x64_vc15.dll index 9fbd7d7..a96b9f5 100644 --- a/ReviewSystem/bin/CHAlignFinderd_x64_vc15.dll +++ b/ReviewSystem/bin/CHAlignFinderd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHAlignFinderd_x64_vc15.pdb b/ReviewSystem/bin/CHAlignFinderd_x64_vc15.pdb index df8ed18..9aab3b6 100644 --- a/ReviewSystem/bin/CHAlignFinderd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHAlignFinderd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHDefectPicker_x64_vc15.dll b/ReviewSystem/bin/CHDefectPicker_x64_vc15.dll index a896cdb..b2a1974 100644 --- a/ReviewSystem/bin/CHDefectPicker_x64_vc15.dll +++ b/ReviewSystem/bin/CHDefectPicker_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHDefectPicker_x64_vc15.pdb b/ReviewSystem/bin/CHDefectPicker_x64_vc15.pdb index 5ba7994..d43ef3c 100644 --- a/ReviewSystem/bin/CHDefectPicker_x64_vc15.pdb +++ b/ReviewSystem/bin/CHDefectPicker_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHDefectPickerd_x64_vc15.dll b/ReviewSystem/bin/CHDefectPickerd_x64_vc15.dll index 9b1452b..4e01486 100644 --- a/ReviewSystem/bin/CHDefectPickerd_x64_vc15.dll +++ b/ReviewSystem/bin/CHDefectPickerd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHDefectPickerd_x64_vc15.pdb b/ReviewSystem/bin/CHDefectPickerd_x64_vc15.pdb index 1a8bf94..667f26e 100644 --- a/ReviewSystem/bin/CHDefectPickerd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHDefectPickerd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHLightControls_x64_vc15.dll b/ReviewSystem/bin/CHLightControls_x64_vc15.dll index eb34a2f..8fb7f4a 100644 --- a/ReviewSystem/bin/CHLightControls_x64_vc15.dll +++ b/ReviewSystem/bin/CHLightControls_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHLightControls_x64_vc15.pdb b/ReviewSystem/bin/CHLightControls_x64_vc15.pdb index b8e9103..af3b1e4 100644 --- a/ReviewSystem/bin/CHLightControls_x64_vc15.pdb +++ b/ReviewSystem/bin/CHLightControls_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHLightControlsd_x64_vc15.dll b/ReviewSystem/bin/CHLightControlsd_x64_vc15.dll index fef9bc1..71aed97 100644 --- a/ReviewSystem/bin/CHLightControlsd_x64_vc15.dll +++ b/ReviewSystem/bin/CHLightControlsd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHLightControlsd_x64_vc15.pdb b/ReviewSystem/bin/CHLightControlsd_x64_vc15.pdb index 1d066ab..9d78757 100644 --- a/ReviewSystem/bin/CHLightControlsd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHLightControlsd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHMotorControls_x64_vc15.dll b/ReviewSystem/bin/CHMotorControls_x64_vc15.dll index e3e8530..7cc135c 100644 --- a/ReviewSystem/bin/CHMotorControls_x64_vc15.dll +++ b/ReviewSystem/bin/CHMotorControls_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHMotorControls_x64_vc15.pdb b/ReviewSystem/bin/CHMotorControls_x64_vc15.pdb index 277d48d..6bfaf6a 100644 --- a/ReviewSystem/bin/CHMotorControls_x64_vc15.pdb +++ b/ReviewSystem/bin/CHMotorControls_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHMotorControlsd_x64_vc15.dll b/ReviewSystem/bin/CHMotorControlsd_x64_vc15.dll index 1637bc6..f960339 100644 --- a/ReviewSystem/bin/CHMotorControlsd_x64_vc15.dll +++ b/ReviewSystem/bin/CHMotorControlsd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHMotorControlsd_x64_vc15.pdb b/ReviewSystem/bin/CHMotorControlsd_x64_vc15.pdb index 24ad2ac..a50892d 100644 --- a/ReviewSystem/bin/CHMotorControlsd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHMotorControlsd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHPathScheduler_x64_vc15.dll b/ReviewSystem/bin/CHPathScheduler_x64_vc15.dll index 0e50f25..541e74f 100644 --- a/ReviewSystem/bin/CHPathScheduler_x64_vc15.dll +++ b/ReviewSystem/bin/CHPathScheduler_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHPathScheduler_x64_vc15.pdb b/ReviewSystem/bin/CHPathScheduler_x64_vc15.pdb index 39bd05c..3cc3080 100644 --- a/ReviewSystem/bin/CHPathScheduler_x64_vc15.pdb +++ b/ReviewSystem/bin/CHPathScheduler_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.dll b/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.dll index 14a4ca1..e362398 100644 --- a/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.dll +++ b/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.pdb b/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.pdb index b4b6b1b..7785a63 100644 --- a/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHPathSchedulerd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHResultFileManager_x64_vc15.dll b/ReviewSystem/bin/CHResultFileManager_x64_vc15.dll index 6331701..f7851b7 100644 --- a/ReviewSystem/bin/CHResultFileManager_x64_vc15.dll +++ b/ReviewSystem/bin/CHResultFileManager_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHResultFileManager_x64_vc15.pdb b/ReviewSystem/bin/CHResultFileManager_x64_vc15.pdb index a0f44c3..7121f35 100644 --- a/ReviewSystem/bin/CHResultFileManager_x64_vc15.pdb +++ b/ReviewSystem/bin/CHResultFileManager_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.dll b/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.dll index c51ba1e..e2f7cea 100644 --- a/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.dll +++ b/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.pdb b/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.pdb index 151371e..a4e970b 100644 --- a/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHResultFileManagerd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.dll b/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.dll index 738a32b..6db6ea6 100644 --- a/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.pdb b/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.pdb index 9330900..9e4eabf 100644 --- a/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewDefectFinder_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.dll b/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.dll index 6f62050..f8b0172 100644 --- a/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.pdb b/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.pdb index 6447195..ed12b2a 100644 --- a/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewDefectFinderd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.dll b/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.dll index 0cd582a..f78feb0 100644 --- a/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.pdb b/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.pdb index 08b52f4..bd70954 100644 --- a/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewPrioritySorter_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.dll b/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.dll index 9faf6d5..6b9bfd3 100644 --- a/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.pdb b/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.pdb index fa69488..483ce96 100644 --- a/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewPrioritySorterd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewRecipe_x64_vc15.dll b/ReviewSystem/bin/CHReviewRecipe_x64_vc15.dll index 0f9e21f..92b63bc 100644 --- a/ReviewSystem/bin/CHReviewRecipe_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewRecipe_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewRecipe_x64_vc15.pdb b/ReviewSystem/bin/CHReviewRecipe_x64_vc15.pdb index bdcff0e..5549a34 100644 --- a/ReviewSystem/bin/CHReviewRecipe_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewRecipe_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewReciped_x64_vc15.dll b/ReviewSystem/bin/CHReviewReciped_x64_vc15.dll index 3813b17..55fbeab 100644 --- a/ReviewSystem/bin/CHReviewReciped_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewReciped_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewReciped_x64_vc15.pdb b/ReviewSystem/bin/CHReviewReciped_x64_vc15.pdb index 96e227c..32963c6 100644 --- a/ReviewSystem/bin/CHReviewReciped_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewReciped_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewResultParser_x64_vc15.dll b/ReviewSystem/bin/CHReviewResultParser_x64_vc15.dll index c8f7389..9be9aae 100644 --- a/ReviewSystem/bin/CHReviewResultParser_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewResultParser_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewResultParser_x64_vc15.pdb b/ReviewSystem/bin/CHReviewResultParser_x64_vc15.pdb index f940b8f..46afc34 100644 --- a/ReviewSystem/bin/CHReviewResultParser_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewResultParser_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.dll b/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.dll index 46083f0..9b91cca 100644 --- a/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.pdb b/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.pdb index 95993b5..6681b7a 100644 --- a/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewResultParserd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewResult_x64_vc15.dll b/ReviewSystem/bin/CHReviewResult_x64_vc15.dll index fbc9334..42f6f25 100644 --- a/ReviewSystem/bin/CHReviewResult_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewResult_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewResult_x64_vc15.pdb b/ReviewSystem/bin/CHReviewResult_x64_vc15.pdb index 8df7e6e..a7024e3 100644 --- a/ReviewSystem/bin/CHReviewResult_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewResult_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewResultd_x64_vc15.dll b/ReviewSystem/bin/CHReviewResultd_x64_vc15.dll index db551ca..c8d7b19 100644 --- a/ReviewSystem/bin/CHReviewResultd_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewResultd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewResultd_x64_vc15.pdb b/ReviewSystem/bin/CHReviewResultd_x64_vc15.pdb index cef76c2..c4ef0f2 100644 --- a/ReviewSystem/bin/CHReviewResultd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewResultd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewSetting_x64_vc15.dll b/ReviewSystem/bin/CHReviewSetting_x64_vc15.dll index 048bc2a..c1e6976 100644 --- a/ReviewSystem/bin/CHReviewSetting_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewSetting_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewSetting_x64_vc15.pdb b/ReviewSystem/bin/CHReviewSetting_x64_vc15.pdb index 5d34c79..e17c0f0 100644 --- a/ReviewSystem/bin/CHReviewSetting_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewSetting_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHReviewSettingd_x64_vc15.dll b/ReviewSystem/bin/CHReviewSettingd_x64_vc15.dll index 30c75f1..40ed7f6 100644 --- a/ReviewSystem/bin/CHReviewSettingd_x64_vc15.dll +++ b/ReviewSystem/bin/CHReviewSettingd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHReviewSettingd_x64_vc15.pdb b/ReviewSystem/bin/CHReviewSettingd_x64_vc15.pdb index 544b363..1559c91 100644 --- a/ReviewSystem/bin/CHReviewSettingd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHReviewSettingd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHSignalControls_x64_vc15.dll b/ReviewSystem/bin/CHSignalControls_x64_vc15.dll index 5faf4d8..f56f4f5 100644 --- a/ReviewSystem/bin/CHSignalControls_x64_vc15.dll +++ b/ReviewSystem/bin/CHSignalControls_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHSignalControls_x64_vc15.pdb b/ReviewSystem/bin/CHSignalControls_x64_vc15.pdb index 5395600..c414097 100644 --- a/ReviewSystem/bin/CHSignalControls_x64_vc15.pdb +++ b/ReviewSystem/bin/CHSignalControls_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHSignalControlsd_x64_vc15.dll b/ReviewSystem/bin/CHSignalControlsd_x64_vc15.dll index 80fc08c..6a68bef 100644 --- a/ReviewSystem/bin/CHSignalControlsd_x64_vc15.dll +++ b/ReviewSystem/bin/CHSignalControlsd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHSignalControlsd_x64_vc15.pdb b/ReviewSystem/bin/CHSignalControlsd_x64_vc15.pdb index 3865625..003d86f 100644 --- a/ReviewSystem/bin/CHSignalControlsd_x64_vc15.pdb +++ b/ReviewSystem/bin/CHSignalControlsd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.dll b/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.dll index 2340f4d..0fd2060 100644 --- a/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.dll +++ b/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.pdb b/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.pdb index 7d2969a..5dff0a3 100644 --- a/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.pdb +++ b/ReviewSystem/bin/CHTotalPitchMeasure_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.dll b/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.dll index 3b28229..2cc6b78 100644 --- a/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.dll +++ b/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.pdb b/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.pdb index 711479e..f780a23 100644 --- a/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.pdb +++ b/ReviewSystem/bin/CHTotalPitchMeasured_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/LineChecker_x64_vc15.dll b/ReviewSystem/bin/LineChecker_x64_vc15.dll index fde3700..66f2623 100644 --- a/ReviewSystem/bin/LineChecker_x64_vc15.dll +++ b/ReviewSystem/bin/LineChecker_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/LineChecker_x64_vc15.pdb b/ReviewSystem/bin/LineChecker_x64_vc15.pdb index 6aaf3c0..fe1e89f 100644 --- a/ReviewSystem/bin/LineChecker_x64_vc15.pdb +++ b/ReviewSystem/bin/LineChecker_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/LineCheckerd_x64_vc15.dll b/ReviewSystem/bin/LineCheckerd_x64_vc15.dll index 16ddaa5..00e52ee 100644 --- a/ReviewSystem/bin/LineCheckerd_x64_vc15.dll +++ b/ReviewSystem/bin/LineCheckerd_x64_vc15.dll Binary files differ diff --git a/ReviewSystem/bin/LineCheckerd_x64_vc15.pdb b/ReviewSystem/bin/LineCheckerd_x64_vc15.pdb index 7e3bca6..e0d3384 100644 --- a/ReviewSystem/bin/LineCheckerd_x64_vc15.pdb +++ b/ReviewSystem/bin/LineCheckerd_x64_vc15.pdb Binary files differ diff --git a/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.dll b/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.dll index 351b0a3..6a16032 100644 --- a/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.dll +++ b/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.dll Binary files differ diff --git a/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.pdb b/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.pdb index e33c6ab..7b46e98 100644 --- a/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.pdb +++ b/ReviewSystem/bin/M_AutoDiagnosisManager_x64_vc17.pdb Binary files differ diff --git a/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.dll b/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.dll index ba7b2a7..28a8c46 100644 --- a/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.dll +++ b/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.dll Binary files differ diff --git a/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.pdb b/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.pdb index 4b4c4c8..8d2488c 100644 --- a/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.pdb +++ b/ReviewSystem/bin/M_AutoDiagnosisManagerd_x64_vc17.pdb Binary files differ diff --git a/ReviewSystem/bin/ReviewRecipeEditor.exe b/ReviewSystem/bin/ReviewRecipeEditor.exe index 835463e..b2fb4d2 100644 --- a/ReviewSystem/bin/ReviewRecipeEditor.exe +++ b/ReviewSystem/bin/ReviewRecipeEditor.exe Binary files differ diff --git a/ReviewSystem/bin/ReviewRecipeEditor.pdb b/ReviewSystem/bin/ReviewRecipeEditor.pdb index 2ead64e..b1a7ec6 100644 --- a/ReviewSystem/bin/ReviewRecipeEditor.pdb +++ b/ReviewSystem/bin/ReviewRecipeEditor.pdb Binary files differ diff --git a/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.exe b/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.exe index 68b6ac1..90f2267 100644 --- a/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.exe +++ b/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.exe Binary files differ diff --git a/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.pdb b/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.pdb index 7a1f03d..d0b26c5 100644 --- a/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.pdb +++ b/ReviewSystem/bin/ReviewRecipeEditord_x64_vc10.pdb Binary files differ diff --git a/ReviewSystem/bin/ReviewSystem.exe b/ReviewSystem/bin/ReviewSystem.exe index 4f1c2cb..3a39121 100644 --- a/ReviewSystem/bin/ReviewSystem.exe +++ b/ReviewSystem/bin/ReviewSystem.exe Binary files differ diff --git a/ReviewSystem/bin/ReviewSystem.pdb b/ReviewSystem/bin/ReviewSystem.pdb index 8fb63d9..2c79ebe 100644 --- a/ReviewSystem/bin/ReviewSystem.pdb +++ b/ReviewSystem/bin/ReviewSystem.pdb Binary files differ diff --git a/ReviewSystem/bin/ReviewSystemSetting.exe b/ReviewSystem/bin/ReviewSystemSetting.exe index e77416e..44e3d4b 100644 --- a/ReviewSystem/bin/ReviewSystemSetting.exe +++ b/ReviewSystem/bin/ReviewSystemSetting.exe Binary files differ diff --git a/ReviewSystem/bin/ReviewSystemSetting.pdb b/ReviewSystem/bin/ReviewSystemSetting.pdb index d377496..8da2d07 100644 --- a/ReviewSystem/bin/ReviewSystemSetting.pdb +++ b/ReviewSystem/bin/ReviewSystemSetting.pdb Binary files differ diff --git a/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.exe b/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.exe index 12c58b1..40c7d68 100644 --- a/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.exe +++ b/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.exe Binary files differ diff --git a/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.pdb b/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.pdb index 3652162..95c940d 100644 --- a/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.pdb +++ b/ReviewSystem/bin/ReviewSystemSettingd_x64_vc10.pdb Binary files differ diff --git a/ReviewSystem/bin/ReviewSystemd_x64_vc10.exe b/ReviewSystem/bin/ReviewSystemd_x64_vc10.exe index e0b1146..783a324 100644 --- a/ReviewSystem/bin/ReviewSystemd_x64_vc10.exe +++ b/ReviewSystem/bin/ReviewSystemd_x64_vc10.exe Binary files differ diff --git a/ReviewSystem/bin/ReviewSystemd_x64_vc10.pdb b/ReviewSystem/bin/ReviewSystemd_x64_vc10.pdb index dc66323..6d06f56 100644 --- a/ReviewSystem/bin/ReviewSystemd_x64_vc10.pdb +++ b/ReviewSystem/bin/ReviewSystemd_x64_vc10.pdb Binary files differ diff --git a/ReviewSystem/include/CHReviewRecipe/RcpJudgeInfo.h b/ReviewSystem/include/CHReviewRecipe/RcpJudgeInfo.h index b151676..54ffe71 100644 --- a/ReviewSystem/include/CHReviewRecipe/RcpJudgeInfo.h +++ b/ReviewSystem/include/CHReviewRecipe/RcpJudgeInfo.h @@ -2,7 +2,8 @@ #include <vector> -enum JudgeType_T8 { JudgeType_T8_None=0, JudgeType_T8_OK, JudgeType_T8_TR, JudgeType_T8_PR,/*, JudgeType_T8_BR, JudgeType_T8_PT,*/ JudgeType_T8_Count }; +//enum JudgeType_T8 { JudgeType_T8_None = 0, JudgeType_T8_OK, JudgeType_T8_TR, JudgeType_T8_PR,/*, JudgeType_T8_BR, JudgeType_T8_PT,*/ JudgeType_T8_Count }; +enum JudgeType_T8 { JudgeType_T8_None = 0, JudgeType_T8_OK, JudgeType_T8_TR, JudgeType_T8_PR,/*, JudgeType_T8_BR,*/ JudgeType_T8_PT, JudgeType_T8_Count }; //< KEJ 20231123 - #4669 MOD > class AFX_EXT_CLASS CRcpJudgeInfo { -- Gitblit v1.9.3