DFS_Shuo_Chen 2 minggu lalu
induk
melakukan
3512a40ce4

+ 66 - 66
VaporRecoveryMonitor/VaporRecoveryMonitor/VaporRecoveryMonitor/global.cpp

@@ -1,4 +1,4 @@
-#include "stdafx.h"
+锘�#include "stdafx.h"
 
 #include "global.h"
 
@@ -27,8 +27,8 @@ using namespace VR::notify;
 string g_version = "V1.16.37";
 
 
-int g_read_unuploadday = 31;	//程序开启时读未上传交易的天数 非特殊情况皆为31天
-int g_retry_uploadday = 10;		//程序尝试重传交易的天数 非特殊情况皆为10天
+int g_read_unuploadday = 31;	//绋嬪簭寮€鍚�椂璇绘湭涓婁紶浜ゆ槗鐨勫ぉ鏁� 闈炵壒娈婃儏鍐电殕涓�31澶�
+int g_retry_uploadday = 10;		//绋嬪簭灏濊瘯閲嶄紶浜ゆ槗鐨勫ぉ鏁� 闈炵壒娈婃儏鍐电殕涓�10澶�
 
 char g_logs_dir[MAX_PATH] = { 0 };
 
@@ -78,7 +78,7 @@ CWebLink_ZJ_SY web_zj_sy;
 CWebLink_ZJ_ZSH web_zj_zsh;
 CWebLink_Middleware web_middleware_sd_qd;
 CWebLink_HN_CS web_hn_cs;
-CWebLink_FSSD web_fssd_p2;//由于要跟佛山南海同时传,因此平台2也要实现一个佛山顺德的(佛山市)
+CWebLink_FSSD web_fssd_p2;//鐢变簬瑕佽窡浣涘北鍗楁捣鍚屾椂浼狅紝鍥犳�骞冲彴2涔熻�瀹炵幇涓€涓�經灞遍『寰风殑锛堜經灞卞競锛�
 CWebLink_Test1 web_test2;
 CWebLink_GD_ZSH web_gd_zsh;
 CWebLink_CQ_2 web_cq_2;
@@ -109,7 +109,7 @@ int TemperatureSensorGroup::index = 0;
 
 Conflit g_conflit;
 
-int g_anysensor_enable = FALSE;//是否有任何一个传感器打开,FALSE代表油站没有传感器或全部不开启
+int g_anysensor_enable = FALSE;//鏄�惁鏈変换浣曚竴涓�紶鎰熷櫒鎵撳紑,FALSE浠h〃娌圭珯娌℃湁浼犳劅鍣ㄦ垨鍏ㄩ儴涓嶅紑鍚�
 
 vector<engine_object> g_engines;
 map<int,int> g_listIndexMap;
@@ -120,12 +120,12 @@ TankReport g_tankreport;
 AlarmReport g_alarmreport;
 
 
-BOOL g_bSendWebData = [](){	return GetPrivateProfileIntA("WebService", "Enable", 0, ".//conn.ini"); }();//是否开启平台1远程传输
-BOOL g_bSendWebData_2 = [](){	return GetPrivateProfileIntA("WebService", "Enable2", 0, ".//conn.ini"); }();//是否开启平台2远程传输
-BOOL g_bSendWebData_3 = [](){	return GetPrivateProfileIntA("WebService", "Enable3", 0, ".//conn.ini"); }();//是否开启平台3远程传输
+BOOL g_bSendWebData = [](){	return GetPrivateProfileIntA("WebService", "Enable", 0, ".//conn.ini"); }();//鏄�惁寮€鍚�钩鍙�1杩滅▼浼犺緭
+BOOL g_bSendWebData_2 = [](){	return GetPrivateProfileIntA("WebService", "Enable2", 0, ".//conn.ini"); }();//鏄�惁寮€鍚�钩鍙�2杩滅▼浼犺緭
+BOOL g_bSendWebData_3 = [](){	return GetPrivateProfileIntA("WebService", "Enable3", 0, ".//conn.ini"); }();//鏄�惁寮€鍚�钩鍙�3杩滅▼浼犺緭
 
 
-BOOL g_bDownLoadEnable = [](){	return GetPrivateProfileIntA("DownLoad", "Enable", 0, ".//conn.ini"); }();//是否开启下载服务器
+BOOL g_bDownLoadEnable = [](){	return GetPrivateProfileIntA("DownLoad", "Enable", 0, ".//conn.ini"); }();//鏄�惁寮€鍚�笅杞芥湇鍔″櫒
 
 
 int g_fillinglog = GetPrivateProfileIntA("other", "enablefillinglog", 0, ".//conn.ini");
@@ -149,7 +149,7 @@ string g_laststate_gd_zsh;
 
 
 
-//沈阳
+//娌堥槼
 int gupload_sy = 0;
 
 
@@ -169,13 +169,13 @@ int g_CityNo_3 = CITY_3_NONE;
 
 double g_ErrorControlValue = 0;
 
-int g_MainCity = 1;//;主平台设置;1-以平台1规则为主;2-以平台2规则为主
+int g_MainCity = 1;//;涓诲钩鍙拌�缃�紱1-浠ュ钩鍙�1瑙勫垯涓轰富锛�2-浠ュ钩鍙�2瑙勫垯涓轰富
 
 
-int g_TestMode = FALSE;//是否处于测试模式
+int g_TestMode = FALSE;//鏄�惁澶勪簬娴嬭瘯妯″紡
 
 
-int g_testflag = 0;//用于模拟数据进行上传调试
+int g_testflag = 0;//鐢ㄤ簬妯℃嫙鏁版嵁杩涜�涓婁紶璋冭瘯
 
 int g_type_nj = 0;
 
