From c7a412c515aa2344fa776f4692d8f4a7607b3de6 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期五, 12 十二月 2025 16:27:31 +0800
Subject: [PATCH] 1.InAccess_2_Complete(Ready to Release)上报;

---
 SourceCode/Bond/Servo/HsmsPassive.h                    |    2 +-
 SourceCode/Bond/x64/Debug/CollectionEventList.txt      |    1 +
 SourceCode/Bond/Servo/HsmsPassive.cpp                  |    6 +++++-
 SourceCode/Bond/Servo/Model.cpp                        |    9 +++++++++
 SourceCode/Bond/x64/Debug/ReportList.txt               |    1 +
 SourceCode/Bond/x64/Debug/VariableList.txt             |    1 +
 Document/Panel Bonder八零联合 SecsTest CheckList_v3.0.xlsx |    0 
 7 files changed, 18 insertions(+), 2 deletions(-)

diff --git "a/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx" "b/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx"
index b8f9219..d3d8537 100644
--- "a/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx"
+++ "b/Document/Panel Bonder\345\205\253\351\233\266\350\201\224\345\220\210 SecsTest CheckList_v3.0.xlsx"
Binary files differ
diff --git a/SourceCode/Bond/Servo/HsmsPassive.cpp b/SourceCode/Bond/Servo/HsmsPassive.cpp
index fc512d9..29e53c9 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.cpp
+++ b/SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -2533,6 +2533,11 @@
 	return requestEventReportSend("Port_Load_Ready");
 }
 
+int CHsmsPassive::requestEventReportSend_Port_Ready_To_Release()
+{
+	return requestEventReportSend("Port_Ready_To_Release");
+}
+
 int CHsmsPassive::requestEventReportSend_Port_Blocked()
 {
 	return requestEventReportSend("Port_Blocked");
@@ -2577,6 +2582,5 @@
 {
 	return requestEventReportSend("OCR_PanelID_Read_OK");
 }
-
 
 
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index 47f4f56..08fd3c0 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -205,6 +205,7 @@
 	int requestEventReportSend_CarrierID_Readed();
 	int requestEventReportSend_Port_Unload_Ready();
 	int requestEventReportSend_Port_Load_Ready();
+	int requestEventReportSend_Port_Ready_To_Release();
 	int requestEventReportSend_Port_Blocked();
 	int requestEventReportSend_PJ_Queued();
 	int requestEventReportSend_PJ_Start();
@@ -295,4 +296,3 @@
 	// Spooling Config
 	std::map<uint16_t, std::set<uint16_t>> m_spoolingConfig;
 };
-
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 49d791e..310da04 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -9,6 +9,7 @@
 #include "TransferManager.h"
 #include "RecipeManager.h"
 #include "GlassLogDb.h"
+#include <map>
 
 
 CModel::CModel()
@@ -401,6 +402,10 @@
 	};
 	masterListener.onLoadPortStatusChanged = [&] (void* pMaster, SERVO::CEquipment* pEquipment, short status, __int64 data) {
 		LOGE("<CModel>onLoadPortStatusChanged. status = %d", status);
+		static std::map<int, short> s_prevPortStatus;
+		const int eqId = (pEquipment != nullptr) ? pEquipment->getID() : 0;
+		const short prevStatus = s_prevPortStatus[eqId];
+		s_prevPortStatus[eqId] = status;
 		if (status == PORT_INUSE) {
 			SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
 			if (pLoadPort != nullptr) {
@@ -426,6 +431,10 @@
 			SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
 			if (pLoadPort != nullptr) {
 				m_hsmsPassive.setVariableValue("UnloadReadyPortId", pLoadPort->getID());
+				if (prevStatus == PORT_INUSE) {
+					m_hsmsPassive.setVariableValue("ReadyToReleasePortId", pLoadPort->getID());
+					m_hsmsPassive.requestEventReportSend_Port_Ready_To_Release();
+				}
 			}
 			m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
 		}
diff --git a/SourceCode/Bond/x64/Debug/CollectionEventList.txt b/SourceCode/Bond/x64/Debug/CollectionEventList.txt
index 5a53e5c..535ec73 100644
--- a/SourceCode/Bond/x64/Debug/CollectionEventList.txt
+++ b/SourceCode/Bond/x64/Debug/CollectionEventList.txt
@@ -50,3 +50,4 @@
 50009,Port_Load_Ready,,(50009)
 50010,Port_Blocked,,(50010)
 50011,OCR_PanelID_Read_OK,鎵爜浜嬩欢涓婃姤,(50012)
+50012,Port_Ready_To_Release,,(50013)
diff --git a/SourceCode/Bond/x64/Debug/ReportList.txt b/SourceCode/Bond/x64/Debug/ReportList.txt
index bec435a..65d329b 100644
--- a/SourceCode/Bond/x64/Debug/ReportList.txt
+++ b/SourceCode/Bond/x64/Debug/ReportList.txt
@@ -28,3 +28,4 @@
 50010,(5012)
 50011,(5013)
 50012,(5014)
+50013,(5015)
diff --git a/SourceCode/Bond/x64/Debug/VariableList.txt b/SourceCode/Bond/x64/Debug/VariableList.txt
index be26d31..92ab60b 100644
--- a/SourceCode/Bond/x64/Debug/VariableList.txt
+++ b/SourceCode/Bond/x64/Debug/VariableList.txt
@@ -49,3 +49,4 @@
 5012,BlockedPortId,U1,"Port ID"
 5013,TestVID,U1,娴嬭瘯娣诲姞鍙橀噺55
 5014,VCRPanelID,A20,Panel id,鏉ヨ嚜璇荤爜鍣�
+5015,ReadyToReleasePortId,U1,"Port ID"

--
Gitblit v1.9.3