SDC C-Project CF Review 프로그램
LYW
2021-09-23 c77236e1522caa3e2082dd7b5b32f6c30b125172
DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
@@ -78,7 +78,11 @@
      m_StackResult.StackFileReadStart(pData->GetGlassData()->m_strGlassID);
   }
   if (m_RawMergeResult.getRawMergeUse())
   {
      SendMessageFTPDownloadDataFile(pData->GetGlassData());
      m_RawMergeResult.RawMergeFileReadStart(pData->GetGlassData()->m_strGlassID);
   }
   return TRUE;
}
@@ -106,11 +110,14 @@
   }
   strcpy(pData->GetGlassData()->m_strPath, LOCAL_AOIRAWBIN_PATH);
   if(!WriteBinFile(pData))
      return FALSE;
   
   if (1) ReadMuraFile(pData);
   if (WriteAOIFile(pData) == FALSE)
      return FALSE;
@@ -118,7 +125,13 @@
   _TimeDelay(5000); // 이미지 복사 시간 대기
   //210218 CJH - 검사 종료시 결과파일 및 CCD Image 업로드
   SendMessageFTPUploadRaw(pData->GetGlassData());
   SendMessageFTPUploadImage(pData->GetGlassData(), FTPCMD_AOI_IMAGE);
   BOOL bIsBDI = strcmp((pData->GetGlassData()->m_strLine), _T("BDI")) == 0 ? TRUE : FALSE;
   if (bIsBDI)
   {
      SendMessageFTPUploadImage(pData->GetGlassData(), FTPCMD_AOI_IMAGE);
   }
   SendMessageFTPUploadImage(pData->GetGlassData(), FTPCMD_MURA_IMAGE);//0405nwh
   return TRUE;
@@ -204,6 +217,8 @@
   strcpy(pData->GetGlassData()->m_strPath, LOCAL_AOIRAWBIN_PATH);
   pData->GetGlassData()->m_tmReviewLoading = m_tmReviewStart;
   return TRUE;
}
@@ -213,6 +228,7 @@
   m_bReviewEndCheck = TRUE;
   m_tmReviewEnd = m_tmReviewStart = CTime::GetCurrentTime();
   m_tmFileCreateTime = CTime::GetCurrentTime();
   pData->GetGlassData()->m_tmReviewEnd = m_tmReviewEnd;
   
   //여기에서 라인별로 파일명, 혹은 Path 위치 결정하면됨. AOIServer 혹은 ReviewServer에서 안해도됨 [김태현2019/9/4]
   pData->GetGlassData()->m_strFileName;
