SDC C-Project CF Review 프로그램
LYW
2021-09-14 ffe71aadfdcb4a9ea2ac4d8d320983d42ef3cad5
ReviewSystem/ReviewSystem/DlgSelfDiagnosis_Wsi.cpp
@@ -16,6 +16,7 @@
   : CDialogEx(IDD_DLG_SELF_DIAGNOSIS_WSI, pParent)
{
   m_pDiagnosisManager = pDiagnosisManager;
   m_editWSIFirstStandard = 180;
}
CDlgSelfDiagnosis_Wsi::~CDlgSelfDiagnosis_Wsi()
@@ -30,6 +31,25 @@
   DDX_Control(pDX, IDC_EDIT_WSI_RTB_00, m_ctrlWsiRtb00);
   DDX_Control(pDX, IDC_EDIT_WSI_RTB_01, m_ctrlWsiRtb01);
   DDX_Control(pDX, IDC_BUTTON_SIMULATION, m_btSimulation);
   DDX_Text(pDX, IDC_EDIT_WSI_FIRST_STANDARD, m_editWSIFirstStandard);
   DDX_Control(pDX, IDC_LIST_WSI_DIAGNOSIS_RESULT, m_ListWSIResult);
}
BOOL CDlgSelfDiagnosis_Wsi::OnInitDialog()
{
   CDialogEx::OnInitDialog();
   m_ListWSIResult.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
   m_ListWSIResult.InsertColumn(0, _T("Index"), LVCFMT_CENTER, 70);
   m_ListWSIResult.InsertColumn(1, _T("Left Module"), LVCFMT_CENTER, 100);
   m_ListWSIResult.InsertColumn(2, _T("Right Module"), LVCFMT_CENTER, 100);
   m_ListWSIResult.SetRedraw(TRUE);
   // TODO:  여기에 추가 초기화 작업을 추가합니다.
   return TRUE;  // return TRUE unless you set the focus to a control
              // 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
}
@@ -45,9 +65,21 @@
void CDlgSelfDiagnosis_Wsi::OnBnClickedButtonSimulation()
{
   // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
   // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
   if (m_pDiagnosisManager == NULL) return;
   //#3514_LYW_CF AOI Review 자가진단 기능 개선_START
   if (m_pDiagnosisManager->CheckManualMode() == FALSE)
   {
      CString strMessage;
      strMessage.Format(_T("Change Manual Mode!!"));
      if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONERROR))
      {
         g_pLog->DisplayMessage(_T("Manual Diagnosis Fail! Not Manual Mode"));
         return;
      }
   }
   //#3514_LYW_CF AOI Review 자가진단 기능 개선_END
   //GetDialogControls();
@@ -71,19 +103,52 @@
{
   const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo();
   if (pSettingInfo == NULL) return;
   m_editWSIFirstStandard = pSettingInfo->GetWSIStandard();
   
   double nACC00 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->getWSI_ACC();
   double nACC01 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->getWSI_ACC();
   double nRTB00 =  m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->getWSI_RTB();
   double nRTB01 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->getWSI_RTB();
   double dDiagnosisHeight[20];
   for (int i = 0; i < 10; i++)
   {
      dDiagnosisHeight[i] = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->GetDiagnosisHeight(i);
   }
   for (int i = 0; i < 10; i++)
   {
      dDiagnosisHeight[i+10] = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->GetDiagnosisHeight(i);
   }
   CString strDiagnosisHeight;
   CString strACC00, strACC01;
   CString strRTB00, strRTB01;
   strACC00.Format(_T("%d"), nACC00);
   strACC01.Format(_T("%d"), nACC01);
   strRTB00.Format(_T("%d"), nRTB00);
   strRTB01.Format(_T("%d"), nRTB01);
   m_ctrlWsiAcc00.SetWindowTextA(strACC00);
   m_ctrlWsiAcc01.SetWindowTextA(strACC01);
   m_ctrlWsiRtb00.SetWindowTextA(strRTB00);
   m_ctrlWsiRtb01.SetWindowTextA(strRTB01);
   for (int i = 0; i < 10; i++)
   {
      int nRow = i + 1;
      strDiagnosisHeight.Format(_T("%d"), nRow);
      m_ListWSIResult.InsertItem(nRow, strDiagnosisHeight);
      strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[i]);
      m_ListWSIResult.SetItemText(nRow, 1, strDiagnosisHeight);
      strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[i+10]);
      m_ListWSIResult.SetItemText(nRow, 2, strDiagnosisHeight);
      m_ListWSIResult.EnsureVisible(nRow, FALSE);
   }
   
}
@@ -108,12 +173,15 @@
   const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo();
   if (pSettingInfo == NULL) return;
   m_editWSIFirstStandard = pSettingInfo->GetWSIStandard();
   double nACC00 = dAcc00;
   double nACC01 = dAcc01;
   double nRTB00 = dRbt00;
   double nRTB01 = dRbt01;
   CString strDiagnosisHeight;
   CString strACC00, strACC01;
   CString strRTB00, strRTB01;
   strACC00.Format(_T("%f"),nACC00);
@@ -130,6 +198,36 @@
      m_ctrlWsiRtb01.SetWindowTextA(strRTB01);
   }
   double dDiagnosisHeightleft[10];
   double dDiagnosisHeightRight[10];
   for (int i = 0; i < 10; i++)
   {
      dDiagnosisHeightleft[i] = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->GetDiagnosisHeight(i);
   }
   for (int i = 0; i < 10; i++)
   {
      dDiagnosisHeightRight[i] = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->GetDiagnosisHeight(i);
   }
   m_ListWSIResult.DeleteAllItems();
   for (int i = 0; i < 10; i++)
   {
         int nRow = i;
         strDiagnosisHeight.Format(_T("%d"), nRow + 1);
         m_ListWSIResult.InsertItem(nRow, strDiagnosisHeight);
         strDiagnosisHeight.Format(_T("%.3f"), dDiagnosisHeightleft[i]);
         m_ListWSIResult.SetItemText(nRow, 1, strDiagnosisHeight);
         strDiagnosisHeight.Format(_T("%.3f"), dDiagnosisHeightRight[i]);
         m_ListWSIResult.SetItemText(nRow, 2, strDiagnosisHeight);
         m_ListWSIResult.EnsureVisible(nRow, FALSE);
   }
}
@@ -158,3 +256,4 @@
   // TODO:  여기에 컨트롤 알림 처리기 코드를 추가합니다.
}