fix:修复AlarmEventDataModel在不同模式下(实时/历史)时数据互相影响的bug

This commit is contained in:
duanshengchao 2025-12-02 15:29:47 +08:00
parent 809d27fcb7
commit 431a39ef83
1 changed files with 14 additions and 6 deletions

View File

@ -19,10 +19,6 @@ AlarmEventDataModel::AlarmEventDataModel(AlarmDataMode mode, QObject* parent)
m_paginationInfo.totalEntries = 0; m_paginationInfo.totalEntries = 0;
iniHeaderData(); iniHeaderData();
connect(AlarmEventDataService::instance(), &AlarmEventDataService::realTimeEventReceived, this, &AlarmEventDataModel::onRealTimeEventReceived);
connect(AlarmEventDataService::instance(), &AlarmEventDataService::historicalQueryData, this, &AlarmEventDataModel::onHistoricalEventsReceived);
connect(AlarmEventDataService::instance(), &AlarmEventDataService::historicalQueryError, this, &AlarmEventDataModel::onHistoricalQueryError);
if(m_dataMode == RealTime) if(m_dataMode == RealTime)
{ {
for(int i = 0; i < m_maxRealTimeEvents; ++i)//创建几个“空事件”来初始化表格 for(int i = 0; i < m_maxRealTimeEvents; ++i)//创建几个“空事件”来初始化表格
@ -33,13 +29,19 @@ AlarmEventDataModel::AlarmEventDataModel(AlarmDataMode mode, QObject* parent)
m_displayEvents.append(event); m_displayEvents.append(event);
} }
connect(AlarmEventDataService::instance(), &AlarmEventDataService::realTimeEventReceived, this, &AlarmEventDataModel::onRealTimeEventReceived);
AlarmEventDataService::instance()->start(); AlarmEventDataService::instance()->start();
} }
else
{
connect(AlarmEventDataService::instance(), &AlarmEventDataService::historicalQueryData, this, &AlarmEventDataModel::onHistoricalEventsReceived);
connect(AlarmEventDataService::instance(), &AlarmEventDataService::historicalQueryError, this, &AlarmEventDataModel::onHistoricalQueryError);
}
//实时数据测试 //实时数据测试
/*m_simulatedDataTimer = new QTimer(this); m_simulatedDataTimer = new QTimer(this);
connect(m_simulatedDataTimer, &QTimer::timeout, this, &AlarmEventDataModel::onTimeoutSimulateData); connect(m_simulatedDataTimer, &QTimer::timeout, this, &AlarmEventDataModel::onTimeoutSimulateData);
m_simulatedDataTimer->start(3000);*/ m_simulatedDataTimer->start(3000);
} }
AlarmEventDataModel::~AlarmEventDataModel() AlarmEventDataModel::~AlarmEventDataModel()
@ -358,6 +360,9 @@ void AlarmEventDataModel::onRealTimeEventReceived(const EventData& event)
void AlarmEventDataModel::onHistoricalEventsReceived(const QList<EventData>& events) void AlarmEventDataModel::onHistoricalEventsReceived(const QList<EventData>& events)
{ {
if(m_dataMode == RealTime)
return;
m_allEvents.clear(); m_allEvents.clear();
m_allEvents = events; m_allEvents = events;
@ -373,6 +378,9 @@ void AlarmEventDataModel::onHistoricalEventsReceived(const QList<EventData>& eve
void AlarmEventDataModel::onHistoricalQueryError(const QString& error) void AlarmEventDataModel::onHistoricalQueryError(const QString& error)
{ {
if(m_dataMode == RealTime)
return;
emit loadDataError(error); emit loadDataError(error);
} }