LAPTOP-SNT8I5JK\Boounion
2025-09-10 7876ef37f7653cad075263e29a11cf667d4a01b0
SourceCode/Bond/Servo/CPageGlassList.cpp
@@ -217,18 +217,19 @@
   auto& db = GlassLogDb::Instance();
   auto page = db.queryPaged(m_filters, PAGE_SIZE, PAGE_SIZE * (m_nCurPage - 1));
   for (const auto& r : page.items) {
      int index = m_listCtrl.InsertItem(m_listCtrl.GetItemCount(), std::to_string(r.id).c_str());
      m_listCtrl.SetItemText(index, 1, std::to_string(r.cassetteSeqNo).c_str());
      m_listCtrl.SetItemText(index, 2, std::to_string(r.jobSeqNo).c_str());
      m_listCtrl.SetItemText(index, 3, r.classId.c_str());
      m_listCtrl.SetItemText(index, 4, SERVO::CServoUtilsTool::getMaterialsTypeText((SERVO::MaterialsType)r.materialType).c_str());
      m_listCtrl.SetItemText(index, 5, SERVO::CServoUtilsTool::getGlassStateText((SERVO::GlsState)r.state).c_str());
      m_listCtrl.SetItemText(index, 6, r.tStart.c_str());
      m_listCtrl.SetItemText(index, 7, r.tEnd.c_str());
      m_listCtrl.SetItemText(index, 8, r.buddyId.c_str());
      m_listCtrl.SetItemText(index, 9, SERVO::CServoUtilsTool::getInspResultText((SERVO::InspResult)r.aoiResult).c_str());
      m_listCtrl.SetItemText(index, 10, r.path.c_str());
      m_listCtrl.SetItemText(index, 11, r.params.c_str());
      int index = m_listCtrl.InsertItem(m_listCtrl.GetItemCount(), "");
      m_listCtrl.SetItemText(index, 1, std::to_string(r.id).c_str());
      m_listCtrl.SetItemText(index, 2, std::to_string(r.cassetteSeqNo).c_str());
      m_listCtrl.SetItemText(index, 3, std::to_string(r.jobSeqNo).c_str());
      m_listCtrl.SetItemText(index, 4, r.classId.c_str());
      m_listCtrl.SetItemText(index, 5, SERVO::CServoUtilsTool::getMaterialsTypeText((SERVO::MaterialsType)r.materialType).c_str());
      m_listCtrl.SetItemText(index, 6, SERVO::CServoUtilsTool::getGlassStateText((SERVO::GlsState)r.state).c_str());
      m_listCtrl.SetItemText(index, 7, r.tStart.c_str());
      m_listCtrl.SetItemText(index, 8, r.tEnd.c_str());
      m_listCtrl.SetItemText(index, 9, r.buddyId.c_str());
      m_listCtrl.SetItemText(index, 10, SERVO::CServoUtilsTool::getInspResultText((SERVO::InspResult)r.aoiResult).c_str());
      m_listCtrl.SetItemText(index, 11, r.path.c_str());
      m_listCtrl.SetItemText(index, 12, r.params.c_str());
      m_listCtrl.SetItemColor(index, RGB(0, 0, 0), RGB(255, 255, 0));
      // 测试反序列化
@@ -320,6 +321,7 @@
   ListView_SetImageList(m_listCtrl.GetSafeHwnd(), imageList, LVSIL_SMALL);
   CString headers[] = { 
      _T(""),
      _T("id"), 
      _T("Cassette Sequence No"),
      _T("Job Sequence No"),
@@ -333,11 +335,11 @@
      _T("路径"),
      _T("工艺参数") 
   };
   int widths[] = { 80, 80, 80, 100, 120, 120, 120, 120, 200, 200, 200, 200 };
   int widths[] = { 0, 80, 80, 80, 100, 120, 120, 120, 120, 200, 200, 200, 200 };
   for (int i = 0; i < _countof(headers); ++i) {
      strItem.Format(_T("Col_%d_Width"), i);
      widths[i] = GetPrivateProfileInt("GlassListCtrl", strItem, widths[i], strIniFile);
      m_listCtrl.InsertColumn(i, headers[i], LVCFMT_LEFT, widths[i]);
      m_listCtrl.InsertColumn(i, headers[i], i == 0 ? LVCFMT_RIGHT : LVCFMT_LEFT, widths[i]);
   }
   Resize();
@@ -558,17 +560,17 @@
   ASSERT(index < m_listCtrl.GetItemCount());
   m_listCtrl.SetItemData(index, (DWORD_PTR)pGlass);
   m_listCtrl.SetItemColor(index, RGB(0, 0, 0), RGB(255, 255, 255));
   m_listCtrl.SetItemText(index, 1, std::to_string(pGlass->getCassetteSequenceNo()).c_str());
   m_listCtrl.SetItemText(index, 2, std::to_string(pGlass->getJobSequenceNo()).c_str());
   m_listCtrl.SetItemText(index, 3, pGlass->getID().c_str());
   m_listCtrl.SetItemText(index, 4, SERVO::CServoUtilsTool::getMaterialsTypeText(pGlass->getType()).c_str());
   m_listCtrl.SetItemText(index, 5, SERVO::CServoUtilsTool::getGlassStateText(pGlass->state()).c_str());
   m_listCtrl.SetItemText(index, 6, CToolUnits::TimePointToLocalString(pGlass->tStart()).c_str());
   m_listCtrl.SetItemText(index, 7, CToolUnits::TimePointToLocalString(pGlass->tEnd()).c_str());
   m_listCtrl.SetItemText(index, 8, pGlass->getBuddyId().c_str());
   m_listCtrl.SetItemText(index, 9, SERVO::CServoUtilsTool::getInspResultText((SERVO::InspResult)pGlass->getAOIInspResult()).c_str());
   m_listCtrl.SetItemText(index, 10, pGlass->getPathDescription().c_str());
   m_listCtrl.SetItemText(index, 11, pGlass->getParamsDescription().c_str());
   m_listCtrl.SetItemText(index, 2, std::to_string(pGlass->getCassetteSequenceNo()).c_str());
   m_listCtrl.SetItemText(index, 3, std::to_string(pGlass->getJobSequenceNo()).c_str());
   m_listCtrl.SetItemText(index, 4, pGlass->getID().c_str());
   m_listCtrl.SetItemText(index, 5, SERVO::CServoUtilsTool::getMaterialsTypeText(pGlass->getType()).c_str());
   m_listCtrl.SetItemText(index, 6, SERVO::CServoUtilsTool::getGlassStateText(pGlass->state()).c_str());
   m_listCtrl.SetItemText(index, 7, CToolUnits::TimePointToLocalString(pGlass->tStart()).c_str());
   m_listCtrl.SetItemText(index, 8, CToolUnits::TimePointToLocalString(pGlass->tEnd()).c_str());
   m_listCtrl.SetItemText(index, 9, pGlass->getBuddyId().c_str());
   m_listCtrl.SetItemText(index, 10, SERVO::CServoUtilsTool::getInspResultText((SERVO::InspResult)pGlass->getAOIInspResult()).c_str());
   m_listCtrl.SetItemText(index, 11, pGlass->getPathDescription().c_str());
   m_listCtrl.SetItemText(index, 12, pGlass->getParamsDescription().c_str());
}
bool CPageGlassList::eraseGlassInVector(SERVO::CGlass* pGlass, std::vector<SERVO::CGlass*>& glasses)