SDC C-Project CF Review 프로그램
LYW
2022-04-01 9c13bc5af33d28bb217995597f88fe863db42442
DitGlassRawMessenger/DitGlassRawMessenger/DitGlassRawMessengerDlg.cpp
@@ -166,6 +166,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)
@@ -251,11 +254,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 +285,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;
@@ -1349,8 +1354,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 +1537,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 +1622,51 @@
   
}
/* <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> */