37 lines
1.0 KiB
C
37 lines
1.0 KiB
C
|
|
#pragma once
|
||
|
|
/**
|
||
|
|
* @file meter_static.h
|
||
|
|
* @brief 太原硅钢 仪表数据统计
|
||
|
|
* @author your name (you@domain.com)
|
||
|
|
* @version 0.1
|
||
|
|
* @date 2023-12-22
|
||
|
|
*
|
||
|
|
* Copyright: Baosight Co. Ltd.
|
||
|
|
* DO NOT COPY/USE WITHOUT PERMISSION
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
#include <eqpalg/algs/table_static.h>
|
||
|
|
#include <array>
|
||
|
|
class MeterStatic : public TableStatic {
|
||
|
|
public:
|
||
|
|
MeterStatic(const string name, const mix_cc::json& rule_json,
|
||
|
|
const string ruleId);
|
||
|
|
~MeterStatic() override;
|
||
|
|
|
||
|
|
virtual int init() override;
|
||
|
|
virtual AlarmInfo exec_mon() override;
|
||
|
|
virtual int mon_proc() override;
|
||
|
|
|
||
|
|
private:
|
||
|
|
MeterData meter_data_; ///<仪表数据项
|
||
|
|
int up_down_flag_; ///<是否有上下限- 0-没有 1-有
|
||
|
|
int latest_alarm_time_flag_; ///<是否有最新报警时间 0-没有 1-有
|
||
|
|
|
||
|
|
string select_latest_alarm_by_ruleid(string ruleid);
|
||
|
|
std::array<double, 2> select_up_down_by_ruleid(string ruleid);
|
||
|
|
|
||
|
|
protected:
|
||
|
|
virtual int get_ruleid_by_int(int num) override;
|
||
|
|
virtual void get_ruleid() override;
|
||
|
|
bool get_clear_flag() override;
|
||
|
|
};
|