From 701eb0c8a8b4c5d7b7b0c1d1e8bffd97671588b3 Mon Sep 17 00:00:00 2001
From: MYH <2395591599@qq.com>
Date: 星期五, 01 十一月 2024 17:46:14 +0800
Subject: [PATCH] 修改common

---
 common.h |  496 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 362 insertions(+), 134 deletions(-)

diff --git a/common.h b/common.h
index ef634f6..098249e 100644
--- a/common.h
+++ b/common.h
@@ -1,7 +1,7 @@
 #ifndef COMMON_H
 #define COMMON_H
-#include  <string.h>
-#include <vector>
+
+#include <string.h>
 
 enum TypeInfo{
 
@@ -13,9 +13,6 @@
 	RESET_REQ, //閲嶇疆瀵嗙爜璇锋眰
 	RESET_RES, //閲嶇疆瀵嗙爜鍝嶅簲
 
-    //鍘嗗彶鏌ヨ鍒嗘瀽
-    HISTORY_QUERY_REQ, // 鍘嗗彶鏌ヨ璇锋眰
-    HISTORY_QUERY_RES, // 鍘嗗彶鏌ヨ鍝嶅簲
 
     //鏉冮檺绠$悊
     QUERY_PMS_REQ,      // 鎸夊憳宸ョ紪鍙枫�佸悕瀛楁垨鑱屼綅鏌ヨ浜哄憳鏉冮檺淇℃伅璇锋眰
@@ -23,23 +20,53 @@
     QUERY_PMS_RES,      // 鏌ヨ浜哄憳鍜岃鑹蹭俊鎭殑鍝嶅簲缁撴瀯浣�
     UPDATE_PMS_RES,     // 鏉冮檺鏇存柊缁撴灉鍝嶅簲浣�
 
+    //璁惧绠$悊
+    AD_Req,//娣诲姞璁惧璇锋眰
+	AD_Res,//娣诲姞璁惧鍝嶅簲
+	CD_Req,//鍏抽棴璁惧璇锋眰
+	CD_Res,//鍏抽棴璁惧璇锋眰
+	PD_Req,//鏆傚仠璁惧璇锋眰
+	PD_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 //鏌ヨ杩戝崄鍥涙潯鐨勫搷搴旂粨鏋勪綋
+	//澶у睆鏄剧ず
+	ENVIRONMENT_REQ,//鐜鏁版嵁璇锋眰
+    ENVIRONMENT_RES,//鐜鏁版嵁鍝嶅簲
+    DEVICESTATUS_REQ,//璁惧鐘舵�佽姹�
+    DEVICESTATUS_RES,//璁惧鐘舵�佸搷搴�
+    MOVEMENTRECORD_REQ,//鎿嶄綔鏃ュ織璇锋眰
+    MOVEMENTRECORD_RES,//鎿嶄綔鏃ュ織鍝嶅簲
+    ALARMRECORD_REQ,//璀︽姤璁板綍璇锋眰
+    ALARMRECORD_RES,//璀︽姤璁板綍鍝嶅簲
+    YIELD_REQ,//鐓ょ熆浜ч噺璇锋眰
+    YIELD_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, // 涓婁紶鏂囦欢鐨勮姹�
@@ -55,6 +82,7 @@
     //鏃ュ織
     LOGSEARCH_REQ;//鏃ュ織鏌ヨ璇锋眰
 	LOGSEARCH_RES;//鏃ュ織鏌ヨ鍝嶅簲
+
 		
 };
 
@@ -63,6 +91,7 @@
     int len;
 };
 
+//娉ㄥ唽鐧诲綍
 //鐧诲綍璇锋眰 
 	struct LoginReq
 	{
@@ -158,42 +187,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;
@@ -202,9 +196,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;
@@ -225,8 +219,7 @@
 } UpdatePmsRequest;
 
 // 鍗曚釜浜哄憳鏉冮檺缁撴瀯浣�
-typedef struct UserAboutPms{
-
+typedef struct PmsRes{
     int queryHistory;
     int loggerSearch;
     int mapMark;
@@ -238,22 +231,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(){
@@ -263,13 +254,122 @@
 
 } 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 Manufacturer[100];
+	char Devices_Type[32];
+	double Longitude;
+	double Latitude;
+};
+struct ADRes
+{
+	Head head;
+	char Device_Name[32];
+	char Device_Status[32];
+	char Start_Time[32];
+	char Work_Time[32];
+	char Manufacturer[100];
+	char Devices_Type[32];
+	double Longitude;
+	double Latitude;
+	ADPermission per;
+	ADRes() {
+		head.type = AD_Res;
+		head.len = sizeof(ADRes);
+	}
+
+};
+
+//鍏抽棴璁惧
+struct CDReq
+{
+	Head head;
+	char Device_Name[32];
+	CDReq() {
+		head.type = CD_Req;
+		head.len = sizeof(CDReq);
+	}
+};
+struct CDPermission
+{
+	char Device_Name[32];
+	char Device_Status[32];
+	char Start_Time[32];
+	char Work_Time[32];
+	char Manufacturer[100];
+	char Devices_Type[32];
+	double Longitude;
+	double Latitude;
+};
+struct CDRes
+{
+	Head head;
+	char Device_Status[32];
+	int status;
+	CDPermission per;
+	CDRes() {
+		head.type = CD_Res;
+		head.len = sizeof(CDRes);
+	}
+};
+
+//鏆傚仠璁惧
+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];
+	double Longitude;
+	double Latitude;
+};
+struct PDRes
+{
+	Head head;
+	char Device_Status[32];
+	char Work_Time[32];
+	int status;
+	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);
 	}
