feat:添加实时报警数据统计功能

This commit is contained in:
duanshengchao 2025-10-29 17:53:43 +08:00
parent 2a09f7656e
commit 78144017d3
2 changed files with 33 additions and 0 deletions

View File

@ -18,6 +18,15 @@ class AlarmEventRealTimeDock : public QWidget
Q_PROPERTY(float alertWidgetBGColorAlpha READ alertWidgetBGColorAlpha WRITE setAlertWidgetBGColorAlpha NOTIFY alertWidgetBGColorAlphaChanged) Q_PROPERTY(float alertWidgetBGColorAlpha READ alertWidgetBGColorAlpha WRITE setAlertWidgetBGColorAlpha NOTIFY alertWidgetBGColorAlphaChanged)
public: public:
struct AlarmDataStatics
{
int allCount = 0; //总数量
int accidentCount = 0; //事故数量
int abnormalCount = 0; //异常数量
int alertCount = 0; //预警数量
int informCount = 0; //告知数量
};
AlarmEventRealTimeDock(QWidget *parent = nullptr); AlarmEventRealTimeDock(QWidget *parent = nullptr);
~AlarmEventRealTimeDock(); ~AlarmEventRealTimeDock();
@ -52,6 +61,7 @@ private:
float m_alertWidgetBGColorAlpha; float m_alertWidgetBGColorAlpha;
QString m_alertWidgetStyleSheet; QString m_alertWidgetStyleSheet;
QString m_curState; QString m_curState;
AlarmDataStatics m_alarmDataStatics;
}; };
#endif #endif

View File

@ -196,5 +196,28 @@ void AlarmEventRealTimeDock::onBtnClicked_checkAll()
void AlarmEventRealTimeDock::onSIG_receivedNewAlarm(const EventData& event) void AlarmEventRealTimeDock::onSIG_receivedNewAlarm(const EventData& event)
{ {
startAlarmAlert(); startAlarmAlert();
m_alarmDataStatics.allCount++;
ui->alarmCount->setText(QString::number(m_alarmDataStatics.allCount));
if(event.severity == "事故")
{
m_alarmDataStatics.accidentCount++;
ui->accidentCount->setText(QString::number(m_alarmDataStatics.accidentCount));
}
else if(event.severity == "异常")
{
m_alarmDataStatics.abnormalCount++;
ui->abnormalCount->setText(QString::number(m_alarmDataStatics.abnormalCount));
}
else if(event.severity == "预警")
{
m_alarmDataStatics.alertCount++;
ui->alertCount->setText(QString::number(m_alarmDataStatics.alertCount));
}
else if(event.severity == "告知")
{
m_alarmDataStatics.informCount++;
ui->informCount->setText(QString::number(m_alarmDataStatics.informCount));
}
} }