240717班级,工业化控制系统,煤矿相关行业,昆仑系统
congmu
2024-11-01 d064643c78aaebbc83eb6c360b70efa82047e6bb
common
1个文件已修改
407 ■■■■■ 已修改文件
common.h 407 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common.h
@@ -1,7 +1,9 @@
#ifndef COMMON_H
#define COMMON_H
#include  <string.h>
#include <vector>
#include <iostream>
#include <cstring>
#include <QString>
enum TypeInfo{
@@ -13,15 +15,20 @@
    RESET_REQ, //重置密码请求
    RESET_RES, //重置密码响应
    //历史查询分析
    HISTORY_QUERY_REQ, // 历史查询请求
    HISTORY_QUERY_RES, // 历史查询响应
    //权限管理
    QUERY_PMS_REQ,      // 按员工编号、名字或职位查询人员权限信息请求
    UPDATE_PMS_REQ,     // 按角色id更新权限信息请求
    QUERY_PMS_RES,      // 查询人员和角色信息的响应结构体
    UPDATE_PMS_RES,     // 权限更新结果响应体
    //设备管理
    AD_Req,//添加设备请求
    AD_Res,//添加设备响应
    DD_Req,//停止设备请求
    DD_Res,//停止设备请求
    PD_Req,//暂停设备请求
    PD_Res,//暂停设备请求
    //地图标注
    MAPMARK_REQ,//地图标注请求
@@ -39,19 +46,29 @@
    YIELD_REQ,//煤矿产量请求
    YIELD_RES,//煤矿产量响应
    //生产计划管理
    ADDPRODUCTIONPLAN_REQ,//添加一行数据的请求结构体
    ADDPRODUCTIONPLAN_RES,//添加一行数据的响应结构体
    UPDATEPRODUCTIONPLANQUANTITY_REQ,// 更新生产计划(计划生产量)的请求结构体
    UPDATEPRODUCTIONPLANQUANTITY_RES,// 更新生产计划(计划生产量)的响应结构体
    UPDATEPRODUCTIONPLANLOG_REQ,//更新生产计划(日志)的请求结构体
    UPDATEPRODUCTIONPLANLOG_RES,//更新生产计划(日志)的响应结构体
    PRODUCTIONPLAN_REQ,// 查询生产计划信息的请求结构体
    PRODUCTIONPLAN_RES,// 查询生产计划信息的响应结构体
    FORRECENTFOURTEENPRODUCTIONPLANS_REQ,//查询近十四条的请求结构体
    FORRECENTFOURTEENPRODUCTIONPLANS_RES //查询近十四条的响应结构体
    //警报管理
    WARNING_REQ, // 警报请求
    WARNING_RES, // 警报响应
    //自动升级&版本管理
    //生产计划管理
    ADD_PRODUCTION_PLAN_REQ,//添加一行数据的请求结构体
    ADD_PRODUCTION_PLAN_RES,//添加一行数据的响应结构体
    UPDATE_PRODUCTION_PLAN_QUANTITY_REQ,// 更新生产计划(计划生产量)的请求结构体
    UPDATE_PRODUCTION_PLAN_QUANTITY_RES,// 更新生产计划(计划生产量)的响应结构体
    UPDATE_PRODUCTION_PLAN_LOG_REQ,//更新生产计划(日志)的请求结构体
    UPDATE_PRODUCTION_PLAN_LOG_RES,//更新生产计划(日志)的响应结构体
    PRODUCTION_PLAN_REQ,// 查询生产计划信息的请求结构体
    PRODUCTION_PLAN_RES,// 查询生产计划信息的响应结构体
    FORRECENT_FOURTEEN_PRODUCTION_PLANS_REQ,//查询近十四条的请求结构体
    FORRECENT_FOURTEEN_PRODUCTION_PLANS_RES //查询近十四条的响应结构体
    //历史查询分析
    HISTORY_QUERY_REQ, // 历史查询请求
    HISTORY_QUERY_RES, // 历史查询响应
    //自动升级
    VERSIONNUM_REQ,  // 版本号请求
    VERSIONNUM_RES,   // 版本号响应
    UPLOAD_FILE_REQ, // 上传文件的请求
@@ -67,6 +84,7 @@
    //日志
    LOGSEARCH_REQ;//日志查询请求
    LOGSEARCH_RES;//日志查询响应
        
};
@@ -75,6 +93,7 @@
    int len;
};
//注册登录
//登录请求 
    struct LoginReq
    {
@@ -170,42 +189,7 @@
    };