@@ -278,18 +378,18 @@
 //鍦板浘鍝嶅簲锛�
 struct MarkInfo
 {
-	int mark_id;//鏍囨敞鐐筰d
-	string latitude;//绾害
-	string longitude;//缁忓害
-	int device_id;//璁惧ID
-	int device_status;//璁惧鐘舵��
-	string device_name;//璁惧鍚嶇О
+	int markId;//鏍囨敞鐐筰d
+	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()
@@ -299,7 +399,99 @@
 	};
 };
 
+//澶у睆鏄剧ず
+//鐜鏁版嵁璇锋眰
+struct EnvironmentReq
+{
+    Head head;
+    float temp;//娓╁害
+    float humidity;//婀垮害
+    float oxygen;//姘ф皵娴撳害
+    float carbon;//涓�姘у寲纰虫祿搴�
+        EnvironmentReq(){
+        head.type = ENVIRONMENT_REQ;
+        head.len = sizeof(EnvironmentReq);
+    }
+};
+//璁惧鐘舵�佽姹�
+struct DeviceStatusReq
+{
+    Head head;
+    int device_ID;//璁惧缂栧彿
+    char device_Name[32];//璁惧鍚嶇О
+    char device_Status[32];//璁惧鐘舵��
+        DeviceStatusReq(){
+        head.type = DEVICESTATUS_REQ;
+        head.len = sizeof(DeviceStatusReq);
+    }
+};
+//鎿嶄綔鏃ュ織璇锋眰
+struct MovementRecordReq
+{
+    Head head;
+    char user_Name;//鎿嶄綔鐢ㄦ埛鍚�
+    char operate_Time[32];//鎿嶄綔鏃堕棿
+    char device_Name[32];//鎿嶄綔璁惧
+    char movement[256];//鎿嶄綔鎻忚堪
+        MovementRecordReq(){
+        head.type = MOVEMENTRECORD_REQ;
+        head.len = sizeof(MovementRecordReq);
+    }
+};
+//璀︽姤璁板綍璇锋眰
+struct AlarmRecordReq
+{
+    Head head;
+    char alarm_Time[32];//璀︽姤鏃堕棿
+    char alarm_type[32];//瑙e喅鏃堕棿
+    char alarm_Content[256];//璀︽姤鍐呭
+        AlarmRecordReq(){
+        head.type = ALARMRECORD_REQ;
+        head.len = sizeof(AlarmRecordReq);
+    }
+};
+//鐓ょ熆浜ч噺璇锋眰
+struct YieldReq
+{
+    Head head;
+    int month;//鏈堜唤
+    int yield;//浜ч噺
+        YieldReq(){
+        head.type = YIELD_REQ;
+        head.len = sizeof(YieldReq);
+    }
+};
 
+//璀︽姤绠$悊
+// 璀︽姤璇锋眰缁撴瀯浣�  
+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;
@@ -310,7 +502,7 @@
 	int predictedProductionQuantity;
 	char logText[256];
 	AddProductionPlanReq() {
-		head.type = ADDPRODUCTIONPLAN_REQ;
+		head.type = ADD_PRODUCTION_PLAN_REQ;
 		head.len = sizeof(AddProductionPlanReq);
 	}
 };
@@ -320,7 +512,7 @@
 	int type;
 	int status; // 鍙互琛ㄧず娣诲姞鏄惁鎴愬姛锛� 0 琛ㄧず澶辫触锛�1 琛ㄧず鎴愬姛
 	AddProductionPlanRes() {
-		head.type = ADDPRODUCTIONPLAN_RES;
+		head.type = ADD_PRODUCTION_PLAN_RES;
 		head.len = sizeof(AddProductionPlanRes);
 	}
 };
@@ -332,7 +524,7 @@
 	int plannedProductionQuantity;
 	char productionDate[32];
 	UpdateProductionPlanQuantityReq() {
-		head.type = UPDATEPRODUCTIONPLANQUANTITY_REQ;
+		head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_REQ;
 		head.len = sizeof(UpdateProductionPlanQuantityReq);
 	}
 };
@@ -342,7 +534,7 @@
 	int type;
 	int status; // 鍙互琛ㄧず鏇存柊鏄惁鎴愬姛锛屼緥濡� 0 琛ㄧず澶辫触锛�1 琛ㄧず鎴愬姛
 	UpdateProductionPlanQuantityRes() {
-		head.type = UPDATEPRODUCTIONPLANQUANTITY_RES;
+		head.type = UPDATE_PRODUCTION_PLAN_QUANTITY_RES;
 		head.len = sizeof(UpdateProductionPlanQuantityRes);
 	}
 };
