67 lines
2.1 KiB
C++
67 lines
2.1 KiB
C++
/**
|
|
* @file eqpalg/utility/build_alarm_info.h
|
|
* @brief 构建报警信息
|
|
* @author Cat (null.null.null@qq.com)
|
|
* @version 0.1
|
|
* @date 2021-09-17
|
|
*
|
|
* Copyright: Baosight Co. Ltd.
|
|
* DO NOT COPY/USE WITHOUT PERMISSION
|
|
*
|
|
*/
|
|
#pragma once
|
|
#include <eqpalg/define/public.h>
|
|
#include <string>
|
|
#include "json/json.h"
|
|
#include "mix_cc/type/range.h"
|
|
|
|
namespace utility {
|
|
|
|
using std::string;
|
|
|
|
/**
|
|
* @brief 构建报警信息
|
|
* @param alarm_level 报警等级
|
|
* @param ruleId 规则实例ID
|
|
* @param name 规则实例名称
|
|
* @param group 组
|
|
* @param alarm_content 报警内容
|
|
* @param time_range 时间范围
|
|
* @return AlarmInfo
|
|
*/
|
|
AlarmInfo build_alarm_info(const string& alarm_level, const string& ruleId,
|
|
const string& name, const string& group,
|
|
const std::string& alarm_content,
|
|
const mix_cc::time_range_t& time_range);
|
|
|
|
/**
|
|
* @brief 同上,增加了更多的参数,适用于带有范围信息的
|
|
* @param alarm_level 报警等级
|
|
* @param ruleId 规则实例ID
|
|
* @param name 规则实例名称
|
|
* @param group 组
|
|
* @param alarm_content 报警内容
|
|
* @param time_range 时间范围
|
|
* @param value 报警的数值
|
|
* @param desire_range 合理的区间范围
|
|
* @return AlarmInfo
|
|
*/
|
|
AlarmInfo build_alarm_info(
|
|
const string& alarm_level, const string& ruleId, const string& name,
|
|
const string& group, const std::string& alarm_content,
|
|
const std::vector<double>& value,
|
|
const std::vector<mix_cc::float_range_t>& desire_range,
|
|
const mix_cc::time_range_t& time_range);
|
|
|
|
/**
|
|
* @brief 根据上下限设置报警等级
|
|
* @param limit_down My Param doc
|
|
* @param limit_up My Param doc
|
|
* @param value My Param doc
|
|
* @return string
|
|
* "WARN"--警告 偏差小于极限的30%
|
|
* "ERROR"---异常 偏差大于等于极限的30%
|
|
*/
|
|
string get_msg_level(double limit_down, double limit_up, double value);
|
|
} // namespace utility
|