From c23460022397da62e4d77c90ca3a65f498c1d0c9 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 19 六月 2025 16:05:57 +0800
Subject: [PATCH] 1.修复LoadPort生成GlassID序号偏移问题; 2.用于测试的代码;

---
 SourceCode/Bond/Servo/CPageGraph2.cpp |   22 +++++++++-------------
 SourceCode/Bond/Servo/CJobDataS.h     |    2 ++
 SourceCode/Bond/Servo/CJobDataS.cpp   |    9 +++++++++
 SourceCode/Bond/Servo/CLoadPort.cpp   |    2 +-
 4 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/SourceCode/Bond/Servo/CJobDataS.cpp b/SourceCode/Bond/Servo/CJobDataS.cpp
index 0ac6e18..d4eb751 100644
--- a/SourceCode/Bond/Servo/CJobDataS.cpp
+++ b/SourceCode/Bond/Servo/CJobDataS.cpp
@@ -124,6 +124,15 @@
 		m_pOwner = pScr->m_pOwner;
 	}
 
+	CJobDataB& CJobDataS::getJobDataB(CJobDataB& jobDataB)
+	{
+		jobDataB.setCassetteSequenceNo(this->getCassetteSequenceNo());
+		jobDataB.setJobSequenceNo(this->getJobSequenceNo());
+		jobDataB.setGlassId(this->getGlass1Id().c_str());
+
+		return jobDataB;
+	}
+
 	void* CJobDataS::getOwner()
 	{
 		return m_pOwner;
diff --git a/SourceCode/Bond/Servo/CJobDataS.h b/SourceCode/Bond/Servo/CJobDataS.h
index e0a8cb8..ad3e2a9 100644
--- a/SourceCode/Bond/Servo/CJobDataS.h
+++ b/SourceCode/Bond/Servo/CJobDataS.h
@@ -1,5 +1,6 @@
 #pragma once
 #include "CAttributeVector.h"
+#include "CJobDataB.h"
 
 
 #define JOBDATAS_SIZE		(256 * 2)
@@ -16,6 +17,7 @@
 		void setOwner(void* pOwner);
 		void copy(CJobDataS* pScr);
 		void update(CJobDataS* pScr);
+		CJobDataB& getJobDataB(CJobDataB& jobDataB);
 		int getCassetteSequenceNo();
 		void setCassetteSequenceNo(int no);
 		int getJobSequenceNo();
diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index cbae095..540a5e6 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -1166,7 +1166,7 @@
 
 			CJobDataS js;
 			js.setCassetteSequenceNo(getNextCassetteSequenceNo());
-			js.setJobSequenceNo(i);
+			js.setJobSequenceNo(m_slot[i].getNo());
 			sprintf_s(szBuffer, 64, "%05d%05d", js.getCassetteSequenceNo(), js.getJobSequenceNo());
 			js.setGlass1Id(szBuffer);
 			js.setJobType(1);
diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 8c9050c..b89c7d5 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -217,42 +217,38 @@
 				bTestGenerate = TRUE;
 			}
 			/*
-			else if (pEquipment->getID() == EQ_ID_LOADPORT2 && !pEquipment->hasGlass()) {
-				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2,
-					"P20250320G2X", 1);
+			else if (pEquipment->getID() == EQ_ID_LOADPORT1 && !pEquipment->hasGlass()) {
+				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2);
 				bTestGenerate = TRUE;
 			}
 			*/
 			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);
+					if (pJobDataS != nullptr) {
+						SERVO::CJobDataB jobDataB;
+						pEquipment->onFetchedOutJob(0, &pJobDataS->getJobDataB(jobDataB));
 						pEquipment->onSentOutJob(0, pJobDataS);
 					}
 				}
-				*/
 			}
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST2) {
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
 			SERVO::CArm* pArm = (SERVO::CArm*)pEquipment->getArm();
 			if (pArm != nullptr) {
-				/*
 				SERVO::CGlass* pGlass = pArm->getAnyGlass();
 				if (pGlass != nullptr) {
-					SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
 					SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
-					if (pJobDataB != nullptr && pJobDataS != nullptr) {
+					if (pJobDataS != nullptr) {
 						pEquipment->onReceivedJob(0, pJobDataS);
 						Sleep(600);
-						pEquipment->onStoredJob(0, pJobDataB);
+						SERVO::CJobDataB jobDataB;
+						pEquipment->onStoredJob(0, &pJobDataS->getJobDataB(jobDataB));
 					}
-				}*/
+				}
 			}
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST3) {

--
Gitblit v1.9.3