@@ -338,6 +354,7 @@
BOOL CGlassRawCPJT::MakeAOIFile( CgrmGlassRawData* pData )
{
   AKLOG("MakeAOIFile Start");
   m_nWriteRawDefectIdx = 1;
   _grmGlassData* pGlass = pData->GetGlassData();
@@ -430,11 +447,11 @@
   
   strValue = "ITEM PANEL MODULETYPE MODULEID PROCESSID PRODUCTID STEPID PROD_TYPE BATCHID H_PANELID E_PANELID P_PANELID OPERID COMP_COUNT PPID GRADE CODE R_GRADE MAP_IMAGE L_TIME U_TIME S_TIME E_TIME T_DEFECT TR PR TB TW RB RW T_STACK MAX_AVG_GRAY MAX_PORTION OK_CELL RJ_CELL RW_CELL NR_CELL CSTID SLOT_NO JOB_END TD_DEFECT SD_DEFECT PD_DEFECT SP_DEFECT PAD_GATE PAD_DATA M_DEFECT C_DEFECT BR_DEFECT IMG_COUNT RECIPE SHRINK RAW_CUT"; //53ea
   strLine += strValue; strLine += "\n";
   strValue = "ITEM SUBPANEL SUBPANELID COORD_X COORD_Y SIZE_X SIZE_Y GATELINE DATALINE GRADE CODE R_GRADE T_DEFECT TD_DEFECT SD_DEFECT PD_DEFECT SP_DEFECT PAD_GATE PAD_DATA M_DEFECT C_DEFECT PRO_IMAGE AVG_GRAY PORTION"; //24ea result 0404nwh 삭제 : S_DEFECT CRACK P_SHIFT
   strValue = "ITEM SUBPANEL SUBPANELID COORD_X COORD_Y SIZE_X SIZE_Y GATELINE DATALINE GRADE CODE R_GRADE T_DEFECT TD_DEFECT SD_DEFECT PD_DEFECT SP_DEFECT PAD_GATE PAD_DATA M_DEFECT C_DEFECT PRO_IMAGE AVG_GRAY_0 PORTION_0 CORNER_GRAY_0 AVG_AMP_0 FFT_VAR_0 FFT_VAH_0 FFT_VAQ_0 FFT_PK_0 AVG_GRAY_1 PORTION_1 CORNER_GRAY_1 AVG_AMP_1 FFT_VAR_1 FFT_VAH_1 FFT_VAQ_1 FFT_PK_1 AVG_GRAY_2 PORTION_2 CORNER_GRAY_2 AVG_AMP_2 FFT_VAR_2 FFT_VAH_2 FFT_VAQ_2 FFT_PK_2 AVG_GRAY_3 PORTION_3 CORNER_GRAY_3 AVG_AMP_3 FFT_VAR_3 FFT_VAH_3 FFT_VAQ_3 FFT_PK_3"; //54ea 21-06-21 Mura Data 추가
   strLine += strValue; strLine += "\n";
   //210405
   //ITEM DEFECT ID DEF_NO COORD_X COORD_Y GATELINE DATALINE SIZE_S SIZE_W SIZE_L SIZE_H GRADE CODE STACK_FLAG STACK_COUNT STACK_STEP IMAGE_FILE DSC_CODE VC_CODE DCR_CODE DEFECT_SIZE REPEAT_DEFECT WSI_HEIGHT CS_HEIGHT C_GRADE GRAY_MIN GRAY_MAX GRAY_AVG GRAY_DEF WSI_IMAGE USE_CCDIMAGE SCAN_NUM CAM_POSITION CCD_NO R_GRAY_MIN R_GRAY_MAX R_GRAY_AVG SCAN_AI REVIEW_AI INS_MODE INS_CHANNEL COMPACTNESS THICKNESS MAJOR MINOR WSI_TYPE DEFECT_TYPE SHRINK
   strValue = "ITEM DEFECT ID DEF_NO COORD_X COORD_Y GATELINE DATALINE SIZE_S SIZE_W SIZE_L SIZE_H GRADE CODE STACK_FLAG STACK_COUNT STACK_STEP IMAGE_FILE DSC_CODE VC_CODE DCR_CODE DEFECT_SIZE REPEAT_DEFECT WSI_HEIGHT CS_HEIGHT C_GRADE GRAY_MIN GRAY_MAX GRAY_AVG GRAY_DEF WSI_IMAGE USE_CCDIMAGE SCAN_NUM CAM_POSITION CCD_NO R_GRAY_MIN R_GRAY_MAX R_GRAY_AVG R_HEIGHT G_HEIGHT B_HEIGHT INS_CHANNEL COMPACTNESS THICKNESS MAJOR MINOR WSI_TYPE DEFECT_TYPE SHRINK"; //49ea
   strValue = "ITEM DEFECT ID DEF_NO COORD_X COORD_Y GATELINE DATALINE SIZE_S SIZE_W SIZE_L SIZE_H GRADE CODE STACK_FLAG STACK_COUNT STACK_STEP IMAGE_FILE DSC_CODE VC_CODE DCR_CODE DEFECT_SIZE REPEAT_DEFECT WSI_HEIGHT CS_HEIGHT C_GRADE GRAY_MIN GRAY_MAX GRAY_AVG GRAY_DEF WSI_IMAGE USE_CCDIMAGE SCAN_NUM CAM_POSITION CCD_NO R_GRAY_MIN R_GRAY_MAX R_GRAY_AVG R_HEIGHT G_HEIGHT B_HEIGHT INS_CHANNEL COMPACTNESS THICKNESS MAJOR MINOR WSI_TYPE DEFECT_TYPE SHRINK CLASS_CODE"; //50ea
   strLine += strValue;
}
@@ -698,9 +715,23 @@
   // 31   6   T_STACK      // Panel 정보 08   SD+SP 수 입력
   SPRINTRAW(12, "%d", pGlassData->m_nDefectNumStackSD + pGlassData->m_nDefectNumStackSP);
   //32   6   BMDF       // Panel 정보 09 -> 변경 MAX_AVG_GRAY 04/12 nwh
   SPRINTRAW(12, "%5.4f", pGlassData->m_fMaxAvgGray);
   if (strlen(pGlassData->m_strMaxAvgGray) == 0)
   {
      SPRINTRAW(12, "*");
   }
   else
   {
      SPRINTRAW(12, "%s", pGlassData->m_strMaxAvgGray);
   }
   // 33   6   CJ         // Panel 정보 10 -> 변경 MAX_PORTION  04/12 nwh
   SPRINTRAW(12, "%5.6f", pGlassData->m_fMaxPortion);
   if (strlen(pGlassData->m_strMaxPortion) == 0)
   {
      SPRINTRAW(12, "*");
   }
   else
   {
      SPRINTRAW(12, "%s", pGlassData->m_strMaxPortion);
   }
   // 34   6   OK_CELL      // OK Cell Count   
   SPRINTRAW(12, "*");
   // 35   6   RJ_CELL      // RJ Cell Count   
