#include "StdAfx.h"
|
#include "InterfaceFTP.h"
|
#include "akLoggerExt.h"
|
#include "akCore/akFileUtil.h"
|
|
#define LOCAL_INDEX_PATH "D:\\DIT_ResultData\\Index\\"
|
#define LOCAL_REV_IMAGE_PATH "D:\\ResultData\\Upload\\Image\\"
|
#define LOCAL_AOI_IMAGE_PATH "D:\\Image\\Defect\\"
|
#define LOCAL_MURA_IMAGE_PATH "D:\\DIT_ResultData\\Mura\\IMG\\"
|
#define LOCAL_DEEP_PATH "D:\\DIT_ResultData\\Deeplearning\\"
|
|
CInterfaceFTP::CInterfaceFTP(void)
|
{
|
|
}
|
|
CInterfaceFTP::~CInterfaceFTP(void)
|
{
|
}
|
|
|
void CInterfaceFTP::SendMessageFTPUploadLinkFile( _grmGlassData* pGlassData )
|
{
|
if(pGlassData == NULL) return;
|
HWND hWnd = ::FindWindow(NULL, "FTPUploader");
|
if(hWnd == NULL) return;
|
|
char strServerFolder[256] = {};
|
char strServerFile[256] = {};
|
char strLocalFolder[256] = {};
|
char pLocalFile[256] = {};
|
GetFormatDescription(FTPCMD_LINK, strServerFolder, strServerFile, strLocalFolder, pLocalFile, pGlassData);
|
|
CFTPCopyDataParam upParam;
|
strcpy(upParam.m_strServer_FolderName, strServerFolder);
|
strcpy(upParam.m_strServer_FileName, strServerFile);
|
strcpy(upParam.m_strLocal_FolderName, strLocalFolder);
|
strcpy(upParam.m_strLocal_FileName, pLocalFile);
|
strcpy(upParam.m_strServer_SignalFolderName, "");
|
strcpy(upParam.m_strServer_SignalFileName, "");
|
upParam.m_nCreateSignalFile = FALSE;//m_ctrlCreateSignal.GetCheck();
|
upParam.m_nSendResultCode = FALSE;//m_ctrlResultAck.GetCheck();
|
upParam.m_nProcessType = CFTPCopyDataParam::FTPProcessType_UpFile;
|
|
COPYDATASTRUCT cds;
|
cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawUpload;
|
cds.cbData = sizeof(CFTPCopyDataParam);
|
cds.lpData = &upParam;
|
|
DWORD dwReturn = 0;
|
if(SendMessageTimeout(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds, SMTO_NORMAL, 20000, (PDWORD_PTR)(dwReturn)) == FALSE)
|
{
|
}
|
|
}
|
|
void CInterfaceFTP::SendMessageFTPUploadRaw( _grmGlassData* pGlassData )
|
{
|
if(pGlassData == NULL) return;
|
HWND hWnd = ::FindWindow(NULL, "FTPUploader");
|
if(hWnd == NULL) return;
|
|
char strServerFolder[256] = {};
|
char strServerFile[256] = {};
|
char strLocalFolder[256] = {};
|
char pLocalFile[256] = {};
|
GetFormatDescription(FTPCMD_RAW, strServerFolder, strServerFile, strLocalFolder, pLocalFile, pGlassData);
|
|
CFTPCopyDataParam upParam;
|
strcpy(upParam.m_strServer_FolderName, strServerFolder);
|
strcpy(upParam.m_strServer_FileName, strServerFile);
|
strcpy(upParam.m_strLocal_FolderName, strLocalFolder);
|
strcpy(upParam.m_strLocal_FileName, pLocalFile);
|
strcpy(upParam.m_strServer_SignalFolderName, "");
|
strcpy(upParam.m_strServer_SignalFileName, "");
|
upParam.m_nCreateSignalFile = FALSE;//m_ctrlCreateSignal.GetCheck();
|
upParam.m_nSendResultCode = FALSE;//m_ctrlResultAck.GetCheck();
|
upParam.m_nProcessType = CFTPCopyDataParam::FTPProcessType_UpFile;
|
|
COPYDATASTRUCT cds;
|
cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawUpload;
|
cds.cbData = sizeof(CFTPCopyDataParam);
|
cds.lpData = &upParam;
|
|
DWORD dwReturn = 0;
|
if(SendMessageTimeout(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds, SMTO_NORMAL, 20000, (PDWORD_PTR)(dwReturn)) == FALSE)
|
{
|
}
|
|
}
|
|
void CInterfaceFTP::SendMessageFTPDownloadStack( _grmGlassData* pGlassData )
|
{
|
if(pGlassData == NULL) return;
|
HWND hWnd = ::FindWindow(NULL, "FTPUploader");
|
if(hWnd == NULL) return;
|
|
char strServerFolder[256] = {};
|
char strServerFile[256] = {};
|
char strLocalFolder[256] = {};
|
char pLocalFile[256] = {};
|
GetFormatDescription(FTPCMD_STACK, strServerFolder, strServerFile, strLocalFolder, pLocalFile, pGlassData);
|
|
CFTPCopyDataParam upParam;
|
strcpy(upParam.m_strServer_FolderName, strServerFolder);
|
strcpy(upParam.m_strServer_FileName, strServerFile);
|
strcpy(upParam.m_strLocal_FolderName, strLocalFolder);
|
strcpy(upParam.m_strLocal_FileName, pLocalFile);
|
strcpy(upParam.m_strServer_SignalFolderName, "");
|
strcpy(upParam.m_strServer_SignalFileName, "");
|
upParam.m_nCreateSignalFile = FALSE;//m_ctrlCreateSignal.GetCheck();
|
upParam.m_nSendResultCode = FALSE;//m_ctrlResultAck.GetCheck();
|
upParam.m_nProcessType = CFTPCopyDataParam::FTPProcessType_DownFile;
|
|
COPYDATASTRUCT cds;
|
cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawDownload;
|
cds.cbData = sizeof(CFTPCopyDataParam);
|
cds.lpData = &upParam;
|
|
DWORD dwReturn = 0;
|
if(SendMessageTimeout(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds, SMTO_NORMAL, 20000, (PDWORD_PTR)(dwReturn)) == FALSE)
|
{
|
}
|
}
|
|
void CInterfaceFTP::SendMessageFTPDownloadDataFile( _grmGlassData* pGlassData )
|
{
|
if(pGlassData == NULL) return;
|
HWND hWnd = ::FindWindow(NULL, "FTPDownloader");
|
if(hWnd == NULL) return;
|
|
char strServerFolder[256] = {};
|
char strServerFile[256] = {};
|
char strLocalFolder[256] = {};
|
char pLocalFile[256] = {};
|
|
//GetFormatDescription(FTPCMD_DATAFILE, strServerFolder, strServerFile, strLocalFolder, pLocalFile, pGlassData);
|
{
|
CString strGlassIDOrg = pGlassData->m_strGlassID;
|
CString strGlassID = strGlassIDOrg.Left(12);
|
sprintf(strServerFolder, "%s", pGlassData->m_strCassetteSequenceNo);
|
sprintf(strServerFile, "%s.dat", strGlassID.GetBuffer(0));
|
sprintf(strLocalFolder, "D:\\DIT_ResultData\\DownloadData");
|
sprintf(pLocalFile, "%s.dat", strGlassID.GetBuffer(0));
|
}
|
|
CFTPCopyDataParam upParam;
|
strcpy(upParam.m_strServer_FolderName, strServerFolder);
|
strcpy(upParam.m_strServer_FileName, strServerFile);
|
strcpy(upParam.m_strLocal_FolderName, strLocalFolder);
|
strcpy(upParam.m_strLocal_FileName, pLocalFile);
|
strcpy(upParam.m_strServer_SignalFolderName, "");
|
strcpy(upParam.m_strServer_SignalFileName, "");
|
upParam.m_nCreateSignalFile = FALSE;//m_ctrlCreateSignal.GetCheck();
|
upParam.m_nSendResultCode = FALSE;//m_ctrlResultAck.GetCheck();
|
upParam.m_nProcessType = CFTPCopyDataParam::FTPProcessType_DownFile;
|
|
COPYDATASTRUCT cds;
|
cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawDownload;
|
cds.cbData = sizeof(CFTPCopyDataParam);
|
cds.lpData = &upParam;
|
|
DWORD dwReturn = 0;
|
if(SendMessageTimeout(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds, SMTO_NORMAL, 20000, (PDWORD_PTR)(dwReturn)) == FALSE)
|
{
|
}
|
}
|
|
void CInterfaceFTP::SendMessageFTPUploadImage( _grmGlassData* pGlassData, emFTPCommand sort)
|
{
|
if(pGlassData == NULL) return;
|
HWND hWnd = ::FindWindow(NULL, "FTPUploader");
|
if(hWnd == NULL) return;
|
|
char strServerFolder[256] = {};
|
char strServerFile[32];// = "*.*";
|
char strLocalFolder[256] = {};
|
char strLocalFile[32];// = "*.*";
|
|
GetFormatDescription(sort, strServerFolder, strServerFile, strLocalFolder, strLocalFile, pGlassData);
|
|
// if(0)//test
|
// {
|
// sprintf(strServerFolder, "HDD1/DIT/TestC");
|
// }
|
|
CFTPCopyDataParam upParam;
|
strcpy(upParam.m_strServer_FolderName, strServerFolder);
|
strcpy(upParam.m_strServer_FileName, strServerFile);
|
strcpy(upParam.m_strLocal_FolderName, strLocalFolder);
|
strcpy(upParam.m_strLocal_FileName, strLocalFile);
|
strcpy(upParam.m_strServer_SignalFolderName, "");
|
strcpy(upParam.m_strServer_SignalFileName, "");
|
upParam.m_nCreateSignalFile = FALSE;
|
upParam.m_nSendResultCode = FALSE;
|
upParam.m_nProcessType = CFTPCopyDataParam::FTPProcessType_UpFile;
|
|
COPYDATASTRUCT cds;
|
cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawUpload; //<--¿ä°Ç ³ªÁß¿¡ ±¸ºÐ
|
cds.cbData = sizeof(CFTPCopyDataParam);
|
cds.lpData = &upParam;
|
|
DWORD dwReturn = 0;
|
if(SendMessageTimeout(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds, SMTO_NORMAL, 20000, (PDWORD_PTR)(dwReturn)) == FALSE)
|
{
|
}
|
}
|
|
|
BOOL CInterfaceFTP::SendMessageFTPUploadIndexFile( _grmGlassData* pGlassData )
|
{
|
if(pGlassData == NULL)
|
return FALSE;
|
|
HWND hWnd = ::FindWindow(NULL, "FTPUploader");
|
if(hWnd == NULL) return FALSE;
|
|
|
char strServerFolder[256] = {};
|
char strServerFile[256] = {};
|
char strLocalFolder[256] = {};
|
char pLocalFile[256] = {};
|
|
GetFormatDescription(FTPCMD_INDEX, strServerFolder, strServerFile, strLocalFolder, pLocalFile, pGlassData);
|
|
|
// if(0)//test
|
// {
|
// sprintf(strServerFolder, "HDD1/DIT/TestC");
|
// ServerFile = "ftptestfile.txt";
|
//
|
// sprintf(strLocalFolder, "D:");
|
// pLocalFile = "ftptestfile.txt";
|
// }
|
|
|
CFTPCopyDataParam upParam;
|
strcpy(upParam.m_strServer_FolderName, strServerFolder);
|
strcpy(upParam.m_strServer_FileName, strServerFile);
|
strcpy(upParam.m_strLocal_FolderName, strLocalFolder);
|
strcpy(upParam.m_strLocal_FileName, pLocalFile);
|
strcpy(upParam.m_strServer_SignalFolderName, "");
|
strcpy(upParam.m_strServer_SignalFileName, "");
|
upParam.m_nCreateSignalFile = FALSE;//m_ctrlCreateSignal.GetCheck();
|
upParam.m_nSendResultCode = FALSE;//m_ctrlResultAck.GetCheck();
|
upParam.m_nProcessType = CFTPCopyDataParam::FTPProcessType_UpFile;
|
|
COPYDATASTRUCT cds;
|
cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawUpload;
|
cds.cbData = sizeof(CFTPCopyDataParam);
|
cds.lpData = &upParam;
|
|
DWORD dwReturn = 0;
|
if(SendMessageTimeout(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds, SMTO_NORMAL, 20000, (PDWORD_PTR)(dwReturn)) == FALSE)
|
{
|
}
|
return TRUE;
|
}
|
|
void CInterfaceFTP::GetFormatDescription(emFTPCommand sort, char* pServerPath, char* pServerFile, char* pLocalPath, char* pLocalFile, _grmGlassData* pGlassData)
|
{
|
|
CString strGlassIDOrg = pGlassData->m_strGlassID;
|
CString strGlassID = strGlassIDOrg.Left(12);
|
CString strGlassIDLevel5th = strGlassID.Left(5);
|
CString strGlassIDLevel8th = strGlassID.Left(8);
|
|
switch(sort)
|
{
|
case FTPCMD_AOI_IMAGE:
|
{
|
CTime time = m_tmFileCreateTime;
|
|
sprintf(pServerPath, "%s\\%04d%02d%02d\\%s\\%s\\%s\\Image", pGlassData->m_strEquipID, time.GetYear(), time.GetMonth(), time.GetDay(),
|
strGlassIDLevel5th.GetBuffer(0),
|
strGlassIDLevel8th.GetBuffer(0),
|
strGlassID.GetBuffer(0));
|
|
sprintf(pLocalPath, "%s%s", LOCAL_AOI_IMAGE_PATH, strGlassID.GetBuffer(0));
|
strcpy(pServerFile, "*.*");
|
strcpy(pLocalFile, "*.*");
|
}
|
break;
|
case FTPCMD_REVIEW_IMAGE:
|
{
|
CTime time = m_tmFileCreateTime;
|
|
sprintf(pServerPath, "%s\\%04d%02d%02d\\%s\\%s\\%s\\Image", pGlassData->m_strEquipID, time.GetYear(), time.GetMonth(), time.GetDay(),
|
strGlassIDLevel5th.GetBuffer(0),
|
strGlassIDLevel8th.GetBuffer(0),
|
strGlassID.GetBuffer(0));
|
|
sprintf(pLocalPath, "%s%s", LOCAL_REV_IMAGE_PATH, strGlassID.GetBuffer(0));
|
strcpy(pServerFile, "*.*");
|
strcpy(pLocalFile, "*.*");
|
}
|
break;
|
case FTPCMD_RAW:
|
{
|
CTime time = m_tmFileCreateTime;
|
CString strFileName;//ÆÄÀÏ»ý¼º ½Ã°£ ¶§¹®¿¡ ¿©±â¼ Á¤È®ÇÏ°Ô ÆÄÀÏ¸í ´Ù½Ã Á¤Á¤
|
{
|
//Glass Á¤º¸
|
CTime CurrTime = m_tmFileCreateTime;
|
CString strTime;
|
strTime.Format(_T("%04d%02d%02d_%02d%02d%02d"),
|
CurrTime.GetYear(), CurrTime.GetMonth(), CurrTime.GetDay(), CurrTime.GetHour(), CurrTime.GetMinute(), CurrTime.GetSecond());
|
strFileName.Format("%s_%s_%s.csv", pGlassData->m_strOperID, pGlassData->m_strGlassID, strTime.GetBuffer(0));
|
}
|
sprintf(pServerPath, "%s\\%04d%02d%02d\\%s\\%s\\%s\\Data", pGlassData->m_strEquipID, time.GetYear(), time.GetMonth(), time.GetDay(),
|
strGlassIDLevel5th.GetBuffer(0),
|
strGlassIDLevel8th.GetBuffer(0),
|
strGlassID.GetBuffer(0));
|
|
sprintf(pLocalPath, "%s", pGlassData->m_strPath);
|
|
sprintf(pServerFile, "%s", strFileName.GetBuffer(0));
|
sprintf(pLocalFile, "%s", strFileName.GetBuffer(0));
|
}
|
break;
|
case FTPCMD_STACK:
|
{
|
// CTime time = pGlassData->m_tmGlassLoading;
|
// sprintf(pServerPath, "%s\\%04d%02d%02d\\%s\\%s\\%s\\Data", m_StackResult.getStackEquipID(), time.GetYear(), time.GetMonth(), time.GetDay(),
|
// strGlassIDLevel5th.GetBuffer(0),
|
// strGlassIDLevel8th.GetBuffer(0),
|
// strGlassID.GetBuffer(0));
|
//
|
// //°¡Àå ÃÖ±Ù°É Ã£¾Æ¾ß Çϳª? [±èÅÂÇö 2019/1/12]
|
// sprintf(pServerFile, "%s_%s_*.csv",
|
// m_StackResult.getStackOperID(),
|
// pGlassData->m_strGlassID);
|
//
|
// sprintf(pLocalPath, "%s", m_StackResult.getStackLocalPath());
|
// sprintf(pLocalFile, "%s.txt", strGlassID.GetBuffer(0));
|
}
|
break;
|
case FTPCMD_MURA_IMAGE:
|
{
|
CTime time = m_tmFileCreateTime;
|
sprintf(pServerPath, "%s\\%04d%02d%02d\\%s\\%s\\%s\\Image", pGlassData->m_strEquipID, time.GetYear(), time.GetMonth(), time.GetDay(),
|
strGlassIDLevel5th.GetBuffer(0),
|
strGlassIDLevel8th.GetBuffer(0),
|
strGlassID.GetBuffer(0));
|
|
sprintf(pLocalPath, "%s%s", LOCAL_MURA_IMAGE_PATH, strGlassID.GetBuffer(0));
|
strcpy(pServerFile, "*.*");
|
strcpy(pLocalFile, "*.*");
|
}
|
break;
|
case FTPCMD_INDEX:
|
{
|
CTime time = m_tmFileCreateTime;
|
sprintf(pServerPath, "INDEX\\%s", pGlassData->m_strEquipID);
|
sprintf(pServerFile, "%04d%02d%02d_%s.csv", time.GetYear(), time.GetMonth(), time.GetDay(), pGlassData->m_strStepID);
|
|
sprintf(pLocalPath, "%s", LOCAL_INDEX_PATH);
|
sprintf(pLocalFile, "%s", pServerFile);
|
}
|
break;
|
|
case FTPCMD_LINK:
|
{
|
CTime time = m_tmFileCreateTime;
|
CString strFileName;//ÆÄÀÏ»ý¼º ½Ã°£ ¶§¹®¿¡ ¿©±â¼ Á¤È®ÇÏ°Ô ÆÄÀÏ¸í ´Ù½Ã Á¤Á¤
|
{
|
//Glass Á¤º¸
|
CTime CurrTime = m_tmFileCreateTime;
|
CString strTime;
|
strTime.Format(_T("%04d%02d%02d_%02d%02d%02d"),
|
CurrTime.GetYear(), CurrTime.GetMonth(), CurrTime.GetDay(), CurrTime.GetHour(), CurrTime.GetMinute(), CurrTime.GetSecond());
|
strFileName.Format("%s_%s_%s.csv", pGlassData->m_strOperID, pGlassData->m_strGlassID, strTime.GetBuffer(0));
|
}
|
sprintf(pServerPath, "%s\\%s\\%s\\%s\\%s", "LINK", pGlassData->m_strEquipID,
|
strGlassIDLevel5th.GetBuffer(0),
|
strGlassIDLevel8th.GetBuffer(0),
|
strGlassID.GetBuffer(0));
|
|
sprintf(pLocalPath, "%s", pGlassData->m_strPath);
|
|
sprintf(pServerFile, "%s", strFileName.GetBuffer(0));
|
sprintf(pLocalFile, "%s", strFileName.GetBuffer(0));
|
}
|
break;
|
}
|
|
|
}
|
|