@@ -355,7 +547,7 @@
 	char logText[256];
 	char productionDate[32];
 	UpdateProductionPlanLogReq() {
-		head.type = UPDATEPRODUCTIONPLANLOG_REQ;
+		head.type = UPDATE_PRODUCTION_PLAN_LOG_REQ;
 		head.len = sizeof(UpdateProductionPlanLogReq);
 	}
 };
@@ -365,7 +557,7 @@
 	int type;
 	int status; // 鍙互琛ㄧず鏇存柊鏄惁鎴愬姛锛屼緥濡� 0 琛ㄧず澶辫触锛�1 琛ㄧず鎴愬姛
 	UpdateProductionPlanLogRes() {
-		head.type = UPDATEPRODUCTIONPLANLOG_RES;
+		head.type = UPDATE_PRODUCTION_PLAN_LOG_RES;
 		head.len = sizeof(UpdateProductionPlanLogRes);
 	}
 };
@@ -383,7 +575,7 @@
 	int predictedProductionQuantity;
 	char logText[256];
 	ProductionPlanReq() {
-		head.type = PRODUCTIONPLAN_REQ;
+		head.type = PRODUCTION_PLAN_REQ;
 		head.len = sizeof(ProductionPlanReq);
 	}
 };
@@ -399,7 +591,7 @@
 	char productionDate[32];
 	char logText[256];
 	ProductionPlanRes() {
-		head.type = PRODUCTIONPLAN_REQ;
+		head.type = PRODUCTION_PLAN_REQ;
 		head.len = sizeof(ProductionPlanRes);
 	}
 };
@@ -427,13 +619,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;  // 瀵瑰簲绯荤粺杩愯鐘舵�佽〃鐨勮褰曠紪鍙�
+        char sysDataCollectionTime[50];  // 鏁版嵁閲囬泦鏃堕棿
+        char sysDeviceType[50];  // 璁惧绫诲瀷
+        char sysDeviceId[50];  // 璁惧缂栧彿
+        char sysDeviceStatus[50];  // 璁惧鐘舵��
+        char sysSystemStatus[50];  // 绯荤粺鏁翠綋杩愯鐘舵�佹弿杩�
+
+        int devId;  // 瀵瑰簲璁惧璇︾粏淇℃伅琛ㄧ殑璁板綍缂栧彿
+        char devDeviceType[50];  // 璁惧绫诲瀷锛堜笌绯荤粺杩愯鐘舵�佽〃涓殑璁惧绫诲瀷瀵瑰簲锛屽彲鐢ㄤ簬鍏宠仈锛�
+        char devDeviceId[50];  // 璁惧缂栧彿锛堜笌绯荤粺杩愯鐘舵�佽〃涓殑璁惧缂栧彿瀵瑰簲锛屽彲鐢ㄤ簬鍏宠仈锛�
+        char devModel[50];  // 璁惧鍨嬪彿
+        char runDeviceStatus[50];  // 璁惧鐘舵��
+        char runFaultAlarmTime[50];  // 鏁呴殰鎶ヨ鏃堕棿
+        char runFaultDescription[50];  // 鏁呴殰璇︾粏鎻忚堪
+
+        int safetyId;  // 瀵瑰簲璁惧瀹夊叏鐘舵�佽〃鐨勮褰曠紪鍙�
+        char safetyDataCollectionTime[50];  // 鏁版嵁閲囬泦鏃堕棿锛堝彲鐢ㄤ簬鍏宠仈涓嶅悓琛ㄥ湪鍚屼竴鏃堕棿鐐圭殑鏁版嵁鎯呭喌锛�
+        char safetyDeviceType[50];  // 璁惧绫诲瀷锛堢敤浜庡叧鑱旓級
+        char safetyDeviceId[50];  // 璁惧缂栧彿锛堢敤浜庡叧鑱旓級
+        char safetyStatus[50];  // 璁惧瀹夊叏鐘舵��
+        char safetyParameter[50];  // 瀹夊叏鍙傛暟
+};
+// 鍘嗗彶鏌ヨ鍝嶅簲缁撴瀯浣�
+// 瀹夊叏鐘舵�佽〃鐩稿叧淇℃伅
+struct HistoryQueryRes {
+    Head head;
+	Histroy_Info sys[0];
+
+    HistoryQueryRes() {
+        // 鍒濆鍖栨暟鎹ご
+        head.type = HISTORY_QUERY_RES;
+        head.len = sizeof(HistoryQueryRes);
+    }
+    
+};
+
+//鑷姩鍗囩骇
 struct VersionNumReq        // 鐗堟湰鍙疯姹�
 {
 	Head head;
@@ -490,12 +739,7 @@
     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];
+    char context[0];		//鍖呭惈涓嬭浇鏂囦欢淇℃伅
     int fileNum;
 
     VersionInfoEntryReq()
@@ -584,54 +828,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);
+    }
 };
 
 

--
Gitblit v1.8.0