From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 목, 22 12월 2022 12:31:43 +0900
Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합)

---
 ReviewHistory/ReveiwHistory/InterfaceFTP.h |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/ReveiwHistory/InterfaceFTP.h b/ReviewHistory/ReveiwHistory/InterfaceFTP.h
new file mode 100644
index 0000000..22d10e1
--- /dev/null
+++ b/ReviewHistory/ReveiwHistory/InterfaceFTP.h
@@ -0,0 +1,100 @@
+#pragma once
+
+#include "GlassRawBase.h"
+
+class CInterfaceFTP
+{
+public:
+	enum emFTPCommand
+	{	
+		FTPCMD_REVIEW_IMAGE		=0,
+		FTPCMD_RAW				,
+		FTPCMD_INDEX				,
+		FTPCMD_AOI_IMAGE			,
+		FTPCMD_MURA_RAW			,
+		FTPCMD_MURA_IMAGE			,
+		FTPCMD_STACK				,
+		FTPCMD_LINK				,
+		FTPCMD_End
+	};
+
+public:
+	CInterfaceFTP(void);
+	~CInterfaceFTP(void);
+
+	virtual void SendMessageFTPUploadRaw(_grmGlassData* pGlassData);
+	virtual void SendMessageFTPDownloadStack(_grmGlassData* pGlassData);
+	virtual void SendMessageFTPUploadImage(_grmGlassData* pGlassData, emFTPCommand sort); 
+	virtual BOOL SendMessageFTPUploadIndexFile(_grmGlassData* pGlassData);
+	virtual void SendMessageFTPUploadLinkFile(_grmGlassData* pGlassData);
+	virtual void SendMessageFTPDownloadDataFile( _grmGlassData* pGlassData);
+
+	virtual void GetFormatDescription(emFTPCommand sort, char* pServerPath, char* pServerFile, char* pLocalPath, char* pLocalFile, _grmGlassData* pGlassData); 
+ 
+public:
+	CTime m_tmFileCreateTime;
+};
+
+class CFTPCopyDataParam
+{
+public:
+	enum FTPProcessType { FTPProcessType_DownFile=0, FTPProcessType_UpFile, FTPProcessType_Count };
+	enum FTPDataSize { FTPDataSize_MaxPathNum=255, FTPDataSize_MaxFileNum=100 };
+	enum FTPCopyDataCmd { FTPCopyDataCmd_RawDownload=1,  FTPCopyDataCmd_RawUpload, FTPCopyDataCmd_LotUpload, FTPCopyDataCmd_ImageUpload };
+	enum FTPDataType { FTPDataType_Unknown = 0, FTPDataType_Raw, FTPDataType_Image, FTPDataType_Stack, FTPDataType_Index };
+
+public:
+	CFTPCopyDataParam()				{ Reset(); }
+	virtual ~CFTPCopyDataParam()	{ Reset(); }
+	void Reset()
+	{
+		memset(this, 0, sizeof(CFTPCopyDataParam));
+		m_hSenderWnd = GetCurrentProcessWndHandle();
+	}
+
+	const HWND	GetSenderWnd() const						{ return m_hSenderWnd; }
+	void		SetSenderWnd(HWND hWnd)						{ m_hSenderWnd = hWnd; }
+
+public:
+	int		m_nProcessType;								// 프로세스 타입
+	int 	m_nCreateSignalFile;						// 시그널 파일 생성유무
+	int		m_bFirstPriority;							// 최상위 우선순위유무
+	int		m_nSendResultCode;							// 보낸 결과 코드
+	// [C-PRJ] Image Upload Define - KHT (2020/11/19)
+	int		m_nDataType;								// 데이터 타입
+
+	TCHAR	m_strServer_FolderName[FTPDataSize_MaxPathNum];		// 서버 경로명
+	TCHAR	m_strServer_FileName[FTPDataSize_MaxFileNum];			// 서버 파일명
+
+	TCHAR	m_strLocal_FolderName[FTPDataSize_MaxPathNum];		// 로컬 경로명
+	TCHAR	m_strLocal_FileName[FTPDataSize_MaxFileNum];			// 로컬 파일명
+
+	TCHAR	m_strServer_SignalFolderName[FTPDataSize_MaxPathNum];	// 서버 시그널 경로명
+	TCHAR	m_strServer_SignalFileName[FTPDataSize_MaxFileNum];	// 서버 시그널 파일명
+
+	TCHAR	m_strRTMS_FileName[FTPDataSize_MaxFileNum];
+
+	TCHAR   m_strServer_SubFileName[FTPDataSize_MaxFileNum];  // 서버 로컬 경로내에 추가 Raw 파일 생성 이름
+	TCHAR   m_strServer_SubFilePath[FTPDataSize_MaxFileNum];  // 서버 로컬 경로내에 추가 Raw 파일 생성 경로
+
+protected:
+	HWND	m_hSenderWnd;								// 보낸 프로그램 윈도우
+
+	static HWND GetCurrentProcessWndHandle()
+	{
+		DWORD dwPID = GetCurrentProcessId();
+		HWND hWnd = FindWindow(NULL, NULL);
+		while (hWnd != NULL)
+		{
+			if (GetParent(hWnd) == NULL){
+				DWORD dwProcId;
+				GetWindowThreadProcessId(hWnd, &dwProcId);
+				if (dwPID == dwProcId){
+					return hWnd;
+				}
+			}
+			hWnd = GetWindow(hWnd, GW_HWNDNEXT);
+		}
+		return NULL;
+	}
+};

--
Gitblit v1.9.3