From ba0bf8ce213fd049af89a84813532e7643208104 Mon Sep 17 00:00:00 2001 From: Huamonarch Date: Fri, 15 May 2026 16:07:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B8=85=E7=90=86=20ExpBase=20=E5=AD=90?= =?UTF-8?q?=E7=B1=BB=E4=B8=AD=E6=AE=8B=E7=95=99=E7=9A=84=E6=97=A7=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E8=B0=83=E7=94=A8=EF=BC=88first=5Ffill=5Fmm=5Fvars/pr?= =?UTF-8?q?int=5Fexp=5Fvars/refresh=5Fexp=5Fvars=5Fihd/act=5Ftriggered=5F?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eqpalg/algs/exp_bound.cpp | 2 +- eqpalg/algs/exp_sample2D.cc | 4 ++-- eqpalg/algs/exp_times.cc | 2 +- eqpalg/algs/exp_times.h | 1 + eqpalg/algs/roller2.cpp | 2 +- eqpalg/algs/roller3.cpp | 6 +++--- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/eqpalg/algs/exp_bound.cpp b/eqpalg/algs/exp_bound.cpp index a1a18a2..d947b8f 100644 --- a/eqpalg/algs/exp_bound.cpp +++ b/eqpalg/algs/exp_bound.cpp @@ -70,7 +70,7 @@ AlarmInfo ExpBound::mon_proc() { std::string msg = ""; msg = error_str_ + ",当前值:" + DAA::double2str(now_value) + unit_ + ",超"; auto alarm_time = get_alarm_time(); - print_exp_vars(); + expr_engine_->printVars(); if (now_value > limit_error_) { msg += "报警值:" + DAA::double2str(limit_error_) + unit_; diff --git a/eqpalg/algs/exp_sample2D.cc b/eqpalg/algs/exp_sample2D.cc index 5f83af0..5ae953b 100644 --- a/eqpalg/algs/exp_sample2D.cc +++ b/eqpalg/algs/exp_sample2D.cc @@ -32,7 +32,7 @@ int ExpSample2D::init() { // 重新载入数据源配置信息 ret += this->reload_config_data_source(); // 在载入数据源信息完成后,载入表达式配置之前,必须刷新变量,把变量信息初始化到mm_vars内 - ret += this->first_fill_mm_vars(); + ret += expr_engine_->firstFill(data_source_, now_time_, query_time_range_); // 必须在刷新变量后,才可以初始化表达式 ret += this->reload_config_exp_act(); ret += this->reload_samples(); @@ -421,7 +421,7 @@ void ExpSample2D::task_mon_pro() { logger_->Debug() << rule_name_ << ",data_len_:" << data_len_ << ",ihd size:" << queried_data_.size() << endl; for (auto i = 0; i < queried_data_.rows(); i++) { - refresh_exp_vars_ihd(i); + expr_engine_->refreshFromIhdRow(i, queried_data_, queried_time_, now_time_, query_time_range_); if (data_len_ < MAX_STORAGE_SIZE) { if (expr_engine_->evaluateBool("act")) { SampleX_.push_back(expr_engine_->evaluate("sample_X")); diff --git a/eqpalg/algs/exp_times.cc b/eqpalg/algs/exp_times.cc index dcef62a..fa06836 100644 --- a/eqpalg/algs/exp_times.cc +++ b/eqpalg/algs/exp_times.cc @@ -76,7 +76,7 @@ int ExpTimes::init() { ret += AlgBase::init(); /*1.tag点;2执行时间间隔和上次执行时间点*/ ret += reload_config_data_source(); /*载入数据源:0——ihd;1——内存*/ if (glob_process_type == ProcessType::kMon) { - ret += this->first_fill_mm_vars(); /*4.数据项*/ + ret += expr_engine_->firstFill(data_source_, now_time_, query_time_range_); /*4.数据项*/ } // 必须在刷新变量后,才可以初始化表达式 ret += this->reload_config_exp_act(); /*表达式*/ diff --git a/eqpalg/algs/exp_times.h b/eqpalg/algs/exp_times.h index fbd55e7..44ca5e9 100644 --- a/eqpalg/algs/exp_times.h +++ b/eqpalg/algs/exp_times.h @@ -33,6 +33,7 @@ class ExpTimes : public ExpBase { int64_t max_times_ = 0; int rw_time_ = 10; int wait_flag_ = 0; + bool act_triggered_ = false; // ExpTimes 独立使用,非反馈状态机 protected: /** diff --git a/eqpalg/algs/roller2.cpp b/eqpalg/algs/roller2.cpp index a9745f1..d9a138e 100644 --- a/eqpalg/algs/roller2.cpp +++ b/eqpalg/algs/roller2.cpp @@ -25,7 +25,7 @@ int Roller2::init() { return -1; } } - res += this->first_fill_mm_vars(); + res += expr_engine_->firstFill(data_source_, now_time_, query_time_range_); res += this->reload_config_data_source(); /*3.数据源*/ res += init_X_exp(); diff --git a/eqpalg/algs/roller3.cpp b/eqpalg/algs/roller3.cpp index e370642..524dc2e 100644 --- a/eqpalg/algs/roller3.cpp +++ b/eqpalg/algs/roller3.cpp @@ -36,7 +36,7 @@ int Roller3::init() { res += this->reload_config_data_source(); /*3.数据源*/ - res += this->first_fill_mm_vars(); /*4.数据项*/ + res += expr_engine_->firstFill(data_source_, now_time_, query_time_range_); /*4.数据项*/ res += init_X_exp(); rule_stat_.unit = unit_; @@ -134,7 +134,7 @@ AlarmInfo Roller3::mon_proc() { DAA::double2strLimit(rule_stat_.limit_down, 3) + "," + DAA::double2strLimit(rule_stat_.limit_up, 3) + "]" + unit_; auto alarm_time = get_alarm_time(); - print_exp_vars(); + expr_engine_->printVars(); logger_->Debug() << " median_:" << median_ << ",maxIndexValue:[" << maxIndexValue.first << "," << maxIndexValue.second << "]," << msg << endl; @@ -184,7 +184,7 @@ AlarmInfo Roller3::mon_proc() { } if (!msg.empty()) { auto alarm_time = get_alarm_time(); - print_exp_vars(); + expr_engine_->printVars(); logger_->Debug() << " median_:" << median_ << ",maxIndexValue:[" << maxIndexValue.first << "," << maxIndexValue.second << "]," << msg << endl;