From c119b8ef36718a8ca24b719cdbff86913cbca129 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 09 九月 2025 17:59:23 +0800
Subject: [PATCH] 1.Glass数据库保存,查询,分页,关键字,时间段等功能;

---
 SourceCode/Bond/Servo/CMaster.cpp |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index e2beaa0..425ac92 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -767,6 +767,13 @@
 						&& pLoadPorts[s]->getPortStatus() == PORT_INUSE) {
 						m_pActiveRobotTask = createTransferTask(pLoadPorts[s], pAligner, primaryType, secondaryType, 1, m_bJobMode);
 						if (m_pActiveRobotTask != nullptr) {
+							CGlass* pGlass = (CGlass*)m_pActiveRobotTask->getContext();
+							if (pGlass->getBuddy() != nullptr) {
+								delete m_pActiveRobotTask;
+								m_pActiveRobotTask = nullptr;
+								continue;
+							}
+
 							pEFEM->setContext(m_pActiveRobotTask->getContext());
 							goto PORT_GET;
 						}
@@ -1545,6 +1552,26 @@
 				m_listener.onLoadPortStatusChanged(this, (CEquipment*)pEquipment, status, data);
 			}
 		};
+		listener.onSVDataReport = [&](void* pEquipment, void* pData) {
+			CSVData* pSVData = (CSVData*)pData;
+			auto rawData = pSVData->getSVRawData();
+			std::vector<CParam> params;
+			((CEquipment*)pEquipment)->parsingSVData((const char*)rawData.data(), rawData.size(), params);
+		
+			std::string strOut;
+			char szBuffer[256];
+			for (auto p : params) {
+				if (!strOut.empty()) strOut.append(",");
+				if (p.getValueType() == PVT_INT) {
+					sprintf_s(szBuffer, 256, "%s:%d", p.getName().c_str(), p.getIntValue());
+				}
+				else if (p.getValueType() == PVT_DOUBLE) {
+					sprintf_s(szBuffer, 256, "%s:%f", p.getName().c_str(), p.getDoubleValue());
+				}
+				strOut.append(szBuffer);
+			}
+			LOGI("<CMaster-%s>SVDataReport:%s", ((CEquipment*)pEquipment)->getName().c_str(), strOut.c_str());
+		};
 		pEquipment->setListener(listener);
 		pEquipment->setCcLink(&m_cclink);
 		m_listEquipment.push_back(pEquipment);

--
Gitblit v1.9.3