@@ -186,16 +186,16 @@ std::string g_strCity = "";
 std::string g_strCity_2 = "";
 std::string g_strCity_3 = "";
 
-string g_strUserID = "";	//上传平台1的油站id	环保局等接收云端给每个油站分配唯一的加油站标识
-string g_strUserID_2 = "";	//上传平台2的油站id
-string g_strUserID_3 = "";	//上传平台3的油站id
+string g_strUserID = "";	//涓婁紶骞冲彴1鐨勬补绔檌d	鐜�繚灞€绛夋帴鏀朵簯绔�粰姣忎釜娌圭珯鍒嗛厤鍞�竴鐨勫姞娌圭珯鏍囪瘑
+string g_strUserID_2 = "";	//涓婁紶骞冲彴2鐨勬补绔檌d
+string g_strUserID_3 = "";	//涓婁紶骞冲彴3鐨勬补绔檌d
 
-int g_useMiddleware = 0;	//上传平台1是否使用中间件来上传
-int g_useMiddleware_2 = 0;	//上传平台2是否使用中间件来上传
-int g_useMiddleware_3 = 0;	//上传平台3是否使用中间件来上传
+int g_useMiddleware = 0;	//涓婁紶骞冲彴1鏄�惁浣跨敤涓�棿浠舵潵涓婁紶
+int g_useMiddleware_2 = 0;	//涓婁紶骞冲彴2鏄�惁浣跨敤涓�棿浠舵潵涓婁紶
+int g_useMiddleware_3 = 0;	//涓婁紶骞冲彴3鏄�惁浣跨敤涓�棿浠舵潵涓婁紶
 
 
-int g_usemiddleware_https = 0;//是否使用middleware_https来进行中转
+int g_usemiddleware_https = 0;//鏄�惁浣跨敤middleware_https鏉ヨ繘琛屼腑杞�
 
 
 char g_time_pressure[15] = "";
@@ -214,12 +214,12 @@ BOOL g_tank_newdata2 = 0;
 
 int g_nSpace[4] = { 0, 0, 0, 0 };
 
-int g_nPVPressure = 0;			//P/V阀正开启压力值
-int g_nPVPressure_N = 0;	//P/V阀负开启压力值
-BOOL g_bEnablePostProcess = FALSE;  //后处理装置是否启用
-int g_nPostProcessPressure = 0;		//后处理装置开启压力值
-int g_nPostProcessPressure_S = 0;	//后处理装置停止压力值
-string g_PostProcessID = "";//后处理装置标识(后处理装置的厂家等信息)
+int g_nPVPressure = 0;			//P/V闃€姝e紑鍚�帇鍔涘€�
+int g_nPVPressure_N = 0;	//P/V闃€璐熷紑鍚�帇鍔涘€�
+BOOL g_bEnablePostProcess = FALSE;  //鍚庡�鐞嗚�缃�槸鍚﹀惎鐢�
+int g_nPostProcessPressure = 0;		//鍚庡�鐞嗚�缃�紑鍚�帇鍔涘€�
+int g_nPostProcessPressure_S = 0;	//鍚庡�鐞嗚�缃�仠姝㈠帇鍔涘€�
+string g_PostProcessID = "";//鍚庡�鐞嗚�缃�爣璇嗭紙鍚庡�鐞嗚�缃�殑鍘傚�绛変俊鎭�級
 DWORD g_nTankComm = 0;
 DWORD g_nGasComm = 0;
 DWORD g_nVRCComm = 0;
@@ -228,10 +228,10 @@ string g_strVRCCommInfo = "";
 
 int g_isWarningCalcIdle = TRUE;
 
-DWORD g_tankSendCommInterval = 30 * 1000 - 50;  //向压力传感器发送查询命令的间隔时间,默认5秒->调整为30秒
+DWORD g_tankSendCommInterval = 30 * 1000 - 50;  //鍚戝帇鍔涗紶鎰熷櫒鍙戦€佹煡璇㈠懡浠ょ殑闂撮殧鏃堕棿锛岄粯璁�5绉�->璋冩暣涓�30绉�
 int g_nTankTimeOut = g_tankSendCommInterval * 3;
 DWORD g_tankSendCommTick = 0;
-DWORD g_tankSendWebInterval = 2 * 60 * 1000;  //向远程发送油罐数据包的间隔时间:2分钟
+DWORD g_tankSendWebInterval = 2 * 60 * 1000;  //鍚戣繙绋嬪彂閫佹补缃愭暟鎹�寘鐨勯棿闅旀椂闂达細2鍒嗛挓
 DWORD g_tankSendWebTick = 0;
 
 DWORD g_tankRecordTick = 0;
@@ -239,26 +239,26 @@ DWORD g_tankRecordTick = 0;
 
 DWORD g_nBeginTick = 0;
 
-DWORD g_WebTimeOut = 35 * 1000; //判断远程连接断开时间
+DWORD g_WebTimeOut = 35 * 1000; //鍒ゆ柇杩滅▼杩炴帴鏂�紑鏃堕棿
 DWORD g_nWebTick = 0;
 
-DWORD g_WebTimeOut_2 = 35 * 1000; //判断远程连接断开时间
+DWORD g_WebTimeOut_2 = 35 * 1000; //鍒ゆ柇杩滅▼杩炴帴鏂�紑鏃堕棿
 DWORD g_nWebTick_2 = 0;
 
 
