From ce83df0657786b340be5cc2e9817fb2392117ac9 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 29 五月 2025 16:23:54 +0800
Subject: [PATCH] 1.理顺CRobotTask(搬送任务)和Glass,Slot, JobData等关系,实现创建调度任务,模拟拔片测试;

---
 SourceCode/Bond/Servo/CPageGraph2.cpp |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 1b4c9ae..6f06274 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -204,26 +204,31 @@
 
 		// 娴嬭瘯
 		else if (nCmd == ID_EQSGRAPHITEM_TEST1) {
+			BOOL bTestGenerate = FALSE;
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
-			if (pEquipment->getID() == EQ_ID_LOADPORT1) {
+			if (pEquipment->getID() == EQ_ID_LOADPORT1 && !pEquipment->hasGlass()) {
 				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G1, 
 					"P20250320G1X", 1);
+				bTestGenerate = TRUE;
 			}
-			else if (pEquipment->getID() == EQ_ID_LOADPORT2) {
+			else if (pEquipment->getID() == EQ_ID_LOADPORT2 && !pEquipment->hasGlass()) {
 				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2,
 					"P20250320G2X", 1);
+				bTestGenerate = TRUE;
 			}
-			/*
-			SERVO::CGlass* pGlass = pEquipment->getAnyGlass();
-			if (pGlass != nullptr) {
-				SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
-				SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
-				if (pJobDataB != nullptr && pJobDataS != nullptr) {
-					pEquipment->fetchedOutJob(pJobDataB);
-					pEquipment->onSentOutJob(0, pJobDataS);
+			
+			if (!bTestGenerate) {
+				SERVO::CRobotTask* pTask = theApp.m_model.getMaster().getActiveRobotTask();
+				if (pTask != nullptr) {
+					SERVO::CGlass* pGlass = (SERVO::CGlass*)pTask->getContext();
+					SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
+					SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
+					if (pJobDataB != nullptr && pJobDataS != nullptr) {
+						pEquipment->onFetchedOutJob(0, pJobDataB);
+						pEquipment->onSentOutJob(0, pJobDataS);
+					}
 				}
 			}
-			*/
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST2) {
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;

--
Gitblit v1.9.3