@@ -749,10 +780,17 @@
   {
      SPRINTRAW(16, "*");
   }
   else
   else if(strlen(pGlassData->m_strRecipeName) <= 16)
   {
      SPRINTRAW(16, "%s", pGlassData->m_strRecipeName);
   }
   else if (strlen(pGlassData->m_strRecipeName) > 16)
   {
      CString temp = pGlassData->m_strRecipeName;  // 레시피 17자리 넘어가면 DCOLL 발생으로 예외처리 [ 21-06-02 KJG ]
      temp = temp.Left(16);
      SPRINTRAW(16, "%s", temp.GetBuffer(0));
   }
   // 52   12   SHRINK      // Server or Frame Shrink 동작 여부
   if (strlen(pGlassData->m_strShrinked) == 0)
   {
@@ -884,11 +922,326 @@
      SPRINTRAW(12,"*");
   }
   // 23 6  CRACK       ->  23 6  AVG_GRAY 변경
   SPRINTRAW(12, "%5.4f", pCellData->m_fAvgGray);
   // 23 12  AVG_GRAY_0
   if (strlen(pCellData->m_strAvgGray_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 24 12 PORTION_0
   if (strlen(pCellData->m_strPortion_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   
   // 24 6  P_SHIFT   ->24 6  PORTION
   SPRINTRAW(12, "%5.6f", pCellData->m_fPortion);
   //kyh 0622
   // 25 12 CORNER_GRAY_0
   if (strlen(pCellData->m_strCorner_Gray_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 26 12 AVG_AMP_0
   if (strlen(pCellData->m_strAvgAmp_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 27 12 FFT_VAR_0
   if (strlen(pCellData->m_strFFTVar_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVar_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 28 12 FFT_VAH_0
   if (strlen(pCellData->m_strFFTVah_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVah_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 29 12 FFT_VAQ_0
   if (strlen(pCellData->m_strFFTVaq_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 30 12 FFT_PK_0
   if (strlen(pCellData->m_strFFTPK_0))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTPK_0);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 31 12  AVG_GRAY_1
   if (strlen(pCellData->m_strAvgGray_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 32 12 PORTION_1
   if (strlen(pCellData->m_strPortion_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   //kyh 0622
   // 33 12 CORNER_GRAY_1
   if (strlen(pCellData->m_strCorner_Gray_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 34 12 AVG_AMP_1
   if (strlen(pCellData->m_strAvgAmp_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 35 12 FFT_VAR_1
   if (strlen(pCellData->m_strFFTVar_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVar_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 36 12 FFT_VAH_1
   if (strlen(pCellData->m_strFFTVah_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVah_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 37 12 FFT_VAQ_1
   if (strlen(pCellData->m_strFFTVaq_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 38 12 FFT_PK_1
   if (strlen(pCellData->m_strFFTPK_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTPK_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 39 12  AVG_GRAY_2
   if (strlen(pCellData->m_strAvgGray_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 40 12 PORTION_2
   if (strlen(pCellData->m_strPortion_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   //kyh 0622
   // 41 12 CORNER_GRAY_2
   if (strlen(pCellData->m_strCorner_Gray_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 42 12 AVG_AMP_2
   if (strlen(pCellData->m_strAvgAmp_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 43 12 FFT_VAR_2
   if (strlen(pCellData->m_strFFTVar_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVar_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 44 12 FFT_VAH_2
   if (strlen(pCellData->m_strFFTVah_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVah_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 45 12 FFT_VAQ_2
   if (strlen(pCellData->m_strFFTVaq_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 46 12 FFT_PK_2
   if (strlen(pCellData->m_strFFTPK_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTPK_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 47 12  AVG_GRAY_3
   if (strlen(pCellData->m_strAvgGray_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 48 12 PORTION_3
   if (strlen(pCellData->m_strPortion_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   //kyh 0622
   // 49 12 CORNER_GRAY_3
   if (strlen(pCellData->m_strCorner_Gray_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strCorner_Gray_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 50 12 AVG_AMP_3
   if (strlen(pCellData->m_strAvgAmp_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgAmp_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 51 12 FFT_VAR_3
   if (strlen(pCellData->m_strFFTVar_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVar_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 52 12 FFT_VAH_3
   if (strlen(pCellData->m_strFFTVah_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVah_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 53 12 FFT_VAQ_3
   if (strlen(pCellData->m_strFFTVaq_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTVaq_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 54 12 FFT_PK_3
   if (strlen(pCellData->m_strFFTPK_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strFFTPK_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   SPRINTRAWEND;   //중요!!! 젤 마지막에 꼭 있어야함!!!(삭제금지) [김태현2020/9/23]
}
@@ -1073,6 +1426,7 @@
         nValue = nValue << 1;
   }
   SPRINTRAW(12, "%04X", nValue);
   // 22   12    DEFECT_SIZE   // Common 04 불량 크기 (L,H,M,S)
   if (pDefectData->m_DefectSizeType == SizeType_Small)
   {
@@ -1292,6 +1646,17 @@
   // 49   12    Frame Shrink 정보 추가
   SPRINTRAW(12, "%d", pDefectData->m_bShrinked);
   
   // 50   12    CLASS_NO      // Zone Classification NO
   // Zone Data
   nValue = 0;
   for (int i = 15; i >= 0; i--)
   {
      if (pDefectData->m_sZoneClassPixelCount[i] > 0)
         nValue += 1;
      if (i > 0)
         nValue = nValue << 1;
   }
   SPRINTRAW(12, "%04X", nValue);
   SPRINTRAWEND;   //중요!!! 젤 마지막에 꼭 있어야함!!!(삭제금지) [김태현2020/9/23]
@@ -1445,23 +1810,18 @@
void CGlassRawCPJT::SendMessageFTPDownloadDataFile( _grmGlassData* pGlassData )
{
   if(pGlassData == NULL) return;
   HWND hWnd = ::FindWindow(NULL, "FTPDownloader");
   HWND hWnd = ::FindWindow(NULL, "FTPUploader");
   if(hWnd == NULL) return;
   char strServerFolder[256] = {};
   char strServerFile[256] = {};
   char strLocalFolder[256] = {};
   char pLocalFile[256] = {};
   char pLocalFile[256] = {};
   char strRTMSFile[32] = {};
   char strServerRawFileSubPath[256] = {};
   char strServer_SubFileName[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));
   }
   GetFormatDescription(FTPCMD_RAWMERGE, strServerFolder, strServerFile, strLocalFolder, pLocalFile, strRTMSFile, strServerRawFileSubPath, strServer_SubFileName, pGlassData);
   CFTPCopyDataParam upParam;
   strcpy(upParam.m_strServer_FolderName,         strServerFolder);
@@ -1474,7 +1834,7 @@
   upParam.m_nSendResultCode                     = FALSE;//m_ctrlResultAck.GetCheck();
   upParam.m_nProcessType                        = CFTPCopyDataParam::FTPProcessType_DownFile;
   // [C-PRJ] Image Upload Define - KHT (2020/11/19)
   upParam.m_nDataType = CFTPCopyDataParam::FTPDataType_Unknown;
   upParam.m_nDataType = CFTPCopyDataParam::FTPDataType_Raw;
   COPYDATASTRUCT cds;
   cds.dwData = CFTPCopyDataParam::FTPCopyDataCmd_RawDownload;
@@ -1616,7 +1976,7 @@
         else
            sprintf(pServerPath, "\\%s\\%s\\%s\\", strProcessID, strStepID, strGlassIDLevel6th);
         sprintf(pLocalPath, "%s%s", LOCAL_AOI_IMAGE_PATH, strGlassID.GetBuffer(0));
         sprintf(pLocalPath, "%s%s", NETWORK_AOI_IMAGE_PATH, strGlassID.GetBuffer(0));
         strcpy(pServerFile, "*.*");
         strcpy(pLocalFile, "*.*");
      }
@@ -1774,23 +2134,31 @@
         sprintf(pLocalFile, "%s", strGlassID.GetBuffer(0)); 
      }
      break;
      case FTPCMD_MURA_IMAGE: //0404nwh
      {   //
         /*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, "*.*");*/
         if (strGlassID.GetLength() > 6)
            sprintf(pServerPath, "\\%s\\%s\\%s\\%s\\", strProcessID, strStepID, strGlassIDLevel6th, strGlassID);
         else
            sprintf(pServerPath, "\\%s\\%s\\%s\\", strProcessID, strStepID, strGlassIDLevel6th);
   case FTPCMD_RAWMERGE:
   {
      sprintf(pServerPath, "\\%s\\%s\\%s", strProcessID, strStepID,strGlassIDLevel6th.GetBuffer(0)); // 서버 경로 확인후 수정 kjg
      sprintf(pServerFile, "%s",strGlassID);
      sprintf(pLocalPath, "%s", m_RawMergeResult.getRawMergeLocalPath());
      sprintf(pLocalFile, "%s", strGlassID.GetBuffer(0));
   }
      break;
   case FTPCMD_MURA_IMAGE: //0404nwh
   {   //
      /*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, "*.*");*/
      if (strGlassID.GetLength() > 6)
         sprintf(pServerPath, "\\%s\\%s\\%s\\%s\\", strProcessID, strStepID, strGlassIDLevel6th, strGlassID);
      else
         sprintf(pServerPath, "\\%s\\%s\\%s\\", strProcessID, strStepID, strGlassIDLevel6th);
         sprintf(pLocalPath, "%s%s", LOCAL_MURA_IMAGE_PATH, strGlassID.GetBuffer(0)); 
         strcpy(pServerFile, "*.*");