-DWORD g_WebTimeOut_3 = 35 * 1000; //判断远程连接断开时间
+DWORD g_WebTimeOut_3 = 35 * 1000; //鍒ゆ柇杩滅▼杩炴帴鏂�紑鏃堕棿
 DWORD g_nWebTick_3 = 0;
 
 
-DWORD g_NozTimeOut = 32 * 3 * 1000;//判断油枪断开时间 最多32块板,最大延时3秒
+DWORD g_NozTimeOut = 32 * 3 * 1000;//鍒ゆ柇娌规灙鏂�紑鏃堕棿 鏈€澶�32鍧楁澘锛屾渶澶у欢鏃�3绉�
 
 CRITICAL_SECTION g_cs_checkwarning;
 
 int g_bSuperDog = 0;
 
-//std::vector<TankData> g_vTankPressures; //记录准备发送的油罐数据,向远程发送后清空
-EnvironmentData g_EnvironmentData;//全局当前环境数据。按照给传感器发送查询命令的时间间隔重置,500ms内等待填入多路的返回数据,一秒之后对填入的数据进行记录等。显示不用等所有
-BOOL g_bWaitingFlag = FALSE;//等待传感器的返回数据的标志
+//std::vector<TankData> g_vTankPressures; //璁板綍鍑嗗�鍙戦€佺殑娌圭綈鏁版嵁锛屽悜杩滅▼鍙戦€佸悗娓呯┖
+EnvironmentData g_EnvironmentData;//鍏ㄥ眬褰撳墠鐜��鏁版嵁銆傛寜鐓х粰浼犳劅鍣ㄥ彂閫佹煡璇㈠懡浠ょ殑鏃堕棿闂撮殧閲嶇疆锛�500ms鍐呯瓑寰呭~鍏ュ�璺�殑杩斿洖鏁版嵁锛屼竴绉掍箣鍚庡�濉�叆鐨勬暟鎹�繘琛岃�褰曠瓑銆傛樉绀轰笉鐢ㄧ瓑鎵€鏈�
+BOOL g_bWaitingFlag = FALSE;//绛夊緟浼犳劅鍣ㄧ殑杩斿洖鏁版嵁鐨勬爣蹇�
 
 std::map<int, string> m_DataType;
 
@@ -270,7 +270,7 @@ int timespan = 5000;
 UINT g_nBeepCount = 0;
 UINT g_nBeepCount_gas = 0;
 
-UINT g_UseBeijingNewStandard = FALSE; //北京整改要求,仅保留气液比、零压、处理装置是否正常启动的功能,其它压力真空阀、处理装置排放浓度等预报警不在界面显示,亦不上传 2020.11.20
+UINT g_UseBeijingNewStandard = FALSE; //鍖椾含鏁存敼瑕佹眰锛屼粎淇濈暀姘旀恫姣斻€侀浂鍘嬨€佸�鐞嗚�缃�槸鍚︽�甯稿惎鍔ㄧ殑鍔熻兘锛屽叾瀹冨帇鍔涚湡绌洪榾銆佸�鐞嗚�缃�帓鏀炬祿搴︾瓑棰勬姤璀︿笉鍦ㄧ晫闈㈡樉绀猴紝浜︿笉涓婁紶 2020.11.20
 
 BOOL g_ExitFlag = FALSE;
 BOOL g_ExitFlag_Last = FALSE;
@@ -382,7 +382,7 @@ int file_exists(char *filename)
 }
 
 
-//去掉空格、\r、\n
+//鍘绘帀绌烘牸銆乗r銆乗n
 string getStringWithoutSpace(string str)
 {
 	string s = "";
@@ -551,7 +551,7 @@ void enc(string text, string&base64, string& base64_hmac)
 		string text;
 		memcpy(pChar + i * len, output_f, len);
 
-		memcpy(iv, output_f, 16);//iv向量赋值为上一次的加密结果
+		memcpy(iv, output_f, 16);//iv鍚戦噺璧嬪€间负涓婁竴娆$殑鍔犲瘑缁撴灉
 	}
 
 
@@ -564,7 +564,7 @@ void enc(string text, string&base64, string& base64_hmac)
 
 	SM3Calc((BYTE*)base64.data(), base64.size(), output2);
 
-	//一次处理16位,分两次处理
+	//涓€娆″�鐞�16浣嶏紝鍒嗕袱娆″�鐞�
 	unsigned char output2_1[16];
 	unsigned char output2_2[16];
 	memcpy(output2_1, output2, 16);
@@ -593,7 +593,7 @@ int getFileCount(string path)
 	intptr_t handle;
 	_finddata_t findData;
 
-	handle = _findfirst(path.c_str(), &findData);    // 查找目录中的第一个文件
+	handle = _findfirst(path.c_str(), &findData);    // 鏌ユ壘鐩�綍涓�殑绗�竴涓�枃浠�
 	if (handle == -1)
 	{
 		return -1;
@@ -605,7 +605,7 @@ int getFileCount(string path)
 	{
 		if (string(findData.name) == "."
 			|| string(findData.name) == ".."
-			)    // 是否是子目录并且不为"."或".."
+			)    // 鏄�惁鏄�瓙鐩�綍骞朵笖涓嶄负"."鎴�".."
 		{
 		}
 		else
@@ -615,13 +615,13 @@ int getFileCount(string path)
 				count++;
 			}
 		}
