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/Model.cpp | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 729bf8d..5dce62e 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -126,9 +126,23 @@
if (state == 1) {
LOGE("<CAlarmDlg> 发生警告");
std::string startTime = CToolUnits::timeToString2(CToolUnits::getTimestamp());
- std::string endTime = "";
- bool result = alarmManager.addAlarm(std::to_string(pEqAlarmStep->getAlarmId()),
- pEquipment->getName(), strAlarmText, startTime, endTime);
+ std::string endTime = "2000-01-01 00:00";
+
+ AlarmData alarmData;
+ alarmData.nId = pEqAlarmStep->getAlarmId();
+ alarmData.nSeverityLevel = pEqAlarmStep->getAlarmLevel();
+ alarmData.nDeviceId = pEqAlarmStep->getEquipment()->getID();
+ alarmData.nUnitId = pEqAlarmStep->getUnitId();
+ alarmData.strDeviceName = alarmManager.getDeviceNameById(alarmData.nDeviceId);
+ alarmData.strUnitName = alarmManager.getUnitNameById(alarmData.nDeviceId, alarmData.nUnitId);
+ alarmData.strStartTime = startTime;
+ alarmData.strEndTime = endTime;
+
+ const AlarmInfo* alarmInfo = alarmManager.getAlarmInfoByID(alarmData.nId);
+ alarmData.strDescription = alarmInfo != nullptr ? alarmInfo->strAlarmText : "";
+
+ int nAlarmEventId = 0;
+ bool result = alarmManager.addAlarm(alarmData, nAlarmEventId);
if (result) {
LOGI("<CAlarmDlg> Alarm added successfully!");
}
@@ -138,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