From 9543f2d581d05a0f98de787ab131e8d97e0291a2 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 10 三月 2025 11:35:14 +0800
Subject: [PATCH] 1.清除警告,更新数据库(待测);

---
 SourceCode/Bond/Servo/AlarmManager.cpp |    6 ++----
 SourceCode/Bond/Servo/AlarmManager.h   |    2 +-
 SourceCode/Bond/Servo/Model.cpp        |    6 ++++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/SourceCode/Bond/Servo/AlarmManager.cpp b/SourceCode/Bond/Servo/AlarmManager.cpp
index 74b1006..da8215d 100644
--- a/SourceCode/Bond/Servo/AlarmManager.cpp
+++ b/SourceCode/Bond/Servo/AlarmManager.cpp
@@ -717,7 +717,7 @@
 }
 
 // 通过多个属性查找并解除报警(更新结束时间)
-bool AlarmManager::clearAlarmByAttributes(int nId, int nSeverityLevel, int nDeviceId, int nUnitId, const std::string& strDescription, const std::string& endTime) {
+bool AlarmManager::clearAlarmByAttributes(int nId, int nDeviceId, int nUnitId, const std::string& endTime) {
     if (!m_pDB) {
         return false;
     }
@@ -729,10 +729,8 @@
     for (AlarmDataMap::const_iterator it = m_mapCache.begin(); it != m_mapCache.end(); ++it) {
         const AlarmData& alarm = it->second;
         if (alarm.nId == nId &&
-            alarm.nSeverityLevel == nSeverityLevel &&
             alarm.nDeviceId == nDeviceId &&
-            alarm.nUnitId == nUnitId &&
-            alarm.strDescription == strDescription) {
+            alarm.nUnitId == nUnitId) {
 
             alarmEventId = it->first;
             break;
diff --git a/SourceCode/Bond/Servo/AlarmManager.h b/SourceCode/Bond/Servo/AlarmManager.h
index f99aafe..0540f70 100644
--- a/SourceCode/Bond/Servo/AlarmManager.h
+++ b/SourceCode/Bond/Servo/AlarmManager.h
@@ -232,7 +232,7 @@
     * @param endTime 结束时间
     * @return 成功返回true,失败返回false
     */
-    bool clearAlarmByAttributes(int nId, int nSeverityLevel, int nDeviceId, int nUnitId, const std::string& strDescription, const std::string& endTime);
+    bool clearAlarmByAttributes(int nId, int nDeviceId, int nUnitId, const std::string& endTime);
 
 	/**
 	 * 读取报警文件
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index da79320..5dce62e 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -152,8 +152,10 @@
 				}
 				else {
 					LOGE("<CAlarmDlg> i消除警告");
-					//alarmManager.updateAlarmEndTime(std::to_string(pEqAlarmStep->getAlarmId()), 
-					//	pEquipment->getName());
+					alarmManager.clearAlarmByAttributes(pEqAlarmStep->getAlarmId(),
+						pEqAlarmStep->getEquipment()->getID(),
+						pEqAlarmStep->getUnitId(),
+						CToolUnits::getCurrentTimeString());
 				}
 
 				m_hsmsPassive.requestAlarmReport(pEqAlarmStep->getAlarmState(),

--
Gitblit v1.9.3