-	} while (_findnext(handle, &findData) == 0);    // 查找目录中的下一个文件
-	_findclose(handle);    // 关闭搜索句柄
+	} while (_findnext(handle, &findData) == 0);    // 鏌ユ壘鐩�綍涓�殑涓嬩竴涓�枃浠�
+	_findclose(handle);    // 鍏抽棴鎼滅储鍙ユ焺
 
 	return count;
 }
 
-//单位:GB
+//鍗曚綅锛欸B
 double GetDiskTotal(string szSingleDrive)
 {
 	//double all_Total = 0;
@@ -656,7 +656,7 @@ double GetDiskTotal(string szSingleDrive)
 				//all_Free += Free;
 			}
 
-			// 获取下一个驱动器号起始地址
+			// 鑾峰彇涓嬩竴涓�┍鍔ㄥ櫒鍙疯捣濮嬪湴鍧€
 			//szSingleDrive += _tcslen(szSingleDrive) + 1;
 		//}
 	//}
@@ -665,7 +665,7 @@ double GetDiskTotal(string szSingleDrive)
 	return Total / 1024;
 }
 
-//是否存在容量大于size的盘,单位GB
+//鏄�惁瀛樺湪瀹归噺澶т簬size鐨勭洏锛屽崟浣岹B
 BOOL FindDisk(int size)
 {
 	DWORD dwSize = MAX_PATH;
@@ -695,7 +695,7 @@ BOOL FindDisk(int size)
 			}
 		}
 
-		// 获取下一个驱动器号起始地址
+		// 鑾峰彇涓嬩竴涓�┍鍔ㄥ櫒鍙疯捣濮嬪湴鍧€
 		szSingleDrive += _tcslen(szSingleDrive) + 1;
 		}
 	}
@@ -906,7 +906,7 @@ string getEnvirData_Press(EnvironmentData edata)
 		if (edata.TankPressure[0] / 100.0 > 9999.0 || edata.TankPressure[0] / 100.0 < -9999.0)
 		{
 			char log[50];
-			sprintf_s(log, "数据超出范围 edata.TankPressure:%.1f", edata.TankPressure[0] / 100.0);
+			sprintf_s(log, "鏁版嵁瓒呭嚭鑼冨洿 edata.TankPressure锛�%.1f", edata.TankPressure[0] / 100.0);
 			vr_log_error(log);
 		}
 		else
@@ -926,7 +926,7 @@ string getEnvirData_YZ(EnvironmentData edata)
 		if (edata.LiquidResistance / 100.0 > 9999.0 || edata.LiquidResistance / 100.0 < -9999.0)
 		{
 			char log[50];
-			sprintf_s(log, "数据超出范围 edata.LiquidResistance:%.1f", edata.LiquidResistance / 100.0);
+			sprintf_s(log, "鏁版嵁瓒呭嚭鑼冨洿 edata.LiquidResistance锛�%.1f", edata.LiquidResistance / 100.0);
 			vr_log_error(log);
 		}
 		else
@@ -951,7 +951,7 @@ string getEnvirData_Temp(EnvironmentData edata)
 		if (edata.Temperature[0] / 10.0 > 99999 || edata.Temperature[0] / 10.0 < -99999)
 		{
 			char log[50];
-			sprintf_s(log, "数据超出范围 data.Temperature:%d", edata.Temperature[0] / 10.0);
+			sprintf_s(log, "鏁版嵁瓒呭嚭鑼冨洿 data.Temperature锛�%d", edata.Temperature[0] / 10.0);
 			vr_log_error(log);
 		}
 		else
@@ -976,7 +976,7 @@ string getEnvirData_Gas(EnvironmentData edata)
 		if (per > 99999 || per < -99999)
 		{
 			char log[50];
-			sprintf_s(log, "数据超出范围 data.gaspercentage:%d", per);
+			sprintf_s(log, "鏁版嵁瓒呭嚭鑼冨洿 data.gaspercentage锛�%d", per);
 			vr_log_error(log);
 		}
 		else
@@ -1000,7 +1000,7 @@ string getEnvirData_PostGas(EnvironmentData edata)
 		if (per > 99999 || per < -99999)
 		{
 			char log[50];
-			sprintf_s(log, "数据超出范围 data.postpercentage:%d", per);
+			sprintf_s(log, "鏁版嵁瓒呭嚭鑼冨洿 data.postpercentage锛�%d", per);
 			vr_log_error(log);
 		}
 		else
