From bfe14e41fa5b07771d78af4511ba18d706bc23cc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:07:52 +0800
Subject: [PATCH] 1.Spooling Config功能EAP模拟测试;

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

diff --git a/SourceCode/Bond/Servo/CPortStatusReport.cpp b/SourceCode/Bond/Servo/CPortStatusReport.cpp
index 6b2b7ca..e132f12 100644
--- a/SourceCode/Bond/Servo/CPortStatusReport.cpp
+++ b/SourceCode/Bond/Servo/CPortStatusReport.cpp
@@ -176,6 +176,34 @@
 			std::to_string(m_nCassetteStatus).c_str(), "", weight++));
 	}
 
+	void CPortStatusReport::serialize(CArchive& ar)
+	{
+		if (ar.IsStoring()) {
+			ar << m_nPortStatus;
+			ar << m_nCassetteSequenceNo;
+			WriteString(ar, m_strCassetteID);
+			for (int i = 0; i < 12; i++) {
+				ar << m_nJobExistenceSlot[i];
+			}
+			ar << m_nLoadingCassetteType;
+			ar << m_nQTimeFlag;
+			ar << m_nCassetteMappingState;
+			ar << m_nCassetteStatus;
+		}
+		else {
+			ar >> m_nPortStatus;
+			ar >> m_nCassetteSequenceNo;
+			ReadString(ar, m_strCassetteID);
+			for (int i = 0; i < 12; i++) {
+				ar >> m_nJobExistenceSlot[i];
+			}
+			ar >> m_nLoadingCassetteType;
+			ar >> m_nQTimeFlag;
+			ar >> m_nCassetteMappingState;
+			ar >> m_nCassetteStatus;
+		}
+	}
+
 	bool CPortStatusReport::canPickFromPort()
 	{
 		// 1. Port 状态必须是 Load Ready(上料请求)
@@ -208,5 +236,23 @@
 
 		return false;
 	}
+
+	short CPortStatusReport::getJobExistenceSlot()
+	{
+		return m_nJobExistenceSlot[0];
+	}
+
+	void CPortStatusReport::WriteString(CArchive& ar, std::string& string)
+	{
+		CString strTemp = string.c_str();
+		ar << strTemp;
+	}
+
+	void CPortStatusReport::ReadString(CArchive& ar, std::string& string)
+	{
+		CString strTemp;
+		ar >> strTemp;
+		string = (LPTSTR)(LPCTSTR)strTemp;
+	}
 }
 

--
Gitblit v1.9.3