From d7fbb147a1582e93c3028d8328b2e7eb3736d6e9 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期四, 08 一月 2026 20:07:42 +0800
Subject: [PATCH] 1.本地控件状态改变后上报EAP

---
 SourceCode/Bond/Servo/HsmsPassive.cpp |   55 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 14 deletions(-)

diff --git a/SourceCode/Bond/Servo/HsmsPassive.cpp b/SourceCode/Bond/Servo/HsmsPassive.cpp
index 740ce5c..93ddb4b 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.cpp
+++ b/SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -110,23 +110,35 @@
 	ASSERT(pParent);
 	ASSERT(pVariable);
 
+	std::string svNote("SV");
+	{
+		SERVO::CVariable* pDef = getVariable((int)pVariable->getVarialbleId());
+		if (pDef == nullptr) {
+			pDef = pVariable;
+		}
+		auto& name = pDef->getName();
+		if (!name.empty()) {
+			svNote += " -> ";
+			svNote += name;
+		}
+	}
 
 	ISECS2Item* pItemList;
 	SERVO::SVFromat format = pVariable->getFormat();
 	switch (format)
 	{
 	case SERVO::SVFromat::U1:
-		pParent->addU1Item((unsigned char)pVariable->getIntValue(), "SV");
+		pParent->addU1Item((unsigned char)pVariable->getIntValue(), svNote.c_str());
 		break;
 	case SERVO::SVFromat::U2:
-		pParent->addU2Item((unsigned char)pVariable->getIntValue(), "SV");
+		pParent->addU2Item((unsigned char)pVariable->getIntValue(), svNote.c_str());
 		break;
 	case SERVO::SVFromat::I2:
-		pParent->addI2Item((unsigned char)pVariable->getIntValue(), "SV");
+		pParent->addI2Item((unsigned char)pVariable->getIntValue(), svNote.c_str());
 		break;
 	case SERVO::SVFromat::A20:
 	case SERVO::SVFromat::A50:
-		pParent->addItem(pVariable->getValue().c_str(), "SV");
+		pParent->addItem(pVariable->getValue().c_str(), svNote.c_str());
 		break;
 	case SERVO::SVFromat::L:
 		pItemList = pParent->addItem();
@@ -1590,7 +1602,8 @@
 
 				ASSERT(pMessage);
 				m_pPassive->sendMessage(pMessage);
-				LOGI("<HSMS> [SEND] SysByte=%u sessionId:%d", pMessage->getHeader()->systemBytes, pMessage->getHeader()->sessionId);
+				LOGI("<HSMS>[SEND]SysByte=%u sessionId:%d", pMessage->getHeader()->systemBytes, pMessage->getHeader()->sessionId);
+				LOGI("<HSMS>[SEND]%s", pMessage->toString());
 
 				int nRet = WaitForSingleObject(pAction->getEvent(), pAction->getTimeout() * 1000);
 				if (nRet == WAIT_TIMEOUT) {
@@ -1615,7 +1628,8 @@
 
 				ASSERT(pMessage);
 				m_pPassive->sendMessage(pMessage);
-				LOGI("<HSMS> [SEND] SysByte=%u sessionId:%d", pMessage->getHeader()->systemBytes, pMessage->getHeader()->sessionId);
+				LOGI("<HSMS>[SEND]SysByte=%u sessionId:%d", pMessage->getHeader()->systemBytes, pMessage->getHeader()->sessionId);
+				LOGI("<HSMS>[SEND]%s", pMessage->toString());
 
 			}
 		}
@@ -1680,7 +1694,9 @@
 	pItem->addItem(m_strEquipmentModelType.c_str(), "MDLN");
 	pItem->addItem(m_strSoftRev.c_str(), "SOFTREV");
 	m_pPassive->sendMessage(pMessage);
-	LOGI("<HSMS>[SECS Msg SEND] %s", pMessage->toString());
+	LOGI("<HSMS>[SEND]sessionId:%d, sType:%d systemBytes:%d",
+		pMessage->getHeader()->sessionId, pMessage->getHeader()->sType, pMessage->getHeader()->systemBytes);
+	LOGI("<HSMS>[SEND]%s", pMessage->toString());
 	HSMS_Destroy1Message(pMessage);
 
 	return 0;
@@ -1768,8 +1784,10 @@
 		goto MYREPLY;
 	}
 	if (!pBody->getSubItemU2(0, SVID)) {
-		pMessage->getBody()->addU1Item(SVU1, "SV");
-		goto MYREPLY;
+		if (!pBody->getSubItemI2(0, (short&)SVID)) {
+			pMessage->getBody()->addU1Item(SVU1, "SV");
+			goto MYREPLY;
+		}
 	}
 
 	SERVO::CVariable* pVariable = getVariable((int)SVID);
@@ -2177,7 +2195,7 @@
 		}
 	}
 MYREPLY:
-	replyAck(2, 42, pRecv->getHeader()->systemBytes, BYTE(0), "ERACK");
+	replyAck(2, 44, pRecv->getHeader()->systemBytes, BYTE(0), "ERACK");
 	return 0;
 }
 
@@ -2567,9 +2585,6 @@
 		pjs.push_back(pj);
 	}
 
-	ASSERT(m_listener.onPRJobMultiCreate != nullptr);
-	int nRet = m_listener.onPRJobMultiCreate(this, pjs);
-
 
 	// 鍥炲鎶ユ枃
 	IMessage* pMessage = NULL;
@@ -2602,6 +2617,10 @@
 		pMessage->getHeader()->sessionId, pMessage->getHeader()->sType, pMessage->getHeader()->systemBytes);
 	LOGI("<HSMS>[SEND]%s", pMessage->toString());
 	HSMS_Destroy1Message(pMessage);
+
+
+	ASSERT(m_listener.onPRJobMultiCreate != nullptr);
+	int nRet = m_listener.onPRJobMultiCreate(this, pjs);
 
 
 	// 閲婃斁鏈夐棶棰�(鏈坊鍔犲埌master)鐨勫唴瀛�
@@ -2668,7 +2687,15 @@
 	ISECS2Item* pItem = pMessage->getBody();
 	// pItem->addU2Item(++DATAID, "DATAID");		// 鏍规嵁鍒殑鏃ュ織鏄剧ずDATAID鎭掍负0锛屾墍浠ユ垜浠厛鐓т娇鐢�0
 	pItem->addU2Item(0, "DATAID");
-	pItem->addU4Item(CEID, "CEID");
+	std::string ceidNote("CEID");
+	if (pEvent != nullptr) {
+		auto& name = pEvent->getName();
+		if (!name.empty()) {
+			ceidNote += " -> ";
+			ceidNote += name;
+		}
+	}
+	pItem->addU4Item(CEID, ceidNote.c_str());
 	ISECS2Item* pItemList1 = pItem->addItem(); // L[n] reports
 	if (pReport != nullptr) {
 		ISECS2Item* pItemList2 = pItemList1->addItem();

--
Gitblit v1.9.3