From 75c1317438374ab8555e85b491b36113b5aeb9c7 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 목, 21 4월 2022 13:52:35 +0900 Subject: [PATCH] Ongoing90 #4086 CF AOI Review FDC SW Version 추가 요청 --- ReviewSystem/ReviewSystem/ReviewInterface.cpp | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 215 insertions(+), 24 deletions(-) diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp index c5a29d6..a2d3e7d 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp +++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp @@ -67,6 +67,8 @@ #include "akAOISharedSystem.h" #include "DlgModuleInfo.h" +#include <Psapi.h> + using namespace CHReviewResult; using namespace CHImageControls; @@ -111,6 +113,14 @@ // single variable m_strProgramVersion = _T(""); // program version + /*< LYW 20220415 - #4086 ADD Start >*/ + m_nFDCGRMSWVersion = 20220101; + 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 // multi variable @@ -162,7 +172,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 - SetProgramVersion(); + SetReviewProgramVersion(); // init review data if (m_pDoc->InitReviewData()==FALSE) @@ -187,6 +197,10 @@ { m_pView->CreateDialogs(pSystemInfo->m_nLineType, pSystemInfo->m_nMachineType, pSystemInfo->m_bUseVisionAlign); } + + /*< LYW 20220415 - #4086 ADD Start >*/ + _beginthread(threadSet3rdPartyProgramVersion, NULL, this); + /*< LYW 20220415 - #4086 ADD End >*/ // system type log : SW Version 異붽� g_pLog->DisplayMessage(_T("Starting ReviewSystem Program! (%s)"), m_strProgramVersion); @@ -370,20 +384,22 @@ { TRACE(_T("[A2E]DeinitReviewInterface �떆�옉\n")); - if (m_pView) - { - m_pView->DeleteDialogs(); - } - - ClearAllObserverVector(); - g_pLog->DisplayMessage(_T("Clear all Observer Vectors")); - ::Sleep(400); - m_ProcessTimer.Start(); DisconnectReviewCamera(); DeinitReviewCamera(); m_ProcessTimer.End(); + + if (m_pView) + { + m_pView->DeleteDialogs(); + } g_pLog->DisplayMessage(_T("ReviewCamera Deinit Time : %f ms"), m_ProcessTimer.GetDurationMilliSecond()); + + g_pLog->DisplayMessage(_T("Program exit by User!")); + + ClearAllObserverVector(); + g_pLog->DisplayMessage(_T("Clear all Observer Vectors")); + ::Sleep(400); m_ProcessTimer.Start(); DeinitAlignCamera(); @@ -563,32 +579,148 @@ AFM_SetAFMZoomLevel(0, 0); } - -void CReviewInterface::SetProgramVersion() +/*< LYW 20220415 - #4086 ADD Start >*/ +void CReviewInterface::threadSet3rdPartyProgramVersion(void* pArg) { - BOOL bReturn; + CReviewInterface* pThis = (CReviewInterface*)pArg; + //LYW0412 + BOOL bReturn, bRetFTPUploader = FALSE, bRetGRM = FALSE, bRetSync = FALSE; CFileFind finder; CTime timeLastWrite; TCHAR currentPath[MAX_PATH]; + DWORD dwPid; + HWND hWnd; + HANDLE hHandle; + CString strTemp; - ::GetModuleFileName( AfxGetInstanceHandle(), currentPath, MAX_PATH); - - bReturn = finder.FindFile(currentPath); - - while(bReturn) + while ((bRetFTPUploader&bRetGRM&bRetSync) != TRUE) { - bReturn = finder.FindNextFile(); + bReturn = FALSE; - if(finder.IsDots()) continue; - if(finder.IsDirectory()) continue; + //FTPUploader S/W Version Start + if (bRetFTPUploader == FALSE) + { + dwPid = 0; + hWnd = ::FindWindow(NULL, _T("FTPUploader")); + GetWindowThreadProcessId(hWnd, &dwPid); + hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwPid); + ZeroMemory(currentPath, MAX_PATH); + GetModuleFileNameEx(hHandle, NULL, currentPath, MAX_PATH); - finder.GetLastWriteTime(timeLastWrite); - m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"), - timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute()); + bReturn = finder.FindFile(currentPath); + } + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + pThis->m_nFDCFTPUploaderSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCFTPUploaderSWVersion = %d "), pThis->m_nFDCFTPUploaderSWVersion); + bRetFTPUploader = TRUE; + } + //FTPUploader S/W Version End + + bReturn = FALSE; + + //Dit Glass Raw Messenger S/W Version Start + if (bRetGRM == FALSE) + { + dwPid = 0; + hWnd = ::FindWindow(NULL, _T("Dit Glass Raw Messenger")); + GetWindowThreadProcessId(hWnd, &dwPid); + hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwPid); + ZeroMemory(currentPath, MAX_PATH); + GetModuleFileNameEx(hHandle, NULL, currentPath, MAX_PATH); + + bReturn = finder.FindFile(currentPath); + } + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + pThis->m_nFDCGRMSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCGRMSWVersion = %d "), pThis->m_nFDCGRMSWVersion); + bRetGRM = TRUE; + } + //Dit Glass Raw Messenger S/W Version End + + bReturn = FALSE; + + //Dit Shared Memory Sync Client S/W Version Start + if (bRetSync == FALSE) + { + dwPid = 0; + hWnd = ::FindWindow(NULL, _T("Dit Shared Memory Sync Client")); + GetWindowThreadProcessId(hWnd, &dwPid); + hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwPid); + ZeroMemory(currentPath, MAX_PATH); + GetModuleFileNameEx(hHandle, NULL, currentPath, MAX_PATH); + + bReturn = finder.FindFile(currentPath); + } + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + pThis->m_nFDCSyncSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCSyncSWVersion = %d "), pThis->m_nFDCSyncSWVersion); + bRetSync = TRUE; + } + //Dit Shared Memory Sync Client S/W Version End } 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 20220415 - #4086 ADD End >*/ void CReviewInterface::CreateSystemDirectory() { @@ -2762,6 +2894,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) { CString strMessage = _T(""); @@ -3505,6 +3652,14 @@ CDlgDefectMap* pDefectmap = m_pView->GetDefectMapDlgHandle(); if (pDefectmap == NULL) { return FALSE; } pDefectmap->GetDefectMap()->SetOffsetmodeparma(bMode, nCamidx, nScanidx, nXpos, nYpos); + return FALSE; +} + +BOOL CReviewInterface::IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse) +{ + CDlgDefectMap* pDefectmap = m_pView->GetDefectMapDlgHandle(); + if (pDefectmap == NULL) { return FALSE; } + pDefectmap->GetDefectMap()->SetOffsetparm(nCamIdx, nScanIdx, bUse); return FALSE; } @@ -8286,6 +8441,42 @@ m_nReview01ImageContrast = n_Value; } +int CReviewInterface::ISP2P_GetReviewSWVersion() +{ + return m_nFDCReviewSWVersion; +} + +int CReviewInterface::ISP2P_GetSyncSWVersion() +{ + return m_nFDCSyncSWVersion; +} + +int CReviewInterface::ISP2P_GetGRMSWVersion() +{ + return m_nFDCGRMSWVersion; +} + +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