| | |
| | | #ifndef COMMON_H |
| | | #define COMMON_H |
| | | #include <string.h> |
| | | #include <vector> |
| | | #include <iostream> |
| | | #include <cstring> |
| | | #include <QString> |
| | | |
| | | |
| | | enum TypeInfo{ |
| | | |
| | |
| | | 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,//地图标注请求 |
| | |
| | | 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, // 上传文件的请求 |
| | |
| | | //日志 |
| | | LOGSEARCH_REQ;//日志查询请求 |
| | | LOGSEARCH_RES;//日志查询响应 |
| | | |
| | | |
| | | }; |
| | | |
| | |
| | | int len; |
| | | }; |
| | | |
| | | //注册登录 |
| | | //登录请求 |
| | | struct LoginReq |
| | | { |
| | |
| | | }; |
| | | |
| | | |
| | | // 历史查询请求结构体 |
| | | 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; |
| | |
| | | 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; |
| | |
| | | } UpdatePmsRequest; |
| | | |
| | | // 单个人员权限结构体 |
| | | typedef struct UserAboutPms{ |
| | | |
| | | typedef struct PmsRes{ |
| | | int queryHistory; |
| | | int loggerSearch; |
| | | int mapMark; |
| | |
| | | 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(){ |
| | |
| | | |
| | | } 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); |
| | | } |
| | |
| | | //地图响应: |
| | | 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() |
| | |
| | | }; |
| | | }; |
| | | |
| | | |
| | | //大屏显示 |
| | | //环境数据请求 |
| | | struct EnvironmentReq |
| | | { |
| | |
| | | { |
| | | Head head; |
| | | char user_Name;//操作用户名 |
| | | char alarm_Time[32];//操作时间 |
| | | char operate_Time[32];//操作时间 |
| | | char device_Name[32];//操作设备 |
| | | char movement[256];//操作描述 |
| | | MovementRecordReq(){ |
| | |
| | | } |
| | | }; |
| | | |
| | | //警报管理 |
| | | // 警报请求结构体 |
| | | 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; |
| | |
| | | int predictedProductionQuantity; |
| | | char logText[256]; |
| | | AddProductionPlanReq() { |
| | | head.type = ADDPRODUCTIONPLAN_REQ; |
| | | head.type = ADD_PRODUCTION_PLAN_REQ; |
| | | head.len = sizeof(AddProductionPlanReq); |
| | | } |
| | | }; |
| | |
| | | int type; |
| | | int status; // 可以表示添加是否成功, 0 表示失败,1 表示成功 |
| | | AddProductionPlanRes() { |
| | | head.type = ADDPRODUCTIONPLAN_RES; |
| | | head.type = ADD_PRODUCTION_PLAN_RES; |
| | | head.len = sizeof(AddProductionPlanRes); |
| | | } |
| | | }; |
| | |
| | | int plannedProductionQuantity; |
| | | char productionDate[32]; |
| | | UpdateProductionPlanQuantityReq() { |
| | | head.type = UPDATEPRODUCTIONPLANQUANTITY_REQ; |
| | | head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_REQ; |
| | | head.len = sizeof(UpdateProductionPlanQuantityReq); |
| | | } |
| | | }; |
| | |
| | | int type; |
| | | int status; // 可以表示更新是否成功,例如 0 表示失败,1 表示成功 |
| | | UpdateProductionPlanQuantityRes() { |
| | | head.type = UPDATEPRODUCTIONPLANQUANTITY_RES; |
| | | head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_RES; |
| | | head.len = sizeof(UpdateProductionPlanQuantityRes); |
| | | } |
| | | }; |
| | |
| | | char logText[256]; |
| | | char productionDate[32]; |
| | | UpdateProductionPlanLogReq() { |
| | | head.type = UPDATEPRODUCTIONPLANLOG_REQ; |
| | | head.type = UPDATE_PRODUCTION_PLAN_LOG_REQ; |
| | | head.len = sizeof(UpdateProductionPlanLogReq); |
| | | } |
| | | }; |
| | |
| | | int type; |
| | | int status; // 可以表示更新是否成功,例如 0 表示失败,1 表示成功 |
| | | UpdateProductionPlanLogRes() { |
| | | head.type = UPDATEPRODUCTIONPLANLOG_RES; |
| | | head.type = UPDATE_PRODUCTION_PLAN_LOG_RES; |
| | | head.len = sizeof(UpdateProductionPlanLogRes); |
| | | } |
| | | }; |
| | |
| | | int predictedProductionQuantity; |
| | | char logText[256]; |
| | | ProductionPlanReq() { |
| | | head.type = PRODUCTIONPLAN_REQ; |
| | | head.type = PRODUCTION_PLAN_REQ; |
| | | head.len = sizeof(ProductionPlanReq); |
| | | } |
| | | }; |
| | |
| | | char productionDate[32]; |
| | | char logText[256]; |
| | | ProductionPlanRes() { |
| | | head.type = PRODUCTIONPLAN_REQ; |
| | | head.type = PRODUCTION_PLAN_REQ; |
| | | head.len = sizeof(ProductionPlanRes); |
| | | } |
| | | }; |
| | |
| | | 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; |
| | |
| | | } |
| | | }; |
| | | |
| | | //日志 |
| | | 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); |
| | | } |
| | | }; |
| | | |
| | | |