@@ -1029,23 +1029,23 @@ bool isIP(string & str) {
 	bool flag = true;
 	int len = str.size();
 
-	// 检查ip长度,最短7位,最长15位
+	// 妫€鏌�p闀垮害锛屾渶鐭�7浣嶏紝鏈€闀�15浣�
 	if (len < 7 || len > 15) {
 		return false;
 	}
 
-	//对输入字符串的首末字符判断,若是.则false
+	//瀵硅緭鍏ュ瓧绗︿覆鐨勯�鏈�瓧绗﹀垽鏂�紝鑻ユ槸.鍒檉alse
 	if (str[0] == '.' || str[len - 1] == '.')  return  false;
 
 
 	int dotcnt = 0;
-	//数一共有几个.
+	//鏁颁竴鍏辨湁鍑犱釜.
 	for (int i = 0; i < str.length(); i++)
 	{
 		if (str[i] == '.')
 			dotcnt++;
 	}
-	//ipv4地址一定有3个点
+	//ipv4鍦板潃涓€瀹氭湁3涓�偣
 	if (dotcnt != 3)
 		return false;
 
@@ -1053,17 +1053,17 @@ bool isIP(string & str) {
 	if (str[0] == '0')  return  false;
 
 
-	string temp = "";  // 存放临时的字符串 
+	string temp = "";  // 瀛樻斁涓存椂鐨勫瓧绗︿覆 
 	for (int i = 0; i < len; i++) {
 		if (str[i] != '.') {
 			temp += str[i];
 			continue;
 		}
 		else {
-			// 第一个是0 , 非法
+			// 绗�竴涓�槸0 , 闈炴硶
 			if (temp.size()>1 && temp[0] == '0') return false;
 			for (int j = 0; j < temp.size(); ++j) {
-				if (isdigit(temp[j])) {    // 临时变量temp的每一个字符判断是否为数字
+				if (isdigit(temp[j])) {    // 涓存椂鍙橀噺temp鐨勬瘡涓€涓�瓧绗﹀垽鏂�槸鍚︿负鏁板瓧
 					continue;
 				}
 				else {
@@ -1071,7 +1071,7 @@ bool isIP(string & str) {
 				}
 			}
 
-			// 全是数字 ,看是否小于255
+			// 鍏ㄦ槸鏁板瓧 锛岀湅鏄�惁灏忎簬255
 			int a = toInt(temp);
 			if (a >= 0 && a <= 255) {
 				temp = "";
@@ -1084,9 +1084,9 @@ bool isIP(string & str) {
 		}
 	}
 
-	// 还有最后一个 点后面的 ,需要判断
+	// 杩樻湁鏈€鍚庝竴涓� 鐐瑰悗闈㈢殑 锛岄渶瑕佸垽鏂�
 
-	// 第一个是0 , 非法
+	// 绗�竴涓�槸0 , 闈炴硶
 	if (temp.size()>1 && temp[0] == '0') return false;
 	for (int j = 0; j < temp.size(); j++) {
 
@@ -1098,7 +1098,7 @@ bool isIP(string & str) {
 		}
 	}
 
-	// 全是数字 ,看是否小于255
+	// 鍏ㄦ槸鏁板瓧 锛岀湅鏄�惁灏忎簬255
 	int a = toInt(temp);
 	if (a >= 0 && a <= 255) {
 		temp = "";
@@ -1365,7 +1365,7 @@ void deserialize_filling_record(const Json::Value& json_record, filling_record&
 
 
 /*
-//压缩 data 原数据 ndata 原数据长度 zdata 压缩后数据 nzdata 压缩后长度
+//鍘嬬缉 data 鍘熸暟鎹� ndata 鍘熸暟鎹�暱搴� zdata 鍘嬬缉鍚庢暟鎹� nzdata 鍘嬬缉鍚庨暱搴�
 int httpgzcompress(Bytef *data, uLong ndata, Bytef *zdata, uLong *nzdata)
 {
 	z_stream c_stream;
@@ -1375,7 +1375,7 @@ int httpgzcompress(Bytef *data, uLong ndata, Bytef *zdata, uLong *nzdata)
 		c_stream.zalloc = NULL;
 		c_stream.zfree = NULL;
 		c_stream.opaque = NULL;
-		//只有设置为MAX_WBITS + 16才能在在压缩文本中带header和trailer
+		//鍙�湁璁剧疆涓篗AX_WBITS + 16鎵嶈兘鍦ㄥ湪鍘嬬缉鏂囨湰涓�甫header鍜宼railer
 		if (deflateInit2(&c_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED,
 			MAX_WBITS, 8, Z_DEFAULT_STRATEGY) != Z_OK) return -1;
 		c_stream.next_in = data;
@@ -1398,7 +1398,7 @@ int httpgzcompress(Bytef *data, uLong ndata, Bytef *zdata, uLong *nzdata)
 	return -1;
 }
 
-//解压
+//瑙e帇
 int httpgzdecompress(Byte *zdata, uLong nzdata, Byte *data, uLong *ndata)
 {
 	int err = 0;

+ 101 - 101
VaporRecoveryMonitor/VaporRecoveryMonitor/VaporRecoveryMonitor/global.h

@@ -1,4 +1,4 @@
-#pragma once
+锘�#pragma once
 
 #include "WebLink_BJ.h"
 #include "WebLink_ZJ.h"
@@ -284,7 +284,7 @@ public:
 		return str;
 	}
 
-	//非定义等状态返回3
+	//闈炲畾涔夌瓑鐘舵€佽繑鍥�3
 	std::string getWarningString_allNumber()
 	{
 		string str = "";
@@ -373,25 +373,25 @@ public:
 		switch (m_state)
 		{
 		case SensorState_Normal:
-			state = "正常";
+			state = "姝e父";
 			break;
 		case SensorState_OffLine:
-			state = "离线";
+			state = "绂荤嚎";
 			break;
 		case SensorState_DataError:
-			state = "数据错误";
+			state = "鏁版嵁閿欒�";
 			break;
 		case SensorState_Warning:
-			state = "报警";
+			state = "鎶ヨ�";
 			break;
 		case SensorState_Disable:
-			state = "不启用";
+			state = "涓嶅惎鐢�";
 			break;
 		case SensorState_PreWarning:
-			state = "预警";
+			state = "棰勮�";
 			break;
 		case SensorState_Conflit:
-			state = "地址冲突";
+			state = "鍦板潃鍐茬獊";
 			break;
 		}
 
@@ -404,25 +404,25 @@ public:
 		switch (m_state)
 		{
 		case SensorState_Normal:
-			state = "正常";
+			state = "姝e父";
 			break;
 		case SensorState_OffLine:
-			state = "离线";
+			state = "绂荤嚎";
 			break;
 		case SensorState_DataError:
-			state = "数据错误";
+			state = "鏁版嵁閿欒�";
 			break;
 		case SensorState_Warning:
-			state = "报警";
+			state = "鎶ヨ�";
 			break;
 		case SensorState_Disable:
-			state = "不启用";
+			state = "涓嶅惎鐢�";
 			break;
 		case SensorState_PreWarning:
-			state = "预警";
+			state = "棰勮�";
 			break;
 		case SensorState_Conflit:
-			state = "地址冲突";
+			state = "鍦板潃鍐茬獊";
 			break;
 		}
 
@@ -546,10 +546,10 @@ public:
 
 		if (continue_days >= 1)
 		{
-			str = "持续预警" + to_string(continue_days) + "天";
+			str = "鎸佺画棰勮�" + to_string(continue_days) + "澶�";
 			if (getState() == SensorState_Warning)
 			{
-				str += ",当天已报警";
+				str += "锛屽綋澶╁凡鎶ヨ�";
 			}
 		}
 		return str;
@@ -666,7 +666,7 @@ public:
 			str = chPressure;
 
 
-			//预警
+			//棰勮�
 			if (m_warning.zero_h[m_index] >= VR::rules::ref_tankwarning_zero_s / 3600)
 			{
 				zerostate = 1;
@@ -699,7 +699,7 @@ public:
 				}
 				else
 				{
-					//tank_pvtext_pre->SetText("P/V阀预警(分));
+					//tank_pvtext_pre->SetText("P/V闃€棰勮�锛堝垎锛�);
 					//tank_pvsecond->SetTextInt(warning_.pv_m);
 
 					int pv_time = m_warning.pv_m[m_index];
@@ -749,7 +749,7 @@ public:
 			}
 
 
-			//报警
+			//鎶ヨ�
 
 			//tank_zeropressureday->SetTextInt(warning_.zero_continue_days);
 			if (m_warning.zero_continue_days[m_index] >= VR::rules::ref_tankwarning_zero_d)
@@ -777,7 +777,7 @@ public:
 				}
 				else
 				{
-					//tank_pvtext->SetText("P/V阀预警(天)");
+					//tank_pvtext->SetText("P/V闃€棰勮�锛堝ぉ锛�");
 					//tank_pvtime->SetTextInt(warning_.pv_continue_days);
 					if (m_warning.pv_continue_days[m_index] >= VR::rules::ref_tankwarning_pv_day)
 					{
@@ -824,30 +824,30 @@ public:
 			warningtext = "";
 			if (zerostate)
 			{
-				warningtext += "零压" + to_string(m_warning.zero_h[m_index]) + "小时," + to_string(m_warning.zero_continue_days[m_index]) + "天;";
+				warningtext += "闆跺帇" + to_string(m_warning.zero_h[m_index]) + "灏忔椂," + to_string(m_warning.zero_continue_days[m_index]) + "澶�;";
 			}
 
 			if (pvstate)
 			{
 				if (VR::rules::ref_pv_warningtype == 1)
 				{
-					warningtext += "P/V阀" + to_string(m_warning.pvtime[m_index]) + "秒," + to_string(m_warning.pv_m[m_index]) + "分钟;";
+					warningtext += "P/V闃€" + to_string(m_warning.pvtime[m_index]) + "绉�," + to_string(m_warning.pv_m[m_index]) + "鍒嗛挓;";
 				}
 				else
 				{
 
-					warningtext += "P/V阀" + to_string(m_warning.pv_m[m_index]) + "分钟," + to_string(m_warning.pv_continue_days[m_index]) + "天;";
+					warningtext += "P/V闃€" + to_string(m_warning.pv_m[m_index]) + "鍒嗛挓," + to_string(m_warning.pv_continue_days[m_index]) + "澶�;";
 				}
 			}
 
 			if (pvcrisisstate)
 			{
-				warningtext += "P/V阀临界" + to_string(m_warning.pvcrisis[m_index]) + "%," + to_string(m_warning.pvcrisis_continue_days[m_index]) + ";";
+				warningtext += "P/V闃€涓寸晫" + to_string(m_warning.pvcrisis[m_index]) + "%," + to_string(m_warning.pvcrisis_continue_days[m_index]) + "澶�;";
 			}
 
 			if (poststate)
 			{
-				warningtext += "后处理压力" + to_string(m_warning.post_h[m_index]) + "小时," + to_string(m_warning.post_continue_days[m_index]) + "天;";
+				warningtext += "鍚庡�鐞嗗帇鍔�" + to_string(m_warning.post_h[m_index]) + "灏忔椂," + to_string(m_warning.post_continue_days[m_index]) + "澶�;";
 			}
 
 			if (unionstate_w)
@@ -865,16 +865,16 @@ public:
 
 			break;
 		case SensorState_OffLine:
-			str = "离线";
+			str = "绂荤嚎";
 			break;
 		case SensorState_DataError:
-			str = "数据错误";
+			str = "鏁版嵁閿欒�";
 			break;
 		case SensorState_Disable:
-			str = "不启用";
+			str = "涓嶅惎鐢�";
 			break;
 		case SensorState_Conflit:
-			str = "地址冲突";
+			str = "鍦板潃鍐茬獊";
 			break;
 		}
 
@@ -931,7 +931,7 @@ public:
 	int lastzerostate;
 	int lastzerostate_w;
 
-	int zerostate_gdzsh;//广东中石化特殊
+	int zerostate_gdzsh;//骞夸笢涓�煶鍖栫壒娈�
 	int zerostate_w_gdzsh;
 	int lastzerostate_gdzsh;
 	int lastzerostate_w_gdzsh;
@@ -990,7 +990,7 @@ public:
 			str = chPressure;
 
 
-			//预警
+			//棰勮�
 
 
 			if (VR::rules::useyzWarning)
@@ -1028,16 +1028,16 @@ public:
 
 			break;
 		case SensorState_OffLine:
-			str = "离线";
+			str = "绂荤嚎";
 			break;
 		case SensorState_DataError:
-			str = "数据错误";
+			str = "鏁版嵁閿欒�";
 			break;
 		case SensorState_Disable:
-			str = "不启用";
+			str = "涓嶅惎鐢�";
 			break;
 		case SensorState_Conflit:
-			str = "地址冲突";
+			str = "鍦板潃鍐茬獊";
 			break;
 		}
 
@@ -1093,16 +1093,16 @@ public:
 			str = chTemp;
 			break;
 		case SensorState_OffLine:
-			str = "离线";
+			str = "绂荤嚎";
 			break;
 		case SensorState_DataError:
-			str = "数据错误";
+			str = "鏁版嵁閿欒�";
 			break;
 		case SensorState_Disable:
-			str = "不启用";
+			str = "涓嶅惎鐢�";
 			break;
 		case SensorState_Conflit:
-			str = "地址冲突";
+			str = "鍦板潃鍐茬獊";
 			break;
 		}
 		return str;
@@ -1312,16 +1312,16 @@ public:
 			str = chgas;
 			break;
 		case SensorState_OffLine:
-			str = "离线";
+			str = "绂荤嚎";
 			break;
 		case SensorState_DataError:
-			str = "数据错误";
+			str = "鏁版嵁閿欒�";
 			break;
 		case SensorState_Disable:
-			str = "不启用";
+			str = "涓嶅惎鐢�";
 			break;
 		case SensorState_Conflit:
-			str = "地址冲突";
+			str = "鍦板潃鍐茬獊";
 			break;
 		}
 		return str;
@@ -1369,24 +1369,24 @@ class GasSensorGroup
 public:
 	GasSensorGroup()
 	{
-		addSensor(TagGas(), "卸油区浓度",0);
-		addSensor(TagPostGas(), "三次回收浓度",0);
-		addSensor(TagWell1(), "人孔井浓度1",0);
-		addSensor(TagWell2(), "人孔井浓度2",1);
-		addSensor(TagWell3(), "人孔井浓度3",2);
-		addSensor(TagWell4(), "人孔井浓度4",3);
-		addSensor(TagOil1(), "加油区浓度1",0);
-		addSensor(TagOil2(), "加油区浓度2",1);
-		addSensor(TagOil3(), "加油区浓度3",2);
-		addSensor(TagOil4(), "加油区浓度4",3);
-		addSensor(TagOil5(), "加油区浓度5",4);
-		addSensor(TagOil6(), "加油区浓度6",5);
-		addSensor(TagOil7(), "加油区浓度7",6);
-		addSensor(TagOil8(), "加油区浓度8",7);
-		addSensor(TagOil9(), "加油区浓度9",8);
-		addSensor(TagOil10(), "加油区浓度10",9);
-		addSensor(TagOil11(), "加油区浓度11",10);
-		addSensor(TagOil12(), "加油区浓度12",11);
+		addSensor(TagGas(), "鍗告补鍖烘祿搴�",0);
+		addSensor(TagPostGas(), "涓夋�鍥炴敹娴撳害",0);
+		addSensor(TagWell1(), "浜哄瓟浜曟祿搴�1",0);
+		addSensor(TagWell2(), "浜哄瓟浜曟祿搴�2",1);
+		addSensor(TagWell3(), "浜哄瓟浜曟祿搴�3",2);
+		addSensor(TagWell4(), "浜哄瓟浜曟祿搴�4",3);
+		addSensor(TagOil1(), "鍔犳补鍖烘祿搴�1",0);
+		addSensor(TagOil2(), "鍔犳补鍖烘祿搴�2",1);
+		addSensor(TagOil3(), "鍔犳补鍖烘祿搴�3",2);
+		addSensor(TagOil4(), "鍔犳补鍖烘祿搴�4",3);
+		addSensor(TagOil5(), "鍔犳补鍖烘祿搴�5",4);
+		addSensor(TagOil6(), "鍔犳补鍖烘祿搴�6",5);
+		addSensor(TagOil7(), "鍔犳补鍖烘祿搴�7",6);
+		addSensor(TagOil8(), "鍔犳补鍖烘祿搴�8",7);
+		addSensor(TagOil9(), "鍔犳补鍖烘祿搴�9",8);
+		addSensor(TagOil10(), "鍔犳补鍖烘祿搴�10",9);
+		addSensor(TagOil11(), "鍔犳补鍖烘祿搴�11",10);
+		addSensor(TagOil12(), "鍔犳补鍖烘祿搴�12",11);
 
 	}
 
@@ -1596,7 +1596,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "报警")
+			if (state == "鎶ヨ�")
 			{
 				return;
 			}
@@ -1605,7 +1605,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "预警")
+			if (state == "棰勮�")
 			{
 				return;
 			}
@@ -1614,7 +1614,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "数据错误")
+			if (state == "鏁版嵁閿欒�")
 			{
 				return;
 			}
@@ -1623,7 +1623,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "离线")
+			if (state == "绂荤嚎")
 			{
 				return;
 			}
@@ -1632,7 +1632,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "地址冲突")
+			if (state == "鍦板潃鍐茬獊")
 			{
 				return;
 			}
@@ -1641,14 +1641,14 @@ public:
 
 		if (disablecount == sensors.size())
 		{
-			state = "不启用";
+			state = "涓嶅惎鐢�";
 			color = 0xffb4b5b5;
 			return;
 		}
 		else
 		{
 			color = 0xff55b76f;
-			state = "正常";
+			state = "姝e父";
 		}
 
 	}
@@ -1696,7 +1696,7 @@ class LiquidSensorGroup
 public:
 	LiquidSensorGroup()
 	{
-		addSensor(TagLiquid(), "管线压力");
+		addSensor(TagLiquid(), "绠$嚎鍘嬪姏");
 	}
 
 	void addSensor(string tag, string name)
@@ -1745,7 +1745,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "报警")
+			if (state == "鎶ヨ�")
 			{
 				return;
 			}
@@ -1754,7 +1754,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "预警")
+			if (state == "棰勮�")
 			{
 				return;
 			}
@@ -1763,7 +1763,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "数据错误")
+			if (state == "鏁版嵁閿欒�")
 			{
 				return;
 			}
@@ -1772,7 +1772,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "离线")
+			if (state == "绂荤嚎")
 			{
 				return;
 			}
@@ -1781,7 +1781,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "地址冲突")
+			if (state == "鍦板潃鍐茬獊")
 			{
 				return;
 			}
@@ -1790,14 +1790,14 @@ public:
 
 		if (disablecount == sensors.size())
 		{
-			state = "不启用";
+			state = "涓嶅惎鐢�";
 			color = 0xffb4b5b5;
 			return;
 		}
 		else
 		{
 			color = 0xff55b76f;
-			state = "正常";
+			state = "姝e父";
 		}
 
 	}
@@ -1812,10 +1812,10 @@ class PressureSensorGroup
 public:
 	PressureSensorGroup()
 	{
-		addSensor(TagPress1(), "油罐压力1");
-		addSensor(TagPress2(), "油罐压力2");
-		addSensor(TagPress3(), "油罐压力3");
-		addSensor(TagPress4(), "油罐压力4");
+		addSensor(TagPress1(), "娌圭綈鍘嬪姏1");
+		addSensor(TagPress2(), "娌圭綈鍘嬪姏2");
+		addSensor(TagPress3(), "娌圭綈鍘嬪姏3");
+		addSensor(TagPress4(), "娌圭綈鍘嬪姏4");
 
 	}
 
@@ -1976,7 +1976,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "报警")
+			if (state == "鎶ヨ�")
 			{
 				return;
 			}
@@ -1985,7 +1985,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "预警")
+			if (state == "棰勮�")
 			{
 				return;
 			}
@@ -1994,7 +1994,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "数据错误")
+			if (state == "鏁版嵁閿欒�")
 			{
 				return;
 			}
@@ -2003,7 +2003,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "离线")
+			if (state == "绂荤嚎")
 			{
 				return;
 			}
@@ -2012,7 +2012,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "地址冲突")
+			if (state == "鍦板潃鍐茬獊")
 			{
 				return;
 			}
@@ -2022,14 +2022,14 @@ public:
 
 		if (disablecount == sensors.size())
 		{
-			state = "不启用";
+			state = "涓嶅惎鐢�";
 			color = 0xffb4b5b5;
 			return;
 		}
 		else
 		{
 			color = 0xff55b76f;
-			state = "正常";
+			state = "姝e父";
 		}
 
 	}
@@ -2071,10 +2071,10 @@ class TemperatureSensorGroup
 public:
 	TemperatureSensorGroup()
 	{
-		addSensor(TagTemp1(), "油罐温度1");
-		addSensor(TagTemp2(), "油罐温度2");
-		addSensor(TagTemp3(), "油罐温度3");
-		addSensor(TagTemp4(), "油罐温度4");
+		addSensor(TagTemp1(), "娌圭綈娓╁害1");
+		addSensor(TagTemp2(), "娌圭綈娓╁害2");
+		addSensor(TagTemp3(), "娌圭綈娓╁害3");
+		addSensor(TagTemp4(), "娌圭綈娓╁害4");
 
 	}
 
@@ -2116,7 +2116,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "数据错误")
+			if (state == "鏁版嵁閿欒�")
 			{
 				return;
 			}
@@ -2125,7 +2125,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "离线")
+			if (state == "绂荤嚎")
 			{
 				return;
 			}
@@ -2134,7 +2134,7 @@ public:
 		for (auto& it : sensors)
 		{
 			it.second.getStatestringAndColor(state, color, whiteBK);
-			if (state == "地址冲突")
+			if (state == "鍦板潃鍐茬獊")
 			{
 				return;
 			}
@@ -2144,14 +2144,14 @@ public:
 
 		if (disablecount == sensors.size())
 		{
-			state = "不启用";
+			state = "涓嶅惎鐢�";
 			color = 0xffb4b5b5;
 			return;
 		}
 		else
 		{
 			color = 0xff55b76f;
-			state = "正常";
+			state = "姝e父";
 		}
 
 	}
@@ -2491,9 +2491,9 @@ extern tank_warning_record warning_;
 
 extern FileCache g_filecache;
 
-#define DB_FAILE	0//操作数据库失败
-#define DB_SUCCESS  1//操作数据库成功
-#define DB_EXIST	2//记录已存在
+#define DB_FAILE	0//鎿嶄綔鏁版嵁搴撳け璐�
+#define DB_SUCCESS  1//鎿嶄綔鏁版嵁搴撴垚鍔�
+#define DB_EXIST	2//璁板綍宸插瓨鍦