| | |
| | | |
| | | 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(); |
| | |
| | | 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); |
| | | } |
| | |
| | | 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) //명령 수행을 빠르게 감지 위한 조치 |
| | |
| | | } |
| | | |
| | | 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) |
| | | { |
| | |
| | | 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; |
| | | 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; |
| | | m_nProcessState = RPS_ResultReadFail; |
| | | break; |
| | | } |
| | | Sleep(50); |
| | | AKLOG("RawMerge File Read Try : %d", nReadFailCount); |
| | | } |
| | | if (pThis->m_nProcessState != RPS_ResultReadOK) |
| | | if (m_nProcessState != RPS_ResultReadOK) |
| | | { |
| | | pThis->m_nProcessState = RPS_ResultReadFail; |
| | | m_nProcessState = RPS_ResultReadFail; |
| | | } |
| | | } |
| | | if (nReadFailCount) |
| | | Sleep(500); |
| | | } |
| | | pThis->m_nThreadStackFileReadFlag = 0; |
| | | /*< 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); |
| | |
| | | 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(); |
| | | } |
| | | /*< 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 |
| | | { |
| | | if (m_nProcessState == RPS_StateFileRead) |
| | | { |
| | | m_nProcessState = RPS_CmdFileStop; |
| | | while (m_nProcessState == RPS_CmdFileStop) Sleep(0); |
| | | while (!(m_nProcessState == RPS_ResultReadOK || m_nProcessState == RPS_ResultReadFail)) Sleep(0); |
| | | } |
| | | |
| | | m_strGlassID = pGlassID; |
| | | m_nProcessState = RPS_CmdFileRead; |
| | | } |
| | | /*< SWK 20220413 - #4053 MOD End >*/ |
| | | |
| | | return TRUE; |
| | | } |