为数据库插入增加保护
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#ifndef U_POWER_PMSTATE_FB_H
|
||||
#define U_POWER_PMSTATE_FB_H
|
||||
#include "../driver.h"
|
||||
#include "string"
|
||||
#include "json/json.h"
|
||||
#include <bitset>
|
||||
#include "../systemData.h"
|
||||
class uPower_pmStateMsg
|
||||
{
|
||||
private:
|
||||
/* data */
|
||||
public:
|
||||
uPower_pmStateMsg() {
|
||||
state.workCondition = 0;
|
||||
state.currentMod = 0;
|
||||
state.powerState = 0;
|
||||
state.faultLevel = 0;
|
||||
state.faultCode.clear();
|
||||
state.soc = 0;
|
||||
state.sustainableTime = 0;
|
||||
state.m_faultNum = 0;
|
||||
state.m_leakage = 0;
|
||||
};
|
||||
~uPower_pmStateMsg() {};
|
||||
std::string key = "uPower_pmState_fb";
|
||||
|
||||
struct uPower_pmState
|
||||
{
|
||||
unsigned char workCondition;
|
||||
unsigned char currentMod;
|
||||
unsigned char powerState;
|
||||
unsigned char faultLevel;
|
||||
vector<unsigned int> faultCode;
|
||||
unsigned int soc;
|
||||
unsigned int sustainableTime;
|
||||
unsigned int m_faultNum;
|
||||
unsigned char m_leakage;
|
||||
} state;
|
||||
|
||||
std::string buildMsg(const SystemData& data)
|
||||
{
|
||||
// 状态赋值
|
||||
Json::Value pms;
|
||||
|
||||
pms["workCondition_uint8"] = state.workCondition;
|
||||
pms["currentMod_uint8"] = state.currentMod;
|
||||
pms["powerState_uint8"] = state.powerState;
|
||||
// pms["faultLevel_uint8"] = state.faultLevel;
|
||||
pms["faultLevel_uint8"] = data.getFaultCodeLevel();
|
||||
|
||||
Json::Value faultCode_array = Json::Value(Json::arrayValue);
|
||||
//TODO:屏蔽所有故障
|
||||
for(auto faultCode : data.getFaultCode())
|
||||
{
|
||||
faultCode_array.append(faultCode);
|
||||
}
|
||||
|
||||
pms["faultCode_array"] = faultCode_array;
|
||||
|
||||
pms["soc_uint16"] = state.soc;
|
||||
|
||||
pms["sustainableTime_int64"] = state.sustainableTime;
|
||||
|
||||
pms["leakage_uint8"] = state.m_leakage;
|
||||
|
||||
// 转化为json格式
|
||||
Json::StreamWriterBuilder writerBuilder;
|
||||
writerBuilder.settings_["indentation"] = "";
|
||||
return Json::writeString(writerBuilder, pms);
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user