From e48a55eb3cc807fa5a45cf398b6f523e96aa5312 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 15 七月 2025 15:10:31 +0800
Subject: [PATCH] 1.Variable列表显示到界面; 2.从文件中加载CReport列表;

---
 SourceCode/Bond/Servo/Model.cpp |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 5d39e14..0060ca4 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -113,12 +113,28 @@
 			time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond);
 		m_master.datetimeSync(time);
 	};
-
+	listener.onEnableDisableEventReport = [&](void* pFrom, bool bEnable, std::vector<unsigned int> ids) -> void {
+		LOGI("EanbleDisableEventReport bEnable:%s", bEnable ? _T("YES") : _T("NO"));
+		if (ids.empty()) {
+			m_master.enableEventReport(bEnable);
+		}
+	};
+	listener.onEnableDisableAlarmReport = [&](void* pFrom, bool bEnable, unsigned int id) -> void {
+		LOGI("onEnableDisableAlarmReport bEnable:%s, id:%d", bEnable ? _T("YES") : _T("NO"), id);
+		if (id == 0) {
+			m_master.enableAlarmReport(bEnable);
+		}
+	};
 	m_hsmsPassive.setListener(listener);
 	m_hsmsPassive.setEquipmentModelType((LPTSTR)(LPCTSTR)strModeType);
 	m_hsmsPassive.setSoftRev((LPTSTR)(LPCTSTR)strSoftRev);
+	CString strVarialbleFile;
+	strVarialbleFile.Format(_T("%s\\VariableList.txt"), (LPTSTR)(LPCTSTR)m_strWorkDir);
+	m_hsmsPassive.loadVarialbles((LPTSTR)(LPCTSTR)strVarialbleFile);
 	m_hsmsPassive.init(this, "APP", 7000);
-
+	strVarialbleFile.Format(_T("%s\\ReportList.txt"), (LPTSTR)(LPCTSTR)m_strWorkDir);
+	m_hsmsPassive.loadReports((LPTSTR)(LPCTSTR)strVarialbleFile);
+	m_hsmsPassive.init(this, "APP", 7000);
 
 	SERVO::MasterListener masterListener;
 	masterListener.onMasterStateChanged = [&](void* pMaster, SERVO::MASTERSTATE state) -> void {
@@ -177,9 +193,11 @@
 			notify(RX_CODE_ALARM_CLEAR);
 		}
 
-		m_hsmsPassive.requestAlarmReport(state,
-			pEquipment->getBaseAlarmId() + alarmId,
-			strAlarmText.c_str());
+		if (m_master.isAlarmReportEnable()) {
+			m_hsmsPassive.requestAlarmReport(state,
+				pEquipment->getBaseAlarmId() + alarmId,
+				strAlarmText.c_str());
+		}
 	};
 	masterListener.onEqVcrEventReport = [&](void* pMaster, SERVO::CEquipment* pEquipment, SERVO::CVcrEventReport* pReport) {
 		LOGE("<CModel>onEqVcrEventReport.");

--
Gitblit v1.9.3