86 lines
1.5 KiB
C++
86 lines
1.5 KiB
C++
#pragma once
|
|
/**
|
|
* @file public.h
|
|
* @brief 规则信息
|
|
* @author your name (you@domain.com)
|
|
* @version 0.1
|
|
* @date 2026-02-04
|
|
*
|
|
* Copyright: Baosight Co. Ltd.
|
|
* DO NOT COPY/USE WITHOUT PERMISSION
|
|
*
|
|
*/
|
|
#include "mix_cc/json.h"
|
|
#include <chrono>
|
|
#include <map>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
#include <zlib/MemMap.hpp>
|
|
using std::map;
|
|
using std::string;
|
|
struct RuleInfo {
|
|
string rule_name;
|
|
string eqpid;
|
|
string rule_group;
|
|
string remark;
|
|
string alarm_reason;
|
|
string alarm_content;
|
|
string pre_condition;
|
|
string pre_result;
|
|
vector<string> exp_str;
|
|
vector<string> tags_item;
|
|
vector<string> tags_chinese;
|
|
string limit_down;
|
|
string limit_up;
|
|
string unit;
|
|
vector<string> params;
|
|
RuleInfo() {}
|
|
~RuleInfo() {}
|
|
|
|
string get_value(int i) const {
|
|
switch (i) {
|
|
case 0:
|
|
return rule_name;
|
|
break;
|
|
case 1:
|
|
return eqpid;
|
|
break;
|
|
case 2:
|
|
return rule_group;
|
|
break;
|
|
case 3:
|
|
return remark;
|
|
break;
|
|
case 4:
|
|
return alarm_reason;
|
|
break;
|
|
case 5:
|
|
return alarm_content;
|
|
break;
|
|
case 6:
|
|
return pre_condition;
|
|
case 7:
|
|
return pre_result;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
string tags_item_get(int i) const {
|
|
if (i < tags_item.size()) {
|
|
return tags_item[i];
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
string tags_chinese_get(int i) const {
|
|
if (i < tags_chinese.size()) {
|
|
return tags_chinese[i];
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
};
|
|
|
|
using CfgRuleInfo = std::map<string, RuleInfo>; |