From c112cf54a238afa473e7eb0ea6298e06f4957658 Mon Sep 17 00:00:00 2001 From: kojingeun <diteam.co.kr> Date: 금, 24 11월 2023 14:44:30 +0900 Subject: [PATCH] Merge branch 'feature/#4539_CF_AOI_Review_Log_미출력_현상_개선' into develop --- DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp | 176 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 120 insertions(+), 56 deletions(-) diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp index d5d79d1..290b0fd 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/RawResultReader.cpp @@ -59,11 +59,15 @@ strFileName.Format("%s\\%s", m_strLocalPath, pGlassID); + FILE* pf = fopen(strFileName.GetBuffer(0), "r"); if (pf == NULL) return FALSE; + /* <KMH 20220407 : #4053 ADD Start> */ + AKLOG("Function : Read File Path: %s" , strFileName); + /* <KMH 20220407 : #4053 ADD End> */ /*< KJG 20211208 : #3696 ADD Start >*/ CDitGlassRawClient GlassRawClient; GlassRawClient.ConnectServer(); @@ -178,8 +182,12 @@ StackDefect.m_StackInfo = Stack_Unknown; pReadPoint = getParsingData(pReadPoint, 2, &StackDefect.m_nStackStepCount); - pReadPoint = getParsingData(pReadPoint, 60, &strtemp); // Stack Step m_strStackFirst - strncpy(StackDefect.m_strStackFirst, strtemp.GetBuffer(0), 60); + /* < KMH 20220712 : #4230 MOD Start > */ + //pReadPoint = getParsingData(pReadPoint, 60, &strtemp); // Stack Step m_strStackFirst + //strncpy(StackDefect.m_strStackFirst, strtemp.GetBuffer(0), 60); + pReadPoint = getParsingData(pReadPoint, 400, &strtemp); // Stack Step m_strStackFirst + strncpy(StackDefect.m_strStackFirst, strtemp.GetBuffer(0), 400); + /* < KMH 20220712 : #4230 MOD End > */ pReadPoint = getParsingData(pReadPoint, 16, &strtemp); // ReviewImageName m_strRevImageName pReadPoint = getParsingData(pReadPoint, 12, &temp); // 미사용 pReadPoint = getParsingData(pReadPoint, 12, &temp); // 미사용 @@ -368,7 +376,9 @@ akFileDB.getItem("RawMerge_Use", &m_bStackUse, 0); akFileDB.getItem("RawMerge_LocalPath", m_strLocalPath, "D:\\DIT_ResultData\\RawMerge"); - if (m_bStackUse && m_nThreadStackFileReadFlag == 0) + //< SWK 20220413 - #4053 MOD > +// if (/*m_bStackUse && */m_nThreadStackFileReadFlag == 0) + if (m_nThreadStackFileReadFlag == 0) { _beginthread(threadResultFileRead, NULL, this); } @@ -395,7 +405,8 @@ nReadFailCount = 0; AKLOG("RawMerge File Read Start : %s\\%s", pThis->m_strLocalPath, strGlassID); - Sleep(3000); + //< SWK 20220413 - #4053 DEL > +// Sleep(3000); while (pThis->m_nProcessState == RPS_StateFileRead && pThis->m_nThreadStackFileReadFlag == 1) { if ((nThreadCount++ % 20) != 0) //명령 수행을 빠르게 감지 위한 조치 @@ -411,15 +422,19 @@ } nReadFailCount++; - AKLOG("RawMerge File Read Try : %d", nReadFailCount); + //< SWK 20220413 - #4053 DEL > +// AKLOG("RawMerge File Read Try : %d", nReadFailCount); if (nReadFailCount > 10) { pThis->m_nProcessState = RPS_ResultReadFail; break; } + //< SWK 20220413 - #4053 ADD > + AKLOG("RawMerge File Read Try : %d", nReadFailCount); - Sleep(50); + //< SWK 20220413 - #4053 DEL > +// Sleep(50); } if (pThis->m_nProcessState != RPS_ResultReadOK) { @@ -433,57 +448,90 @@ pThis->m_nThreadStackFileReadFlag = 0; } /* <LJC 20211122 : #3820 ADD Start> */ -void CRawResultReader::ProcessResultFileRead(void * pArg) +/*< SWK 20220413 - #4053 MOD Start >*/ +//void CRawResultReader::ProcessResultFileRead(void * pArg) +void CRawResultReader::ProcessResultFileRead() +/*< SWK 20220413 - #4053 MOD End >*/ { - CRawResultReader* pThis = (CRawResultReader*)pArg; - - pThis->m_nThreadStackFileReadFlag = 1; + /*< SWK 20220413 - #4053 MOD Start >*/ +// CRawResultReader* pThis = (CRawResultReader*)pArg; +// +// pThis->m_nThreadStackFileReadFlag = 1; +// int nReadFailCount = 0; +// int nThreadCount = 0; +// CString strGlassID; +// +// while (pThis->m_nThreadStackFileReadFlag == 1) +// { +// if (pThis->m_nProcessState == RPS_CmdFileRead) //스택파일 읽기 수행 [김태현 2019/1/12] +// { +// strGlassID = pThis->m_strGlassID; +// +// pThis->m_nProcessState = RPS_StateFileRead; +// nThreadCount = 0; +// nReadFailCount = 0; +// AKLOG("RawMerge File Read Start : %s\\%s", pThis->m_strLocalPath, strGlassID); +// Sleep(3000); +// while (pThis->m_nProcessState == RPS_StateFileRead && pThis->m_nThreadStackFileReadFlag == 1) +// { +// if (pThis->openFile(strGlassID.GetBuffer(0)) == TRUE) +// { +// pThis->m_nProcessState = RPS_ResultReadOK; +// AKLOG("RawMerge File Read Complete "); +// break; +// } +// nReadFailCount++; +// AKLOG("RawMerge File Read Try : %d", nReadFailCount); +// if (nReadFailCount > 10) +// { +// pThis->m_nProcessState = RPS_ResultReadFail; +// break; +// } +// Sleep(50); +// } +// if (pThis->m_nProcessState != RPS_ResultReadOK) +// { +// pThis->m_nProcessState = RPS_ResultReadFail; +// } +// } +// if (nReadFailCount) +// Sleep(500); +// } +// pThis->m_nThreadStackFileReadFlag = 0; + m_nProcessState = RPS_StateFileRead; int nReadFailCount = 0; int nThreadCount = 0; - CString strGlassID; - - while (pThis->m_nThreadStackFileReadFlag == 1) + AKLOG("RawMerge File Read Start : %s\\%s", m_strLocalPath, m_strGlassID); + while (m_nProcessState == RPS_StateFileRead && m_nThreadStackFileReadFlag == 1) { - if (pThis->m_nProcessState == RPS_CmdFileRead) //스택파일 읽기 수행 [김태현 2019/1/12] + if (openFile(m_strGlassID.GetBuffer(0)) == TRUE) { - strGlassID = pThis->m_strGlassID; - - pThis->m_nProcessState = RPS_StateFileRead; - nThreadCount = 0; - nReadFailCount = 0; - - AKLOG("RawMerge File Read Start : %s\\%s", pThis->m_strLocalPath, strGlassID); - Sleep(3000); - while (pThis->m_nProcessState == RPS_StateFileRead && pThis->m_nThreadStackFileReadFlag == 1) - { - if (pThis->openFile(strGlassID.GetBuffer(0)) == TRUE) - { - pThis->m_nProcessState = RPS_ResultReadOK; - AKLOG("RawMerge File Read Complete "); - break; - } - nReadFailCount++; - AKLOG("RawMerge File Read Try : %d", nReadFailCount); - if (nReadFailCount > 10) - { - pThis->m_nProcessState = RPS_ResultReadFail; - break; - } - Sleep(50); - } - if (pThis->m_nProcessState != RPS_ResultReadOK) - { - pThis->m_nProcessState = RPS_ResultReadFail; - } + m_nProcessState = RPS_ResultReadOK; + AKLOG("RawMerge File Read Complete "); + break; } - if (nReadFailCount) - Sleep(500); + nReadFailCount++; + if (nReadFailCount > 10) + { + m_nProcessState = RPS_ResultReadFail; + break; + } + AKLOG("RawMerge File Read Try : %d", nReadFailCount); } - pThis->m_nThreadStackFileReadFlag = 0; + if (m_nProcessState != RPS_ResultReadOK) + { + m_nProcessState = RPS_ResultReadFail; + } + /*< SWK 20220413 - #4053 MOD End >*/ } /* <LJC 20211122 : #3820 ADD End> */ BOOL CRawResultReader::RawMergeFileReadStart(char* pGlassID) { + /*< SWK 20220413 - #4053 ADD Start >*/ + m_strGlassID = pGlassID; + m_nProcessState = RPS_CmdFileRead; + /*< SWK 20220413 - #4053 ADD End >*/ + if (m_nThreadStackFileReadFlag == 0) { _beginthread(threadResultFileRead, NULL, this); @@ -495,27 +543,43 @@ while (m_nProcessState == RPS_CmdFileStop) Sleep(0); } - m_strGlassID = pGlassID; - m_nProcessState = RPS_CmdFileRead; + /*< SWK 20220413 - #4053 DEL Start > +// m_strGlassID = pGlassID; +// m_nProcessState = RPS_CmdFileRead; + < SWK 20220413 - #4053 DEL End >*/ return TRUE; } /* <LJC 20211122 : #3820 ADD Start> */ BOOL CRawResultReader::ProcessRawMergeFileReadStart(char * pGlassID) { - if (m_nThreadStackFileReadFlag == 0) { - ProcessResultFileRead(this); + //< SWK 20220413 - #4053 MOD > +// ProcessResultFileRead(this); + ProcessResultFileRead(); } - if (m_nProcessState == RPS_StateFileRead) + /*< SWK 20220413 - #4053 MOD Start >*/ +// if (m_nProcessState == RPS_StateFileRead) +// { +// m_nProcessState = RPS_CmdFileStop; +// while (m_nProcessState == RPS_CmdFileStop) Sleep(0); +// } +// +// m_strGlassID = pGlassID; +// m_nProcessState = RPS_CmdFileRead; + else { - m_nProcessState = RPS_CmdFileStop; - while (m_nProcessState == RPS_CmdFileStop) Sleep(0); - } + if (m_nProcessState == RPS_StateFileRead) + { + m_nProcessState = RPS_CmdFileStop; + while (!(m_nProcessState == RPS_ResultReadOK || m_nProcessState == RPS_ResultReadFail)) Sleep(0); + } - m_strGlassID = pGlassID; - m_nProcessState = RPS_CmdFileRead; + m_strGlassID = pGlassID; + m_nProcessState = RPS_CmdFileRead; + } + /*< SWK 20220413 - #4053 MOD End >*/ return TRUE; } -- Gitblit v1.9.3