modify ledger

This commit is contained in:
lnk
2025-06-26 14:39:34 +08:00
parent 3dc54a9b75
commit 4e6ba12b25
7 changed files with 295 additions and 28 deletions

View File

@@ -6,6 +6,11 @@
#include <list>
#include <array>
#include <map>
#include <mutex>
///////////////////////////////////////////////////////////////////////////////////////////
#include "nlohmann/json.hpp"
///////////////////////////////////////////////////////////////////////////////////////////
@@ -47,23 +52,28 @@ class ledger_monitor
{
public:
std::string monitor_id; //监测点id
std::string terminal_code; //监测点
std::string terminal_id; //监测点
std::string monitor_name; //监测点名
std::string logical_device_seq; //监测点序号
std::string voltage_level; //监测点电压等级
std::string terminal_connect; //监测点接线方式
std::string timestamp; //更新时间
std::string status; //监测点状态
double PT1; // 电压变比1
double PT2; // 电压变比2
double CT1; // 电流变比1
double CT2; // 电流变比2
};
//终端台账
class terminal_dev
{
public:
std::string guid;
std::string guid; //台账更新回复用
std::string terminal_id;
std::string terminal_code;
std::string terminal_name;
std::string org_name;
std::string maint_name;
std::string station_name;
@@ -78,6 +88,8 @@ public:
std::string processNo;
std::string maxProcessNum;
std::string mac; // 装置MAC地址
std::vector<ledger_monitor> line;
};
@@ -314,9 +326,12 @@ bool is_blank(const std::string& str);
void print_terminal(const terminal_dev& tmnl);
void printTerminalDevMap(const std::map<std::string, terminal_dev>& terminal_dev_map);
void upload_data_test();
////////////////////////////////////////////////////////////////////////////////mq
extern std::mutex queue_data_list_mutex;
extern std::list<queue_data_t> queue_data_list;
/////////////////////////////////////////////////////////////////////////////////主函数类声明
@@ -353,6 +368,41 @@ typedef struct {
pthread_mutex_t lock; // 线程专用互斥锁
} thread_info_t;
///////////////////////////////////////////////////////////////////////////////////////上送数据的json格式
// 单条 DataArray 数据
struct DataArrayItem {
int DataAttr;
int DataTimeSec;
int DataTimeUSec;
int DataTag;
std::string Data;
};
// Msg 对象
struct MsgObj {
int Cldid;
int DataType;
int DataAttr;
int DsNameIdx;
std::vector<DataArrayItem> DataArray;
};
// 整体
struct FullObj {
int Mid;
int Did;
int Pri;
int Type;
MsgObj Msg;
};
// nlohmann序列化接口
void to_json(nlohmann::json& j, const DataArrayItem& d);
void to_json(nlohmann::json& j, const MsgObj& m);
void to_json(nlohmann::json& j, const FullObj& f);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#endif