From 0c66940a8e2cf64c9890519901f433b3668216b6 Mon Sep 17 00:00:00 2001 From: KEJ <kimeungju@diteam.co.kr> Date: 수, 26 6월 2024 15:13:18 +0900 Subject: [PATCH] Ongoing80 #4942 CF AOI Review Bin File Loading 실패 개선 1. GlassRawMessenger 동기화 2. BIN파일 FindFile 제거(RawMessenger, Review 공통) 3. Unloading 시 BIN파일 제거 --- DitGlassRawMessenger/DitGlassRawMessenger/DitGlassRawMessengerDlg.cpp | 86 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 81 insertions(+), 5 deletions(-) diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/DitGlassRawMessengerDlg.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/DitGlassRawMessengerDlg.cpp index e2290d6..e984f54 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/DitGlassRawMessengerDlg.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/DitGlassRawMessengerDlg.cpp @@ -131,7 +131,6 @@ m_vecStrGridDefectHeader.push_back("MergeState"); } - void CDitGlassRawMessengerDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); @@ -166,6 +165,9 @@ ON_BN_CLICKED(IDC_BTN_STACKAPPLY, &CDitGlassRawMessengerDlg::OnBnClickedBtnStackapply) ON_BN_CLICKED(IDC_TEST_CMD, &CDitGlassRawMessengerDlg::OnBnClickedTestCmd) ON_BN_CLICKED(IDC_BTN_FTP_MANUALUPLOAD, &CDitGlassRawMessengerDlg::OnBnClickedBtnFtpManualupload) + /* <LJC 20211122 : #3820 ADD Start> */ + ON_WM_COPYDATA() + /* <LJC 20211122 : #3820 ADD End> */ END_MESSAGE_MAP() void GetCompileTime(tm& timestruct) @@ -196,6 +198,12 @@ BOOL CDitGlassRawMessengerDlg::OnInitDialog() { + + /* <LJC 20220407 : #4053 MOD Start> */ + CString strTemp; + strTemp.Format(_T("Version : %s %s"), _T(__DATE__), _T(__TIME__)); + AKLOG("DITRawMessenger 프로그램 실행( : %s )", strTemp); + /* <LJC 20220407 : #4053 MOD End> */ CDialog::OnInitDialog(); DragAcceptFiles(TRUE); @@ -251,11 +259,13 @@ akFileDB.getItem("DataMaxNumCell", &m_ConfigOption.m_nMaxDataNumCell, 200); akFileDB.getItem("DataMaxNumDefect", &m_ConfigOption.m_nMaxDataNumDefect, 50000); akFileDB.getItem("SelectRawType", &m_ConfigOption.m_nSelectRawType, 0); - akFileDB.getItem("LogFilePath", m_ConfigOption.m_strLogFilePath, "c:\\AOIServer\\LogRawMessenger\\LogRawMessenger"); + akFileDB.getItem("LogFilePath", m_ConfigOption.m_strLogFilePath, "D:\\AOIServer\\LogRawMessenger\\LogRawMessenger"); akFileDB.getItem("Stack_Use", &m_ConfigOption.m_bUseStack, 0); akFileDB.getItem("Stack_LocalPath", m_ConfigOption.m_strStackLocalPath, "D:\\DIT_ResultData\\Stack"); + /*< KJG 20211024 - #3487 ADD Start >*/ akFileDB.getItem("RawMerge_Use", &m_ConfigOption.m_bUseRawMerge, 0); akFileDB.getItem("RawMerge_LocalPath", m_ConfigOption.m_strRawMergeLocalPath, "D:\\DIT_ResultData\\RawMerge"); + /*< KJG 20211024 - #3487 ADD End >*/ akFileDB.getItem("Stack_EquipID",m_ConfigOption.m_strStackEquipID, "AAAAA"); akFileDB.getItem("Stack_Param1",m_ConfigOption.m_strStackParam1, ""); akFileDB.getItem("Stack_Param2",m_ConfigOption.m_strStackParam2, ""); @@ -280,7 +290,7 @@ CreateDirectory(strPath, NULL); //CakLoggerExt::getInstance()->setWriteFileMode(m_ConfigOption.m_strLogFilePath); - CakLoggerExt::getInstance()->setWriteFileMode2("C:\\DIT_LogData\\", "logGlassRawMessenger"); + CakLoggerExt::getInstance()->setWriteFileMode2("D:\\DIT_LogData\\", "logGlassRawMessenger"); CakLoggerExt::getInstance()->m_hParent = GetSafeHwnd(); m_ctrlLoggerList; @@ -438,7 +448,7 @@ { HMENU hMenu = CreatePopupMenu(); AppendMenu(hMenu, MF_STRING, 0, "연구소2파트작품"); - AppendMenu(hMenu, MF_STRING, WM_DESTROY, "Exit"); + AppendMenu(hMenu, MF_STRING, WM_DESTROY, "Exit"); TrackPopupMenu(hMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, pos.x, pos.y, 0, GetSafeHwnd(), NULL); } @@ -597,6 +607,9 @@ Sleep(10); } pThis->m_nThreadMainFlag = 0; + /* <KMH 20220407 : #4053 ADD Start> */ + AKLOG("Main Thread End"); + /* <KMH 20220407 : #4053 ADD End> */ } void CDitGlassRawMessengerDlg::MainProcess() @@ -761,12 +774,13 @@ if(m_pGlassRawMaker) delete m_pGlassRawMaker; m_pGlassRawMaker = pNewRawMaker; + m_pGlassRawMaker->SetInterface_IGR2P(this); /* < KJG 20240620 - #4942 ADD Start >*/ + m_ConfigOption.m_nSelectRawType = nIndex; WriteConfigFile(); } - BOOL CDitGlassRawMessengerDlg::DestroyWindow() { @@ -1349,8 +1363,10 @@ akFileDB.setItem("Stack_Use", m_ConfigOption.m_bUseStack); akFileDB.setItem("Stack_LocalPath", m_ConfigOption.m_strStackLocalPath); + /*< KJG 20211024 - #3487 ADD Start >*/ akFileDB.setItem("RawMerge_Use", m_ConfigOption.m_bUseRawMerge); akFileDB.setItem("RawMerge_LocalPath", m_ConfigOption.m_strRawMergeLocalPath); + /*< KJG 20211024 - #3487 ADD End >*/ akFileDB.setItem("Stack_EquipID", m_ConfigOption.m_strStackEquipID); akFileDB.setItem("Stack_Param1",m_ConfigOption.m_strStackParam1); akFileDB.setItem("Stack_Param2",m_ConfigOption.m_strStackParam2); @@ -1530,8 +1546,10 @@ { m_ConfigOption.m_bUseStack = ((CButton*)GetDlgItem(IDC_CHECK_STACKFILEREAD))->GetCheck(); GetDlgItemText(IDC_EDIT_STACK_LOCALSAVEPATH,m_ConfigOption.m_strStackLocalPath, 256); + /*< KJG 20211024 - #3487 ADD Start >*/ m_ConfigOption.m_bUseRawMerge = ((CButton*)GetDlgItem(IDC_CHECK_RAWMERGEFILEREAD))->GetCheck(); GetDlgItemText(IDC_EDIT_RAWMERGE_LOCALSAVEPATH, m_ConfigOption.m_strRawMergeLocalPath, 256); + /*< KJG 20211024 - #3487 ADD End >*/ GetDlgItemText(IDC_EDIT_STACK_EQUIPID,m_ConfigOption.m_strStackEquipID, 32); GetDlgItemText(IDC_EDIT_STACK_PARAM1,m_ConfigOption.m_strStackParam1, 32); GetDlgItemText(IDC_EDIT_STACK_PARAM2,m_ConfigOption.m_strStackParam2, 32); @@ -1613,3 +1631,61 @@ } + +/* <LJC 20211122 : #3820 ADD Start> */ +BOOL CDitGlassRawMessengerDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct) +{ + // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다. + CDitGlassRawServer* pServer = (CDitGlassRawServer*)&m_Server; + CgrmGlassRawData* pRawDataBuffer = &m_GlassRawDataBuffer; + pRawDataBuffer->ImportGlassRaw(pServer->GetGlassRawInfo(), (char*)pServer->GetGlassData(), true); + CFTPCopyDataParam* FTPCopyDataParam = ((CFTPCopyDataParam*)pCopyDataStruct->lpData); + switch (pCopyDataStruct->dwData) + { + case COPYDATA_RAW_DOWNLOAD_ACK: + { + if (FTPCopyDataParam->m_nProcessType == CFTPCopyDataParam::FTPProcessType_DownFile && pServer->GetGlassRawInfo()->m_ServerProcStep == APS_GlassLoading && m_pGlassRawMaker->GetEnableFtpAck() == TRUE) + { + if (FTPCopyDataParam->m_nSendResultCode == TRUE) + { + m_pGlassRawMaker->SetEnableFtpAck(FALSE); + m_pGlassRawMaker->SearchFIle(pRawDataBuffer); + break; + } + else + { + m_nMaxMergeList++; + m_pGlassRawMaker->DownLoadMergeFile(pRawDataBuffer); + if (m_nMaxMergeList > 10) + { + m_nMaxMergeList = 0; + break; + } + + } + } + else + { + break; + } + + } + break; + + default: + break; + } + + return CDialog::OnCopyData(pWnd, pCopyDataStruct); +} +/* <LJC 20211122 : #3820 ADD End> */ + +/* < KJG 20240620 - #4942 ADD Start >*/ +void CDitGlassRawMessengerDlg::IGR2P_ReportBinaryResult(BOOL bSucess) +{ + if(bSucess) + m_Server.GetGlassRawInfo()->m_ClientResultStep = APS_RES_BinarySuccess; + else + m_Server.GetGlassRawInfo()->m_ClientResultStep = APS_RES_BinaryFail; +} +/* < KJG 20240620 - #4942 ADD End >*/ -- Gitblit v1.9.3