SDC C-Project CF Review 프로그램
LYW
2022-04-01 9c13bc5af33d28bb217995597f88fe863db42442
DitGlassRawMessenger/DitGlassRawMessenger/AnaResultFile.cpp
@@ -19,9 +19,15 @@
BOOL CAnaResultFile::MakeAnaFile(CgrmGlassRawData* pData)
{
   //return TRUE;
   /* < KJG 20220225 - #4000 MOD Start >*/
   //CString strFilePathName;
   //strFilePathName.Format("%s\\%sana", pData->GetGlassData()->m_strPath, pData->GetGlassData()->m_strFileName);
   char* pCellCode = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   CString strFilePathName;
   strFilePathName.Format("%s\\%sana", pData->GetGlassData()->m_strPath, pData->GetGlassData()->m_strFileName);
   CString strFileName = pData->GetGlassData()->m_strFileName;
   strFileName.Replace(".bin", ".csv");
   strFilePathName.Format("%s\\%s", pData->GetGlassData()->m_strPath, strFileName);
   /* < KJG 20220225 - #4000 MOD End >*/
   FILE* pf = fopen(strFilePathName.GetBuffer(0), "w");
   if (pf == NULL)
@@ -29,9 +35,12 @@
      AKLOG("MakeAOIFile Fail : [%s]", strFilePathName.GetBuffer(0));
      return FALSE;
   }
   /* < KJG 20220225 - #4000 MOD Start >*/
   //fprintf(pf, "%s\n", pData->GetGlassData()->m_strGlassID);
   //fprintf(pf, "GlassID, m_strImageName, m_strDefectCode, UMCenterAlignX, UMCenterAlignY, m_nLevelSrcMin, m_nLevelSrcMax, m_nLevelSrcAvg, m_nLevelRefMin, m_nLevelRefMax, m_nLevelRefAvg, m_nLevelDiffMin, m_nLevelDiffMax, m_nLevelDiffAvg");
   fprintf(pf, "GlassID, SubPanelID, m_strImageName, m_strDefectCode, UMCenterAlignX, UMCenterAlignY, m_nLevelSrcMin, m_nLevelSrcMax, m_nLevelSrcAvg, m_nLevelRefMin, m_nLevelRefMax, m_nLevelRefAvg, m_nLevelDiffMin, m_nLevelDiffMax, m_nLevelDiffAvg");
   /* < KJG 20220225 - #4000 MOD End >*/
   fprintf(pf, "%s\n", pData->GetGlassData()->m_strGlassID);
   fprintf(pf, "GlassID, m_strImageName, m_strDefectCode, UMCenterAlignX, UMCenterAlignY, m_nLevelSrcMin, m_nLevelSrcMax, m_nLevelSrcAvg, m_nLevelRefMin, m_nLevelRefMax, m_nLevelRefAvg, m_nLevelDiffMin, m_nLevelDiffMax, m_nLevelDiffAvg");
   for (int i = 0; i < MAX_ZONE_NUM; i++) fprintf(pf, ",Zone%02d", i);
   //210123 CJH - Zone별 min, max, avg 값 표기
   for (int i = 0; i < MAX_ZONE_NUM; i++) fprintf(pf, ",ZoneDiffMin%02d", i);
