SDC C-Project CF Review 프로그램
DitGlassRawMessenger/DitGlassRawMessenger/GlassRawCPJT.cpp
@@ -106,11 +106,14 @@
   }
   strcpy(pData->GetGlassData()->m_strPath, LOCAL_AOIRAWBIN_PATH);
   if(!WriteBinFile(pData))
      return FALSE;
   
   if (1) ReadMuraFile(pData);
   if (WriteAOIFile(pData) == FALSE)
      return FALSE;
@@ -338,6 +341,7 @@
BOOL CGlassRawCPJT::MakeAOIFile( CgrmGlassRawData* pData )
{
   AKLOG("MakeAOIFile Start");
   m_nWriteRawDefectIdx = 1;
   _grmGlassData* pGlass = pData->GetGlassData();
@@ -430,7 +434,7 @@
   
   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 AVG_GRAY_1 PORTION_1 AVG_GRAY_2 PORTION_2 AVG_GRAY_3 PORTION_3"; //30ea 21-05-12 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
@@ -698,9 +702,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   
@@ -884,11 +902,80 @@
      SPRINTRAW(12,"*");
   }
   // 23 6  CRACK       ->  23 6  AVG_GRAY 변경
   SPRINTRAW(12, "%5.4f", pCellData->m_fAvgGray);
   // 24 6  P_SHIFT   ->24 6  PORTION
   SPRINTRAW(12, "%5.6f", pCellData->m_fPortion);
   // 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, "*");
   }
   // 25 12  AVG_GRAY_1
   if (strlen(pCellData->m_strAvgGray_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 26 12 PORTION_1
   if (strlen(pCellData->m_strPortion_1))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_1);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 27 12  AVG_GRAY_2
   if (strlen(pCellData->m_strAvgGray_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 28 12 PORTION_2
   if (strlen(pCellData->m_strPortion_2))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_2);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 29 12  AVG_GRAY_3
   if (strlen(pCellData->m_strAvgGray_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strAvgGray_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   // 30 12 PORTION_3
   if (strlen(pCellData->m_strPortion_3))
   {
      SPRINTRAW(12, "%s", pCellData->m_strPortion_3);
   }
   else
   {
      SPRINTRAW(12, "*");
   }
   SPRINTRAWEND;   //중요!!! 젤 마지막에 꼭 있어야함!!!(삭제금지) [김태현2020/9/23]
}