|  | @@ -1124,11 +1124,35 @@ BOOL CLNHandle::HandlePushOnline(const rapidjson::Document& doc, const char* ime
 | 
	
		
			
				|  |  |  			if (st[j].IsInt() == false) continue;
 | 
	
		
			
				|  |  |  			if (st[j].GetInt() == 0)
 | 
	
		
			
				|  |  |  				sensor_status[i][j] = SENSOR_STATUS::ABNORMAL;
 | 
	
		
			
				|  |  | -			else
 | 
	
		
			
				|  |  | +			else if (st[j].GetInt() == 1)
 | 
	
		
			
				|  |  | +				sensor_status[i][j] = SENSOR_STATUS::NORMAL;
 | 
	
		
			
				|  |  | +			else if (st[j].GetInt() == 2)
 | 
	
		
			
				|  |  |  				sensor_status[i][j] = SENSOR_STATUS::NORMAL;
 | 
	
		
			
				|  |  | +			else if (st[j].GetInt() == 3)
 | 
	
		
			
				|  |  | +				sensor_status[i][j] = SENSOR_STATUS::HFDISTURB;
 | 
	
		
			
				|  |  | +			else if(st[j].GetInt() == 3)
 | 
	
		
			
				|  |  | +				sensor_status[i][j] = SENSOR_STATUS::FIXEDVALUE;
 | 
	
		
			
				|  |  | +			else
 | 
	
		
			
				|  |  | +				sensor_status[i][j] = SENSOR_STATUS::ABNORMAL; //不认识的状态
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +	// 获取dt数据
 | 
	
		
			
				|  |  | +	int sensor_time_chip_status[9][2] = { 0 };
 | 
	
		
			
				|  |  | +	for (int i = 0; i < 9; i++)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		sprintf_s(key, 10, "dt%d", i);
 | 
	
		
			
				|  |  | +		if (doc.HasMember(key) == false || doc[key].IsArray() == false)
 | 
	
		
			
				|  |  | +			continue;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +		auto dt = doc[key].GetArray();
 | 
	
		
			
				|  |  | +		for (int j = 0; j < dt.Size() && j < 2; j++)
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			if (dt[j].IsInt() == false) continue;
 | 
	
		
			
				|  |  | +			sensor_time_chip_status[i][j] = dt[j].GetInt();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	// 写入设备传感器的状态信息
 | 
	
		
			
				|  |  | +	pDevice->InsertStatus(sensor_status, sensor_time_chip_status);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	for (int i = 0; i < 9; i++)
 | 
	
		
			
				|  |  |  	{
 | 
	
	
		
			
				|  | @@ -1137,11 +1161,11 @@ BOOL CLNHandle::HandlePushOnline(const rapidjson::Document& doc, const char* ime
 | 
	
		
			
				|  |  |  			const auto& tt = sensor_status[i][j];
 | 
	
		
			
				|  |  |  			auto& src_tt = pDevice->m_sensor_status[i][j];
 | 
	
		
			
				|  |  |  			bool bNew = false, bConver = false;
 | 
	
		
			
				|  |  | -			if (src_tt != SENSOR_STATUS::UNKONW && tt == src_tt) 
 | 
	
		
			
				|  |  | +			if (src_tt != SENSOR_STATUS::UNKONW && tt == src_tt) //状态没有变化,不做处理
 | 
	
		
			
				|  |  |  				continue;
 | 
	
		
			
				|  |  | -			if (tt == SENSOR_STATUS::NORMAL && src_tt == SENSOR_STATUS::ABNORMAL) //恢复
 | 
	
		
			
				|  |  | +			if (tt == SENSOR_STATUS::NORMAL && src_tt != SENSOR_STATUS::NORMAL) //恢复
 | 
	
		
			
				|  |  |  				bConver = true;
 | 
	
		
			
				|  |  | -			else if (tt == SENSOR_STATUS::ABNORMAL && src_tt == SENSOR_STATUS::NORMAL) //产生
 | 
	
		
			
				|  |  | +			else if (tt != SENSOR_STATUS::NORMAL && src_tt == SENSOR_STATUS::NORMAL) //产生
 | 
	
		
			
				|  |  |  				bNew = true;
 | 
	
		
			
				|  |  |  			else if (src_tt == SENSOR_STATUS::UNKONW && tt == SENSOR_STATUS::ABNORMAL)
 | 
	
		
			
				|  |  |  				bNew = true;
 | 
	
	
		
			
				|  | @@ -1184,6 +1208,11 @@ BOOL CLNHandle::HandlePushOnline(const rapidjson::Document& doc, const char* ime
 | 
	
		
			
				|  |  |  			
 | 
	
		
			
				|  |  |  			SYSTEMTIME stNow;
 | 
	
		
			
				|  |  |  			GetLocalTime(&stNow);
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			// 不做报警处理,记录数据库中
 | 
	
		
			
				|  |  | +			/*
 | 
	
		
			
				|  |  |  			//报警发送
 | 
	
		
			
				|  |  |  			if (bNew)
 | 
	
		
			
				|  |  |  			{
 | 
	
	
		
			
				|  | @@ -1200,6 +1229,7 @@ BOOL CLNHandle::HandlePushOnline(const rapidjson::Document& doc, const char* ime
 | 
	
		
			
				|  |  |  				//g_p315ClientManager->GetTcpClient()->SendAlarmData(CMonitorObjectMng::Instance()->GetZZJNO(mo + '.' + mp), 2, CTime(stNow).GetTime(), CTime(stNow).GetTime(),
 | 
	
		
			
				|  |  |  				//	eZL_ALARMTYPE::SENSOR_ABNORMAL, eDaoChaPosi::DCP_UNKNOWN, 0, 0, TIEDA_ACQ_VALUE(INT_MIN), TIEDA_ACQ_VALUE(INT_MIN), 0);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | +			*/
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 |