From 60f147d3302b967cef0f68523877164bd38ed4a6 Mon Sep 17 00:00:00 2001 From: congmu <congmu2024@163.com> Date: 星期四, 31 十月 2024 15:56:01 +0800 Subject: [PATCH] 提交common.h --- common.h | 640 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 640 insertions(+), 0 deletions(-) diff --git a/common.h b/common.h new file mode 100644 index 0000000..ef634f6 --- /dev/null +++ b/common.h @@ -0,0 +1,640 @@ +#ifndef COMMON_H +#define COMMON_H +#include <string.h> +#include <vector> + +enum TypeInfo{ + + //娉ㄥ唽鐧诲綍 + LOGIN_REQ, // 鐧诲綍璇锋眰 + LOGIN_RES, // 鐧诲綍鍝嶅簲 + REGISTER_REQ, //娉ㄥ唽璇锋眰 + REGISTER_RES, //娉ㄥ唽鍝嶅簲 + RESET_REQ, //閲嶇疆瀵嗙爜璇锋眰 + RESET_RES, //閲嶇疆瀵嗙爜鍝嶅簲 + + //鍘嗗彶鏌ヨ鍒嗘瀽 + HISTORY_QUERY_REQ, // 鍘嗗彶鏌ヨ璇锋眰 + HISTORY_QUERY_RES, // 鍘嗗彶鏌ヨ鍝嶅簲 + + //鏉冮檺绠$悊 + QUERY_PMS_REQ, // 鎸夊憳宸ョ紪鍙枫�佸悕瀛楁垨鑱屼綅鏌ヨ浜哄憳鏉冮檺淇℃伅璇锋眰 + UPDATE_PMS_REQ, // 鎸夎鑹瞚d鏇存柊鏉冮檺淇℃伅璇锋眰 + QUERY_PMS_RES, // 鏌ヨ浜哄憳鍜岃鑹蹭俊鎭殑鍝嶅簲缁撴瀯浣� + UPDATE_PMS_RES, // 鏉冮檺鏇存柊缁撴灉鍝嶅簲浣� + + //鍦板浘鏍囨敞 + MAPMARK_REQ,//鍦板浘鏍囨敞璇锋眰 + MAPMARK_RES//鍦板浘鏍囨敞鍝嶅簲 + + //鐢熶骇璁″垝绠$悊 + ADDPRODUCTIONPLAN_REQ,//娣诲姞涓�琛屾暟鎹殑璇锋眰缁撴瀯浣� + ADDPRODUCTIONPLAN_RES,//娣诲姞涓�琛屾暟鎹殑鍝嶅簲缁撴瀯浣� + UPDATEPRODUCTIONPLANQUANTITY_REQ,// 鏇存柊鐢熶骇璁″垝锛堣鍒掔敓浜ч噺锛夌殑璇锋眰缁撴瀯浣� + UPDATEPRODUCTIONPLANQUANTITY_RES,// 鏇存柊鐢熶骇璁″垝锛堣鍒掔敓浜ч噺锛夌殑鍝嶅簲缁撴瀯浣� + UPDATEPRODUCTIONPLANLOG_REQ,//鏇存柊鐢熶骇璁″垝锛堟棩蹇楋級鐨勮姹傜粨鏋勪綋 + UPDATEPRODUCTIONPLANLOG_RES,//鏇存柊鐢熶骇璁″垝锛堟棩蹇楋級鐨勫搷搴旂粨鏋勪綋 + PRODUCTIONPLAN_REQ,// 鏌ヨ鐢熶骇璁″垝淇℃伅鐨勮姹傜粨鏋勪綋 + PRODUCTIONPLAN_RES,// 鏌ヨ鐢熶骇璁″垝淇℃伅鐨勫搷搴旂粨鏋勪綋 + FORRECENTFOURTEENPRODUCTIONPLANS_REQ,//鏌ヨ杩戝崄鍥涙潯鐨勮姹傜粨鏋勪綋 + FORRECENTFOURTEENPRODUCTIONPLANS_RES //鏌ヨ杩戝崄鍥涙潯鐨勫搷搴旂粨鏋勪綋 + + //鑷姩鍗囩骇&鐗堟湰绠$悊 + VERSIONNUM_REQ, // 鐗堟湰鍙疯姹� + VERSIONNUM_RES, // 鐗堟湰鍙峰搷搴� + UPLOAD_FILE_REQ, // 涓婁紶鏂囦欢鐨勮姹� + UPLOAD_FILE_RES, // 涓婁紶鏂囦欢鐨勫搷搴� + VERSIONINFOENTRY_REQ, // 鐗堟湰淇℃伅褰曞叆璇锋眰 + VERSIONINFOENTRY_RES, //鐗堟湰淇℃伅褰曞叆鍝嶅簲 + VERSIONUPDATE_REQ, // 鐗堟湰鏇存柊璇锋眰 + VERSIONUPDATE_RES, // 鐗堟湰鏇存柊鍝嶅簲 + FILEDOWNLOADS_REQ, // 鐗堟湰鏇存柊鏂囦欢涓嬭浇璇锋眰 + FILEDOWNLOADS_RES, // 鐗堟湰鏇存柊鏂囦欢涓嬭浇鍝嶅簲 + DOWNLOADSUCCESSFULLY_RES // 鏇存柊鏂囦欢涓嬭浇鎴愬姛鐨勫搷搴� + + //鏃ュ織 + LOGSEARCH_REQ;//鏃ュ織鏌ヨ璇锋眰 + LOGSEARCH_RES;//鏃ュ織鏌ヨ鍝嶅簲 + +}; + +struct Head{ + int type; + int len; +}; + +//鐧诲綍璇锋眰 + struct LoginReq + { + Head head; + char user_name[32]; + char password[32]; + LoginReq(){ + head.type = LOGIN_REQ; + head.len = sizeof(LoginReq); + } + }; + + struct Permission + { + int admin; + int log_search; //鏃ュ織鏌ヨ + int history; //鍘嗗彶璁板綍 + int map_change;//鍦板浘 + int version_manage; // 鐗堟湰绠$悊 + int warning; //璀︽姤 + int device_manage; //璁惧绠$悊 + int pro_plan;//鐢熶骇璁″垝 + char role_name[32]; // 瑙掕壊鍚� + }; + + //鐧诲綍鍝嶅簲 + struct LoginRes + { + Head head; + char user_name[32]; + int status; // 鐧诲綍鐘舵�� + // 鐧诲綍鎴愬姛鏃讹紝璇ヨ处鍙峰搴旂殑鏉冮檺缁勫悎 + Permission per; + LoginRes() + { + head.type = LOGIN_RES; + head.len = sizeof(LoginRes); + }; + }; + + //娉ㄥ唽璇锋眰 + struct RegisterReq + { + Head head; + char user_name[32]; + char password[32]; + char email[50]; + int telephone; + RegisterReq(){ + head.type = REGISTER_REQ; + head.len = sizeof(RegisterReq); + } + }; + + //娉ㄥ唽鍝嶅簲 + struct RegisterRes + { + Head head; + char user_name[32]; + int status; // 娉ㄥ唽鐘舵�� + //娉ㄥ唽鎴愬姛锛岄粯璁ゆ渶灏忔潈闄愮粍鍚� + Permission per; + RegisterRes() + { + head.type = REGISTER_RES; + head.len = sizeof(RegisterRes); + }; + }; + + //閲嶇疆瀵嗙爜璇锋眰 + struct ResetReq + { + Head head; + char email[50]; + char password[32]; + ResetReq(){ + head.type = RESET_REQ; + head.len = sizeof(ResetReq); + } + }; + + //閲嶇疆瀵嗙爜鍝嶅簲 + struct ResetRes + { + Head head; + char user_name[32]; + int status; // 閲嶇疆瀵嗙爜鐘舵�� + ResetRes() + { + head.type = RESET_RES; + head.len = sizeof(ResetRes); + }; + }; + + +// 鍘嗗彶鏌ヨ璇锋眰缁撴瀯浣� +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 userNo[32]; + char name[32]; + char permissonType[32]; + QueryPmsRequest(){ + head.type=QUERY_PMS_REQ; + userNo[32] = {0}; + name[32] = {0}; + permissonType[32] = {0}; + head.len = sizeof(QueryPmsRequest); + } +} QueryPmsRequest; + +// 鎸夎鑹瞚d鏇存柊鏉冮檺淇℃伅璇锋眰 +typedef struct UpdatePmsRequest{ + Head head; + int roleId; + int queryHistory; + int loggerSearch; + int mapMark; + int devManage; + int productPlan; + UpdatePmsRequest(){ + head.type=QUERY_PMS_RES; + head.len = sizeof(UpdatePmsRequest); + } +} UpdatePmsRequest; + +// 鍗曚釜浜哄憳鏉冮檺缁撴瀯浣� +typedef struct UserAboutPms{ + + int queryHistory; + int loggerSearch; + int mapMark; + int devManage; + int productPlan; + int roleId; + char userNo[32]; + char name[32]; + char permissonType[32]; + char startDateTime[32]; + char endDateTime[32]; + +} PmsRes; + +// 鏌ヨ浜哄憳鍜岃鑹蹭俊鎭殑鍝嶅簲缁撴瀯浣� +typedef struct UserAboutPmsResponse{ + Head head; + int success; // 1涓烘垚鍔� ,0涓哄け璐� + PmsRes pmsList[100]; + UserAboutPmsResponse(){ + head.type=QUERY_PMS_RES; + head.len = sizeof(UserAboutPmsResponse); + } +} QueryPmsResponse; + +// 鏉冮檺鏇存柊缁撴灉鍝嶅簲浣� +typedef struct UpdatePmsResponse{ + Head head; + int success; // 1涓烘垚鍔� ,0涓哄け璐� + UpdatePmsResponse(){ + head.type = UPDATE_PMS_RES; + head.len = sizeof(UpdatePmsResponse); + } + +} UpdatePmsResponse ; + +//鍦板浘鏍囨敞璇锋眰 +struct MapMarkReq +{ + Head head; + int marktype;//鎻掑叆銆佸垹闄ゃ�� + char msg[0];//鏌旀�ф暟缁� + LoginReq(){ + head.type = MAPMARK_REQ; + head.len = sizeof(MapMarkReq); + } +}; + +//鍦板浘鍝嶅簲锛� +struct MarkInfo +{ + int mark_id;//鏍囨敞鐐筰d + string latitude;//绾害 + string longitude;//缁忓害 + int device_id;//璁惧ID + int device_status;//璁惧鐘舵�� + string device_name;//璁惧鍚嶇О +}; + +struct MapMarkRes ////鍦板浘鏍囨敞鍝嶅簲 +{ + Head head; + int marktype;//鎻掑叆杩樻槸鍒犻櫎 + int status; // 鎿嶄綔鐘舵�乢鎴愬姛/澶辫触 + MaskInfo info[0];//鏌旀�ф暟缁� + MapMarkRes() + { + head.type = MAPMARK_RES; + head.len = sizeof(MapMarkRes); + }; +}; + + +//娣诲姞涓�琛屾暟鎹殑璇锋眰缁撴瀯浣� +struct AddProductionPlanReq { + Head head; + int type; + char productionDate[32]; + int productionQuantity; + int plannedProductionQuantity; + int predictedProductionQuantity; + char logText[256]; + AddProductionPlanReq() { + head.type = ADDPRODUCTIONPLAN_REQ; + head.len = sizeof(AddProductionPlanReq); + } +}; +//娣诲姞涓�琛屾暟鎹殑鍝嶅簲缁撴瀯浣� +struct AddProductionPlanRes { + Head head; + int type; + int status; // 鍙互琛ㄧず娣诲姞鏄惁鎴愬姛锛� 0 琛ㄧず澶辫触锛�1 琛ㄧず鎴愬姛 + AddProductionPlanRes() { + head.type = ADDPRODUCTIONPLAN_RES; + head.len = sizeof(AddProductionPlanRes); + } +}; + +// 鏇存柊鐢熶骇璁″垝锛堣鍒掔敓浜ч噺锛夌殑璇锋眰缁撴瀯浣� +struct UpdateProductionPlanQuantityReq { + Head head; + int type; + int plannedProductionQuantity; + char productionDate[32]; + UpdateProductionPlanQuantityReq() { + head.type = UPDATEPRODUCTIONPLANQUANTITY_REQ; + head.len = sizeof(UpdateProductionPlanQuantityReq); + } +}; +// 鏇存柊鐢熶骇璁″垝锛堣鍒掔敓浜ч噺锛夌殑鍝嶅簲缁撴瀯浣� +struct UpdateProductionPlanQuantityRes { + Head head; + int type; + int status; // 鍙互琛ㄧず鏇存柊鏄惁鎴愬姛锛屼緥濡� 0 琛ㄧず澶辫触锛�1 琛ㄧず鎴愬姛 + UpdateProductionPlanQuantityRes() { + head.type = UPDATEPRODUCTIONPLANQUANTITY_RES; + head.len = sizeof(UpdateProductionPlanQuantityRes); + } +}; + + +// 鏇存柊鐢熶骇璁″垝锛堟棩蹇楋級鐨勮姹傜粨鏋勪綋 +struct UpdateProductionPlanLogReq { + Head head; + int type; + char logText[256]; + char productionDate[32]; + UpdateProductionPlanLogReq() { + head.type = UPDATEPRODUCTIONPLANLOG_REQ; + head.len = sizeof(UpdateProductionPlanLogReq); + } +}; +// 鏇存柊鐢熶骇璁″垝璇锋眰锛堟棩蹇楋級鐨勫搷搴旂粨鏋勪綋 +struct UpdateProductionPlanLogRes { + Head head; + int type; + int status; // 鍙互琛ㄧず鏇存柊鏄惁鎴愬姛锛屼緥濡� 0 琛ㄧず澶辫触锛�1 琛ㄧず鎴愬姛 + UpdateProductionPlanLogRes() { + head.type = UPDATEPRODUCTIONPLANLOG_RES; + head.len = sizeof(UpdateProductionPlanLogRes); + } +}; + + + +// 鏌ヨ鐢熶骇璁″垝淇℃伅璇锋眰 +struct ProductionPlanReq { + Head head; + int type; + int len; + char productionDate[32]; + int productionQuantity; + int plannedProductionQuantity; + int predictedProductionQuantity; + char logText[256]; + ProductionPlanReq() { + head.type = PRODUCTIONPLAN_REQ; + head.len = sizeof(ProductionPlanReq); + } +}; +// 鏌ヨ鐢熶骇璁″垝淇℃伅鐨勫搷搴旂粨鏋勪綋 +struct ProductionPlanRes { + Head head; + int type; + int len; + int productionQuantity; + int plannedProductionQuantity; + int predictedProductionQuantity; + int roleId; + char productionDate[32]; + char logText[256]; + ProductionPlanRes() { + head.type = PRODUCTIONPLAN_REQ; + head.len = sizeof(ProductionPlanRes); + } +}; + + + +//鏌ヨ杩戝崄鍥涙潯鐨勮姹傜粨鏋勪綋 +struct RecentFourteenProductionPlansReq { + Head head; + int requestType; + RecentFourteenProductionPlansReq() { + head.type = RECENTFOURTEENPRODUCTIONPLANS_REQ; + head.len = sizeof(RecentFourteenProductionPlansReq); + } +}; +//鏌ヨ杩戝崄鍥涙潯鐨勫搷搴旂粨鏋勪綋 +struct RecentFourteenProductionPlansRes { + Head head; + int responseType; + int responseLength; + int productionQuantities[14]; + int plannedProductionQuantities[14]; + int predictedProductionQuantities[14]; + int roleIds[14]; + char productionDates[14][32]; + char logTexts[14][256]; + RecentFourteenProductionPlansRes() { + head.type = UPDATEPRODUCTIONPLANQUANTITY_REQ; + head.len = sizeof(RecentFourteenProductionPlansRes); + } +}; + + + +struct VersionNumReq // 鐗堟湰鍙疯姹� +{ + Head head; + VersionNumReq() { + head.type = VERSIONNUM_REQ; + head.len = sizeof(VersionNumReq); + } +}; + +struct VersionNumRes // 鐗堟湰鍙峰搷搴� +{ + Head head; + char version_id[64]; // 鐗堟湰鍙� + VersionNumRes() { + head.type = VERSIONNUM_RES; + head.len = sizeof(VersionNumRes); + } +}; + +// 鏂囦欢浼犺緭 +struct FileInfo +{ + char file_name[256]; + long long file_size; + char s_filepath[128]; + char content[0]; +}; + +struct UploadFileReq // 涓婁紶鏂囦欢鐨勮姹� +{ + Head head; + FileInfo fileInfo; + UploadFileReq() { + head.type = UPLOAD_FILE_REQ; + head.len = sizeof(UploadFileReq); + } +}; + +struct UploadFileRes { // 涓婁紶鏂囦欢鐨勫搷搴� + Head head; + bool state = false; + char file_name[256]; + long long file_size; + UploadFileRes() + { + head.type = UPLOAD_FILE_RES; + head.len = sizeof(UploadFileRes); + } +}; + +// 鐗堟湰淇℃伅褰曞叆 +// 璇锋眰 +struct VersionInfoEntryReq { + Head head; + char version_id[64]; // 鐗堟湰鍙� + char version_id_old[64]; // 涓婁竴涓増鏈彿 + char s_filepath[16][128]; //鏈嶅姟鍣ㄦ斁鏈�鏂扮増鏈殑璺緞 + char version_description[256]; //鏇存柊鍐呭 + char version_creattime[32]; // 鏇存柊鏃堕棿 + char filename[16][128]; + long long filesize[16]; + char c_filepath[16][128]; + int fileNum; + + VersionInfoEntryReq() + { + head.type = VERSIONINFOENTRY_REQ; + head.len = sizeof(VersionInfoEntryReq); + } +}; + +// 鐗堟湰淇℃伅褰曞叆鍝嶅簲 +struct VersionInfoEntryRes { + Head head; + bool state = false; + VersionInfoEntryRes() + { + head.type = VERSIONINFOENTRY_RES; + head.len = sizeof(VersionInfoEntryRes); + } +}; + +// 鐗堟湰鏇存柊璇锋眰 +struct VersionUpdateReq { + Head head; + + char cur_version_id[64]; // 鐗堟湰鍙� + VersionUpdateReq() + { + head.type = VERSIONUPDATE_REQ; + head.len = sizeof(VersionUpdateReq); + } +}; + +// 鐗堟湰鏇存柊鍝嶅簲 +struct VersionUpdateRes { + Head head; + bool state = false; + char version_id[64]; // 鐗堟湰鍙� + char update_date[32]; // 鏇存柊鏃堕棿 + char version_description[1024]; //鏇存柊鎻忚堪 + + VersionUpdateRes() + { + head.type = VERSIONUPDATE_RES; + head.len = sizeof(VersionUpdateRes); + } +}; + +// 鐗堟湰鏇存柊鏂囦欢涓嬭浇璇锋眰 +struct FileDownloadsReq { + Head head; + char version_id[64]; // 鐗堟湰鍙� + FileDownloadsReq() + { + head.type = FILEDOWNLOADS_REQ; + head.len = sizeof(FileDownloadsReq); + } +}; + +// 鐗堟湰鏇存柊鏂囦欢涓嬭浇鍝嶅簲 +struct FileDownloadsRes { + Head head; + char version_id[64]; // 鐗堟湰鍙� + char filename[128]; //鏂囦欢鍚� + long long filesize; //鏂囦欢澶у皬 + char c_filepath[128]; //瀹㈡埛绔斁鏈�鏂扮増鏈殑鏈湴璺緞 + int fileNum; // 鏂囦欢鏁伴噺 + long long all_fileSize; // 鏂囦欢鎬诲ぇ灏� + char content[0]; + FileDownloadsRes() + { + head.type = FILEDOWNLOADS_RES; + head.len = sizeof(FileDownloadsRes); + } +}; + +// 鏇存柊鏂囦欢涓嬭浇鎴愬姛鐨勫搷搴� +struct DownloadSuccessfullyRes{ + Head head; + bool state = false; + char file_name[256]; + long long file_size; + DownloadSuccessfullyRes() + { + head.type = DOWNLOADSUCCESSFULLY_RES; + head.len = sizeof(DownloadSuccessfullyRes); + } +}; + + +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 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 { + 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) {} +}; + + + + +#endif // COMMON_H \ No newline at end of file -- Gitblit v1.8.0