SDC C-Project CF Review 프로그램
KEJ
2024-06-26 0c66940a8e2cf64c9890519901f433b3668216b6
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,9 +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, "");
@@ -263,6 +275,8 @@
      ((CButton*)GetDlgItem(IDC_CHECK_STACKFILEREAD))->SetCheck(m_ConfigOption.m_bUseStack);
      SetDlgItemText(IDC_EDIT_STACK_LOCALSAVEPATH, m_ConfigOption.m_strStackLocalPath);
      ((CButton*)GetDlgItem(IDC_CHECK_RAWMERGEFILEREAD))->SetCheck(m_ConfigOption.m_bUseRawMerge);
      SetDlgItemText(IDC_EDIT_RAWMERGE_LOCALSAVEPATH, m_ConfigOption.m_strRawMergeLocalPath);
      SetDlgItemText(IDC_EDIT_STACK_EQUIPID, m_ConfigOption.m_strStackEquipID);
      SetDlgItemText(IDC_EDIT_STACK_PARAM1, m_ConfigOption.m_strStackParam1);
      SetDlgItemText(IDC_EDIT_STACK_PARAM2, m_ConfigOption.m_strStackParam2);
@@ -276,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;
@@ -434,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);
      }
      
@@ -593,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()
@@ -707,6 +724,12 @@
         nResult = m_pGlassRawMaker->ReadBinFile(pRawDataBuffer);
         break;
      }
   case grcReviewWriteBIn:
      {
         nResult = m_pGlassRawMaker->ReviewWriteBin(pRawDataBuffer);
         break;
      }
   }
   
   PostMessage(UM_GLASSRAW_CLIENTMESSAGE, nCmd);
@@ -751,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()
{
@@ -1339,6 +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);
@@ -1518,6 +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);
@@ -1599,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 >*/