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