| 
					
				 | 
			
			
				@@ -4706,20 +4706,24 @@ int DealResistMove(const httplib::Request& req, const string token, char** json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ASSERT(ii != mapSecondStatInfo2.end());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			last_value = ii->second.end_val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			auto dif = abs(last_value - first_value);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			auto strLog = fmt::format("{}  first:{}  last:{} dif:{}",
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				CTime(it->time / 1000).Format("%Y-%m-%d %H:%M:%S"), first_value, last_value, dif);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (dif > 1000)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				auto strLog = fmt::format("{}  first:{}  last:{} dif:{}", 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					CTime(it->time/1000).Format("%Y-%m-%d %H:%M:%S"), first_value, last_value, dif);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				SPDLOG_INFO(strLog);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				FRICTION_RESIST info;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.peak_time = it->time;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.peak_val = it->val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.show_time = it->time; //暂时赋值峰值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.show_val = last_value;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.tmStart = it->tmStart;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.tmEnd = it->tmEnd;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				info.t = strLog;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				lstFriction.emplace_back(info);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (it->tmEnd - it->tmStart >= 4)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					SPDLOG_INFO(strLog);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					FRICTION_RESIST info;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.peak_time = it->time;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.peak_val = it->val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.show_time = it->time; //暂时赋值峰值
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.show_val = last_value;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.tmStart = it->tmStart;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.tmEnd = it->tmEnd;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.t = strLog;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					info.bUpOrDown = it->bUpOrDown;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					lstFriction.emplace_back(info);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				it = maxResist.erase(it);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			else
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4858,8 +4862,11 @@ int DealResistMove(const httplib::Request& req, const string token, char** json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			yyjson_mut_obj_add_strcpy(doc, obj, "time", fmt::format("{}.{:0>3}", CTime(show_time/1000).Format("%Y-%m-%d %H:%M:%S"), show_time % 1000).c_str());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			yyjson_mut_obj_add_int(doc, obj, "val", show_val);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			yyjson_mut_obj_add_strcpy(doc, obj, "label", ANSItoUTF8(fmt::format("稳态值:{}", show_val)).c_str());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			yyjson_mut_obj_add_str(doc, obj, "color", "#802A2A");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (it.bUpOrDown == eUpOrDownInfo::UOD_DOWN)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				yyjson_mut_obj_add_str(doc, obj, "position", "bottom");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (auto& it : maxResist)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			auto obj = yyjson_mut_obj(doc);
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4882,9 +4889,9 @@ int DealResistMove(const httplib::Request& req, const string token, char** json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (pInfo->out_name.find("定扳反") != -1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							if (pConvertLimit->dw_alarm_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if (pConvertLimit->dw_alarm_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Red");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							else if (pConvertLimit->dw_warn_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							else if (pConvertLimit->dw_warn_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Orange");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4920,9 +4927,9 @@ int DealResistMove(const httplib::Request& req, const string token, char** json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (pInfo->out_name.find("反扳定") != -1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							if (pConvertLimit->dw_alarm_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if (pConvertLimit->dw_alarm_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Red");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							else if (pConvertLimit->dw_warn_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							else if (pConvertLimit->dw_warn_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Orange");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4961,9 +4968,9 @@ int DealResistMove(const httplib::Request& req, const string token, char** json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (pInfo->out_name.find("定扳反") != -1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							if (pConvertLimit->dw_alarm_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if (pConvertLimit->dw_alarm_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Red");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							else if (pConvertLimit->dw_warn_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							else if (pConvertLimit->dw_warn_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Orange");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4999,9 +5006,9 @@ int DealResistMove(const httplib::Request& req, const string token, char** json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if (pInfo->out_name.find("反扳定") != -1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							if (pConvertLimit->dw_alarm_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if (pConvertLimit->dw_alarm_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Red");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							else if (pConvertLimit->dw_warn_low_limit > show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							else if (pConvertLimit->dw_warn_low_limit < show_val)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								yyjson_mut_obj_add_str(doc, obj, "color", "Orange");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else
 
			 |