@@ -46,13 +55,21 @@
   for (int iDefect = 0; iDefect < pData->GetGlassData()->m_nDefectNum; iDefect++)
   {
      _grmDefectData* pDefect = pData->GetDefectData(iDefect);
      /* < KJG 20220225 - #4000 ADD Start >*/
      CString strDefectCellID;
      strDefectCellID.Format("%s%c%c", pData->GetGlassData()->m_strGlassID, '0' + pDefect->m_nCellIdx / 36, pCellCode[pDefect->m_nCellIdx % 36]);
      /* < KJG 20220225 - #4000 ADD End >*/
      if (pData->GetGlassData()->m_nScanCoordinateY == 1) //분판설비의 경우 XY반전
      {
         fprintf(pf, "%s, %s, %s, %.3lf, %.3lf, %d, %d, %d, %d, %d, %d, %d, %d, %d",
            pData->GetGlassData()->m_strGlassID, pDefect->m_strAoiImageName, pDefect->m_strDefectCode, (double)pDefect->m_nUMCenterAlignY / 1000.0, (double)pDefect->m_nUMCenterAlignX / 1000.0,
         /* < KJG 20220225 - #4000 MOD Start >*/
         //fprintf(pf, "%s, %s, %s, %.3lf, %.3lf, %d, %d, %d, %d, %d, %d, %d, %d, %d",
         //   pData->GetGlassData()->m_strGlassID, pDefect->m_strAoiImageName, pDefect->m_strDefectCode, (double)pDefect->m_nUMCenterAlignY / 1000.0, (double)pDefect->m_nUMCenterAlignX / 1000.0,
         fprintf(pf, "%s, %s, %s, %s, %.3lf, %.3lf, %d, %d, %d, %d, %d, %d, %d, %d, %d",
            pData->GetGlassData()->m_strGlassID, strDefectCellID.GetBuffer(0), pDefect->m_strAoiImageName, pDefect->m_strDefectCode, (double)pDefect->m_nUMCenterAlignY / 1000.0, (double)pDefect->m_nUMCenterAlignX / 1000.0,
            pDefect->m_nLevelSrcMin, pDefect->m_nLevelSrcMax, pDefect->m_nLevelSrcAvg,
            pDefect->m_nLevelRefMin, pDefect->m_nLevelRefMax, pDefect->m_nLevelRefAvg,
            pDefect->m_nLevelDiffMin, pDefect->m_nLevelDiffMax, pDefect->m_nLevelDiffAvg);
         /* < KJG 20220225 - #4000 MOD End >*/
         for (int iz = 0; iz < MAX_ZONE_NUM; iz++)
         {
            fprintf(pf, ",%d", pDefect->m_sZonePixelCount[iz]);
@@ -91,11 +108,15 @@
      }
      else
      {
         fprintf(pf, "%s, %s, %s, %.3lf, %.3lf, %d, %d, %d, %d, %d, %d, %d, %d, %d",
            pData->GetGlassData()->m_strGlassID, pDefect->m_strAoiImageName, pDefect->m_strDefectCode, (double)pDefect->m_nUMCenterAlignX / 1000.0, (double)pDefect->m_nUMCenterAlignY / 1000.0,
         /* < KJG 20220225 - #4000 MOD Start >*/
         //fprintf(pf, "%s, %s, %s, %.3lf, %.3lf, %d, %d, %d, %d, %d, %d, %d, %d, %d",
         //   pData->GetGlassData()->m_strGlassID, pDefect->m_strAoiImageName, pDefect->m_strDefectCode, (double)pDefect->m_nUMCenterAlignX / 1000.0, (double)pDefect->m_nUMCenterAlignY / 1000.0,
         fprintf(pf, "%s, %s, %s, %s, %.3lf, %.3lf, %d, %d, %d, %d, %d, %d, %d, %d, %d",
            pData->GetGlassData()->m_strGlassID, strDefectCellID.GetBuffer(0), pDefect->m_strAoiImageName, pDefect->m_strDefectCode, (double)pDefect->m_nUMCenterAlignX / 1000.0, (double)pDefect->m_nUMCenterAlignY / 1000.0,
            pDefect->m_nLevelSrcMin, pDefect->m_nLevelSrcMax, pDefect->m_nLevelSrcAvg,
            pDefect->m_nLevelRefMin, pDefect->m_nLevelRefMax, pDefect->m_nLevelRefAvg,
            pDefect->m_nLevelDiffMin, pDefect->m_nLevelDiffMax, pDefect->m_nLevelDiffAvg);
         /* < KJG 20220225 - #4000 MOD End >*/
         for (int iz = 0; iz < MAX_ZONE_NUM; iz++)
         {
            fprintf(pf, ",%d", pDefect->m_sZonePixelCount[iz]);