From ea996431950e6ecff451bd40d1228f51d077475c Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 목, 28 4월 2022 09:22:18 +0900 Subject: [PATCH] Ongoing100 #4086 CF AOI Review FDC SW Version 추가 요청 --- ReviewSystem/ReviewSystem/ReviewInterface.cpp | 157 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 128 insertions(+), 29 deletions(-) diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp index 9f3371b..73bc99f 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp +++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp @@ -118,6 +118,8 @@ m_nFDCFTPUploaderSWVersion = 20220101; m_nFDCSyncSWVersion = 20220101; m_nFDCReviewSWVersion = 20220101; + m_nFDCWSISWVersion00 = 20220101; + m_nFDCWSISWVersion01 = 20220101; /*< LYW 20220415 - #4086 ADD End >*/ m_ProcessTimer.End(); // process timer @@ -160,6 +162,8 @@ { if (m_pDoc==NULL) return FALSE; + Start3rdPartyProgram(); + CreateDirectory(_REVIEW_SERVER_BASE_PATH_, NULL); CreateDirectory(_REVIEW_SERVER_LOG_PATH_, NULL); CreateDirectory(_REVIEW_SERVER_CONFIG_PATH_, NULL); @@ -170,6 +174,7 @@ //ISP2P_CopyFolder(_REVIEW_SERVER_CONFIG_PATH_, _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT); //ISP2P_CopyFolder(_REVIEW_RECIPE_PATH_, _REVIEW_RECIPE_BACKUP_PATH_CPJT); //LYW_#3344_CF AOI Review Config File 諛깆뾽 湲곕뒫 媛쒖꽑 ADD END + SetReviewProgramVersion(); // init review data if (m_pDoc->InitReviewData()==FALSE) @@ -196,7 +201,7 @@ } /*< LYW 20220415 - #4086 ADD Start >*/ - _beginthread(threadSetProgramVersion, NULL, this); + _beginthread(threadSet3rdPartyProgramVersion, NULL, this); /*< LYW 20220415 - #4086 ADD End >*/ // system type log : SW Version 異붽� @@ -385,6 +390,8 @@ DisconnectReviewCamera(); DeinitReviewCamera(); m_ProcessTimer.End(); + + Terminate3rdPartyProgram(); if (m_pView) { @@ -489,8 +496,6 @@ DeinitSharedImage(); g_pLog->DisplayMessage(_T("Deinit Shared Image")); - - DeinitTotalPitchMeasure(); g_pLog->DisplayMessage(_T("Deinit TotalPitch Measure")); @@ -577,7 +582,7 @@ } /*< LYW 20220415 - #4086 ADD Start >*/ -void CReviewInterface::threadSetProgramVersion(void* pArg) +void CReviewInterface::threadSet3rdPartyProgramVersion(void* pArg) { CReviewInterface* pThis = (CReviewInterface*)pArg; //LYW0412 @@ -589,27 +594,6 @@ HWND hWnd; HANDLE hHandle; CString strTemp; - - //Review S/W Version Start - ::GetModuleFileName( AfxGetInstanceHandle(), currentPath, MAX_PATH); - - bReturn = finder.FindFile(currentPath); - - while(bReturn) - { - bReturn = finder.FindNextFile(); - - if(finder.IsDots()) continue; - if(finder.IsDirectory()) continue; - - finder.GetLastWriteTime(timeLastWrite); - pThis->m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"), - timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute()); - strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); - pThis->m_nFDCReviewSWVersion = atoi(strTemp); - g_pLog->DisplayMessage(_T("FDCReviewSWVersion = %d "), pThis->m_nFDCReviewSWVersion); - } - //Review S/W Version Start while ((bRetFTPUploader&bRetGRM&bRetSync) != TRUE) { @@ -643,6 +627,8 @@ } //FTPUploader S/W Version End + bReturn = FALSE; + //Dit Glass Raw Messenger S/W Version Start if (bRetGRM == FALSE) { @@ -670,6 +656,8 @@ bRetGRM = TRUE; } //Dit Glass Raw Messenger S/W Version End + + bReturn = FALSE; //Dit Shared Memory Sync Client S/W Version Start if (bRetSync == FALSE) @@ -702,6 +690,86 @@ finder.Close(); } + +void CReviewInterface::SetReviewProgramVersion() +{ + //LYW0412 + BOOL bReturn; + CFileFind finder; + CTime timeLastWrite; + TCHAR currentPath[MAX_PATH]; + CString strTemp; + + //Review S/W Version Start + ::GetModuleFileName(AfxGetInstanceHandle(), currentPath, MAX_PATH); + + bReturn = finder.FindFile(currentPath); + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"), + timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute()); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + m_nFDCReviewSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCReviewSWVersion = %d "), m_nFDCReviewSWVersion); + } + //Review S/W Version End +} + +/*< LYW 20220426 - #4086 ADD Start >*/ +void CReviewInterface::Start3rdPartyProgram() +{ +// if(StartWindowIDProgram(_T("FTPUploader"), _T("D:\\DIT_3rdParty\\FTPUpload\\FTPUploader.exe"))) +// g_pLog->DisplayMessage(_T("FDCFTPUploader Start Success")); +// else g_pLog->DisplayMessage(_T("FDCFTPUploader Start Fail")); + + if (StartWindowIDProgram(_T("Dit Glass Raw Messenger"), _T("D:\\DIT_3rdParty\\GlassRawMessenger\\DitGlassRawMessenger_x64.exe"))) + g_pLog->DisplayMessage(_T("DitGlassRawMessenger Start Success")); + else g_pLog->DisplayMessage(_T("DitGlassRawMessenger Start Fail")); +} + +int CReviewInterface::StartWindowIDProgram(CString WindowID, CString ProgramPath) +{ + HWND hWnd = ::FindWindow(NULL, WindowID); + if (hWnd == NULL) + { + if(ShellExecute(hWnd, NULL, ProgramPath, NULL, NULL, SW_SHOWMINIMIZED)) + return TRUE; + else return FALSE; + } + return TRUE; +} + +void CReviewInterface::Terminate3rdPartyProgram() +{ + /*TerminateWindowIDProgram(_T("FTPUploader"));*/ + TerminateWindowIDProgram(_T("Dit Glass Raw Messenger")); + TerminateWindowIDProgram(_T("gnuplot")); + KillProcess("wgnuplot.exe"); +} + +void CReviewInterface::TerminateWindowIDProgram(CString WindowID) +{ + HWND hWnd = ::FindWindow(NULL, WindowID); + if (hWnd != NULL) + { + DWORD ProcessId; + GetWindowThreadProcessId(hWnd, &ProcessId); + HANDLE hProcess = OpenProcess(MAXIMUM_ALLOWED, FALSE, ProcessId); + if (hProcess != NULL) + { + TerminateProcess(hProcess, 0); + } + + } +} +/*< LYW 20220426 - #4086 ADD End >*/ /*< LYW 20220415 - #4086 ADD End >*/ void CReviewInterface::CreateSystemDirectory() @@ -2874,6 +2942,21 @@ } return -1; +} + +void CReviewInterface::IWC2P_SetWSIVersion(int nModuleIndex, int nVersion) +{ + switch (nModuleIndex) + { + case 0: + m_nFDCWSISWVersion00 = nVersion; + break; + case 1: + m_nFDCWSISWVersion01 = nVersion; + break; + default: + break; + } } void CReviewInterface::IWC2P_SetConnectedStatus(int nModuleIndex, int nConnectStatus) @@ -8408,26 +8491,42 @@ m_nReview01ImageContrast = n_Value; } -BOOL CReviewInterface::ISP2P_GetReviewSWVersion() +int CReviewInterface::ISP2P_GetReviewSWVersion() { return m_nFDCReviewSWVersion; } -BOOL CReviewInterface::ISP2P_GetSyncSWVersion() +int CReviewInterface::ISP2P_GetSyncSWVersion() { return m_nFDCSyncSWVersion; } -BOOL CReviewInterface::ISP2P_GetGRMSWVersion() +int CReviewInterface::ISP2P_GetGRMSWVersion() { return m_nFDCGRMSWVersion; } -BOOL CReviewInterface::ISP2P_GetFTPUploaderSWVersion() +int CReviewInterface::ISP2P_GetFTPUploaderSWVersion() { return m_nFDCFTPUploaderSWVersion; } +int CReviewInterface::ISP2P_GetWSISWVersion(int nModuleIndex) +{ + switch (nModuleIndex) + { + case 0: + return m_nFDCWSISWVersion00; + break; + case 1: + return m_nFDCWSISWVersion01; + break; + default: + return m_nFDCWSISWVersion00; + break; + } +} + SDefectFilter* CReviewInterface::ISP2P_GetDefectFilter() { if (m_pDoc==NULL) return NULL; -- Gitblit v1.9.3