From c1c4d51585fd2bf07ecde55224ef241f5b553cfa Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 10 六月 2025 08:42:11 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

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

diff --git a/SourceCode/Bond/Servo/CPortStatusReport.cpp b/SourceCode/Bond/Servo/CPortStatusReport.cpp
index 6b2b7ca..03864e2 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,18 @@
 
 		return false;
 	}
+
+	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