// 历史查询请求结构体
struct HistoryQueryReq {
    Head head;
    //根据时间范围查询
    char start_time[32];
    char end_time[32];
    HistoryQueryReq() {
        // 初始化数据头
        head.type = HISTORY_QUERY_REQ;
        head.len = sizeof(HistoryQueryReq);
        // 初始化查询条件字段
        std::memset(start_time, 0, sizeof(start_time));
        std::memset(end_time, 0, sizeof(end_time));
    }
};
// 历史查询响应结构体
struct HistoryQueryRes {
    Head head;
    char results[1024][32];
    int result_count;
    HistoryQueryRes() {
        // 初始化数据头
        head.type = HISTORY_QUERY_RES;
        head.len = sizeof(HistoryQueryRes);
        // 初始化结果相关字段
        result_count = 0;
        std::memset(results, 0, sizeof(results));
    }
};
//权限管理
// 按员工编号、名字或职位查询人员权限信息请求
typedef struct QueryPmsRequest{
    Head head;
@@ -214,9 +198,9 @@
    char permissonType[32];
    QueryPmsRequest(){
        head.type=QUERY_PMS_REQ;
        userNo[32] = {0};
        name[32] = {0};
        permissonType[32] = {0};
        memset(userNo,0,32);
        memset(permissonType,0,32);
        memset(name,0,32);
        head.len = sizeof(QueryPmsRequest);
    }
} QueryPmsRequest;
@@ -237,8 +221,7 @@
} UpdatePmsRequest;
// 单个人员权限结构体
typedef struct UserAboutPms{
typedef struct PmsRes{
    int queryHistory;
    int loggerSearch;
    int mapMark;
@@ -250,22 +233,20 @@
    char permissonType[32];
    char startDateTime[32];
    char endDateTime[32];
} PmsRes;
// 查询人员和角色信息的响应结构体
typedef struct UserAboutPmsResponse{
typedef struct QueryPmsResponse{
    Head head;
    int success; // 1为成功 ,0为失败
    PmsRes pmsList[100];
    UserAboutPmsResponse(){
    char pmsList[0];
    QueryPmsResponse(){
        head.type=QUERY_PMS_RES;
        head.len = sizeof(UserAboutPmsResponse);
    }
} QueryPmsResponse;
// 权限更新结果响应体
typedef struct UpdatePmsResponse{
struct UpdatePmsResponse{
    Head head;
    int success; // 1为成功 ,0为失败
    UpdatePmsResponse(){
@@ -275,13 +256,108 @@
} UpdatePmsResponse ;
//地图标注请求
//设备管理
//添加设备
struct ADReq
{
    Head head;
    char Device_Name[32];
    ADReq() {
        head.type = AD_Req;
        head.len = sizeof(AD_Req);
    }
};
struct ADPermission
{
    char Device_Name[32];
    char Device_Status[32];
    char Start_Time[32];
    char Work_Time[32];
    char Manufacturer[100];
    char Devices_Type[32];
};
struct ADRes
{
    Head head;
    ADPermission per;
    ADRes() {
        head.type = AD_Res;
        head.len = sizeof(ADRes);
    }
};
//停止设备
struct DDReq
{
    Head head;
    char Device_Name[32];
    DDReq() {
        head.type = DD_Req;
        head.len = sizeof(DDReq);
    }
};
struct DDPermission
{
    char Device_Name[32];
    char Device_Status[32];
    char Start_Time[32];
    char Work_Time[32];
    char Manufacturer[100];
    char Devices_Type[32];
};
struct DDRes
{
    Head head;
    DDPermission per;
    DDRes() {
        head.type = DD_Res;
        head.len = sizeof(DDRes);
    }
};
//暂停设备
struct PDReq
{
    Head head;
    char Device_Name[32];
    PDReq() {
        head.type = PD_Req;
        head.len = sizeof(PDReq);
    }
};
struct PDPermission
{
    char Device_Name[32];
    char Device_Status[32];
    char Start_Time[32];
    char Work_Time[32];
    char Manufacturer[100];
    char Devices_Type[32];
};
struct PDRes
{
    Head head;
    PDPermission per;
    PDRes() {
        head.type = PD_Res;
        head.len = sizeof(PDRes);
    }
};
//地图标注
struct MapMarkReq
{
    Head head;
    int marktype;//插入、删除、
    char msg[0];//柔性数组
        LoginReq(){
    int marktype;//插入、删除、加载
    MaskInfo msg[0];//柔性数组
    MapMarkReq(){
        head.type = MAPMARK_REQ;
        head.len = sizeof(MapMarkReq);
    }
@@ -290,18 +366,18 @@
//地图响应:
struct MarkInfo
{
    int mark_id;//标注点id
    string latitude;//纬度
    string longitude;//经度
    int device_id;//设备ID
    int device_status;//设备状态
    string device_name;//设备名称
    int markId;//标注点id
    double latitude;//纬度
    double longitude;//经度
    int deviceId;//设备ID
    int deviceStatus;//设备状态
    char deviceName[32];//设备名称
};
    
struct MapMarkRes  ////地图标注响应
struct MapMarkRes
{
    Head head;
    int marktype;//插入还是删除
    int markType;//插入还是删除
    int status; // 操作状态_成功/失败
    MaskInfo info[0];//柔性数组
    MapMarkRes()
@@ -311,7 +387,7 @@
    };
};
//大屏显示
//环境数据请求
struct EnvironmentReq
{
@@ -342,7 +418,7 @@
{
    Head head;
    char user_Name;//操作用户名
    char alarm_Time[32];//操作时间
    char operate_Time[32];//操作时间
    char device_Name[32];//操作设备
    char movement[256];//操作描述
        MovementRecordReq(){
@@ -374,6 +450,36 @@
    }
};
//警报管理
// 警报请求结构体
struct WarningReq {
    Head head;
    float oxygen;   // 氧气浓度
    float carbon;   // 一氧化碳浓度
    float temp;     // 温度
    float humidity; // 湿度
    WarningReq() {
        head.type = WARNING_REQ;
        head.len = sizeof(WarningReq);
    }
};
// 警报响应结构体
struct WarningRes {
    Head head;
    int status;         // 响应状态(比如 0 表示成功,1 表示失败等)
    const char* message; // 响应消息描述
    WarningRes(int stat, const char* msg) {
        head.type = WARNING_RES;
        head.len = sizeof(WarningRes);
        status = stat;
        message = msg;
    }
};
//生产计划管理
//添加一行数据的请求结构体
struct AddProductionPlanReq {
    Head head;
@@ -384,7 +490,7 @@
    int predictedProductionQuantity;
    char logText[256];
    AddProductionPlanReq() {
        head.type = ADDPRODUCTIONPLAN_REQ;
        head.type = ADD_PRODUCTION_PLAN_REQ;
        head.len = sizeof(AddProductionPlanReq);
    }
};
@@ -394,7 +500,7 @@
    int type;
    int status; // 可以表示添加是否成功, 0 表示失败,1 表示成功
    AddProductionPlanRes() {
        head.type = ADDPRODUCTIONPLAN_RES;
        head.type = ADD_PRODUCTION_PLAN_RES;
        head.len = sizeof(AddProductionPlanRes);
    }
};
@@ -406,7 +512,7 @@
    int plannedProductionQuantity;
    char productionDate[32];
    UpdateProductionPlanQuantityReq() {
        head.type = UPDATEPRODUCTIONPLANQUANTITY_REQ;
        head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_REQ;
        head.len = sizeof(UpdateProductionPlanQuantityReq);
    }
};
@@ -416,7 +522,7 @@
    int type;
    int status; // 可以表示更新是否成功,例如 0 表示失败,1 表示成功
    UpdateProductionPlanQuantityRes() {
        head.type = UPDATEPRODUCTIONPLANQUANTITY_RES;
        head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_RES;
        head.len = sizeof(UpdateProductionPlanQuantityRes);
    }
};
@@ -429,7 +535,7 @@
    char logText[256];
    char productionDate[32];
    UpdateProductionPlanLogReq() {
        head.type = UPDATEPRODUCTIONPLANLOG_REQ;
        head.type = UPDATE_PRODUCTION_PLAN_LOG_REQ;
        head.len = sizeof(UpdateProductionPlanLogReq);
    }
};
@@ -439,7 +545,7 @@
    int type;
    int status; // 可以表示更新是否成功,例如 0 表示失败,1 表示成功
    UpdateProductionPlanLogRes() {
        head.type = UPDATEPRODUCTIONPLANLOG_RES;
        head.type = UPDATE_PRODUCTION_PLAN_LOG_RES;
        head.len = sizeof(UpdateProductionPlanLogRes);
    }
};
@@ -457,7 +563,7 @@
    int predictedProductionQuantity;
    char logText[256];
    ProductionPlanReq() {
        head.type = PRODUCTIONPLAN_REQ;
        head.type = PRODUCTION_PLAN_REQ;
        head.len = sizeof(ProductionPlanReq);
    }
};
@@ -473,7 +579,7 @@
    char productionDate[32];
    char logText[256];
    ProductionPlanRes() {
        head.type = PRODUCTIONPLAN_REQ;
        head.type = PRODUCTION_PLAN_REQ;
        head.len = sizeof(ProductionPlanRes);
    }
};
@@ -501,13 +607,70 @@
    char productionDates[14][32];
    char logTexts[14][256];
    RecentFourteenProductionPlansRes() {
        head.type = UPDATEPRODUCTIONPLANQUANTITY_REQ;
        head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_REQ;
        head.len = sizeof(RecentFourteenProductionPlansRes);
    }
};
//历史查询分析
// 历史查询请求结构体
struct HistoryQueryReq {
    Head head;
    //根据时间范围查询
    char start_time[32];
    char end_time[32];
    HistoryQueryReq() {
        // 初始化数据头
        head.type = HISTORY_QUERY_REQ;
        head.len = sizeof(HistoryQueryReq);
        // 初始化查询条件字段
        std::memset(start_time, 0, sizeof(start_time));
        std::memset(end_time, 0, sizeof(end_time));
    }
};
// 系统运行状态表相关信息
struct Histroy_Info{
        int sysId;  // 对应系统运行状态表的记录编号
        QString sysDataCollectionTime;  // 数据采集时间
        QString sysDeviceType;  // 设备类型
        QString sysDeviceId;  // 设备编号
        QString sysDeviceStatus;  // 设备状态
        QString sysSystemStatus;  // 系统整体运行状态描述
        int devId;  // 对应设备详细信息表的记录编号
        QString devDeviceType;  // 设备类型(与系统运行状态表中的设备类型对应,可用于关联)
        QString devDeviceId;  // 设备编号(与系统运行状态表中的设备编号对应,可用于关联)
        QString devModel;  // 设备型号
        QString runDeviceStatus;  // 设备状态
        QString runFaultAlarmTime;  // 故障报警时间
        QString runFaultDescription;  // 故障详细描述
        int safetyId;  // 对应设备安全状态表的记录编号
        QString safetyDataCollectionTime;  // 数据采集时间(可用于关联不同表在同一时间点的数据情况)
        QString safetyDeviceType;  // 设备类型(用于关联)
        QString safetyDeviceId;  // 设备编号(用于关联)
        QString safetyStatus;  // 设备安全状态
        QString safetyParameter;  // 安全参数
};
// 历史查询响应结构体
// 安全状态表相关信息
struct HistoryQueryRes {
    Head head;
    Histroy_Info sys[0];
    HistoryQueryRes() {
        // 初始化数据头
        head.type = HISTORY_QUERY_RES;
        head.len = sizeof(HistoryQueryRes);
    }
};
//自动升级
struct VersionNumReq        // 版本号请求
{
    Head head;
@@ -658,54 +821,38 @@
    }
};
//日志
struct ParsedLog {
    char timestamp[64]; // 时间戳
    char device_id[64]; // 设备ID
    char level[16];     // 日志级别
    char content[256];  // 日志内容
    char source[64];    // 来源模块
    char user_id[64];   // 用户ID
};
struct LogQueryRequest {
    Head header;                // 数据头
    std::string* keywords;      // 存储多个关键字的柔性数组
    size_t keywordCount;         // 关键字数量
    std::string startDate;       // 开始日期 (格式: YYYY-MM-DD)
    std::string endDate;         // 结束日期 (格式: YYYY-MM-DD)
    int pageNumber;              // 当前页码
    int pageSize;                // 每页条目数
    // 构造函数
    LogQueryRequest(int type, int len, std::string* keywords, size_t keywordCount, const std::string& startDate, const std::string& endDate, int pageNumber, int pageSize)
        : header{type, len}, keywords(keywords), keywordCount(keywordCount), startDate(startDate), endDate(endDate), pageNumber(pageNumber), pageSize(pageSize) {}
    // 析构函数
    ~LogQueryRequest() {
        delete[] keywords; // 释放动态分配的内存
// 日志查询请求结构体
struct LogQueryReq {
    Head head;                 // 数据头
    char keyWords[32];            // 存储关键字的数组
    // 无参构造函数
    LogQueryReq() {
        head.type = LOGSEARCH_REQ;
        head.len = sizeof(LogQueryReq);
    }
};
//日志查询响应
// 定义日志条目结构体
struct LogEntry {
    int id;                  // 日志条目 ID
    string entryTime;       // 下井时间
    string name;            // 姓名
    string exitTime;        // 升井时间
    string department;       // 部门
    string position;        // 岗位
    //string workingTime;     // 工作时间 数据库自动生成
      // 构造函数
    LogEntry(int id, const string& entryTime, const string& name,
              const string& exitTime, const string& department,
              const string& position)
        : id(id), entryTime(entryTime), name(name),
          exitTime(exitTime), department(department), position(position) {}
};
// 定义日志查询响应结构体
struct LogQueryResponse {
// 日志查询响应结构体
struct LogQueryRes {
    Head head;
    int status;                    // 响应状态 (如 0 表示成功,非 0 表示失败)
    string errorMessage;           // 错误信息(如果有)
    vector<LogEntry> logEntries;   // 日志条目
    // 构造函数
    LogQueryResponse(int status, const string& errorMessage, const vector<LogEntry>& logEntries)
        : status(status), errorMessage(errorMessage), logEntries(logEntries) {}
    char errorMessage[256];        // 错误信息(如果有)
    // 无参构造函数
    LogQueryRes() {
        head.type = LOGSEARCH_RES;
        head.len = sizeof(LogQueryRes);
    }
};