From 11260184c3c930d0d9ccd6b65e905c7828efd3cf Mon Sep 17 00:00:00 2001 From: mrDarker <mr.darker@163.com> Date: 星期五, 12 九月 2025 09:44:02 +0800 Subject: [PATCH] 1. 优化报警的查询功能 2. 插入设备表数据和单元表数据 3. 修复报警查询失败的问题 --- SourceCode/Bond/BondEq/AlarmMonitor.h | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) diff --git a/SourceCode/Bond/BondEq/AlarmMonitor.h b/SourceCode/Bond/BondEq/AlarmMonitor.h index ae84f65..c7cf2f1 100644 --- a/SourceCode/Bond/BondEq/AlarmMonitor.h +++ b/SourceCode/Bond/BondEq/AlarmMonitor.h @@ -17,24 +17,26 @@ virtual void onRecvBroadcast(void* pSender, CIntent* pIntent); virtual void init(); virtual void term(); - void setBeginAddr(int nAddr); int readAlarmListFromFile(const char* pszFilepath); virtual void OnTimer(UINT nTimerid); const char* getAlarmText(int nID); - void Alarm(int id, int level); virtual void Serialize(CArchive& ar); - void getAlarmList(std::list<CAlarm*>& list); + std::map<int, CAlarm*>& getAlarmingMap(); + BOOL isAlarming(); + CAlarm* getActiveAlarm(); + void getAlarmRecords(std::list< CAlarm*>& list); private: - void AddAlarm(CAlarm* pAlarm); + BOOL compareData(const char* pScrData, const char* pTarData, int len); + int addAlarmTemplate(int id, int level, const char* pszDescription); + BOOL isAlarmOn(int id); + BOOL findAlarm(std::vector<int>& ids, int id); + void addAlarmToHistoryRecord(CAlarm* pAlarm); + BOOL addAlarming(CAlarm* pAlarm); private: - int m_nBeginAddr; - -private: - std::map<int, std::string> m_mapAlarmText; - int m_nLastId; - int m_nLastLevel; - std::list<CAlarm*> m_alarms; + std::map<int, CAlarm*> m_mapAlarmTemplate; // 这是警告的模板,从文件加载 + std::map<int, CAlarm*> m_mapAlarming; // 正在发生的警告 + char* m_pRawData; }; -- Gitblit v1.9.3