|  | @@ -46,8 +46,8 @@ BOOL CResistAlarmMng::Start(CString strIniPath)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	if (m_pThreadAlarmSet == nullptr) return FALSE;
 | 
	
		
			
				|  |  |  	//离线报警
 | 
	
		
			
				|  |  | -	m_pThreadDevice = new thread(CResistAlarmMng::ThreadProcDevice, (DWORD_PTR)this);
 | 
	
		
			
				|  |  | -	if (m_pThreadDevice == nullptr) return FALSE;
 | 
	
		
			
				|  |  | +	/*m_pThreadDevice = new thread(CResistAlarmMng::ThreadProcDevice, (DWORD_PTR)this);
 | 
	
		
			
				|  |  | +	if (m_pThreadDevice == nullptr) return FALSE;*/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	if (g_bExternalData)
 | 
	
		
			
				|  |  |  	{
 | 
	
	
		
			
				|  | @@ -996,7 +996,7 @@ void CResistAlarmMng::JudgeAlarm(CResistAlarmMng* pService, SUOBI_OVER_LIMIT_INF
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  //判断转换阻力是否超限
 | 
	
		
			
				|  |  |  void CResistAlarmMng::JudgeAlarm(CResistAlarmMng* pService, CONVERT_RESIST_OVER_LIMIT* pConvertOverLimit, 
 | 
	
		
			
				|  |  | -	time_t show_time, int show_val, eDaoChaPosi posi, eUpOrDownInfo eUpOrDown, string mo, string mp, uint32_t zzjno)
 | 
	
		
			
				|  |  | +	time_t show_time, int show_val, eDaoChaPosi posi, string mo, string mp, uint32_t zzjno)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	if (pConvertOverLimit == nullptr || pConvertOverLimit->enable == false) return;
 | 
	
		
			
				|  |  |  	bool bNew = false;
 | 
	
	
		
			
				|  | @@ -1004,7 +1004,7 @@ void CResistAlarmMng::JudgeAlarm(CResistAlarmMng* pService, CONVERT_RESIST_OVER_
 | 
	
		
			
				|  |  |  	bool bAlarm = false, bWarn = false; int alarm_value = show_val, alarm_refer; time_t alarm_time = show_time;
 | 
	
		
			
				|  |  |  	CTime ctAlarmTime = CTime(alarm_time / 1000);
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | -		if (eUpOrDown == eUpOrDownInfo::UOD_UP)//缩进
 | 
	
		
			
				|  |  | +		if (posi == eDaoChaPosi::DCP_INVERT2FIX)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			if (show_val > pConvertOverLimit->up_alarm_high_limit)
 | 
	
		
			
				|  |  |  			{
 | 
	
	
		
			
				|  | @@ -1017,7 +1017,7 @@ void CResistAlarmMng::JudgeAlarm(CResistAlarmMng* pService, CONVERT_RESIST_OVER_
 | 
	
		
			
				|  |  |  				alarm_refer = pConvertOverLimit->up_warn_high_limit;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		else if (eUpOrDown == eUpOrDownInfo::UOD_DOWN)
 | 
	
		
			
				|  |  | +		else if (posi == eDaoChaPosi::DCP_FIX2INVERT)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			if (show_val > pConvertOverLimit->dw_alarm_low_limit)
 | 
	
		
			
				|  |  |  			{
 | 
	
	
		
			
				|  | @@ -3592,51 +3592,25 @@ void CResistAlarmMng::ThreadProcMove(DWORD_PTR param)
 | 
	
		
			
				|  |  |  						//auto it_start2 = mapData[2]->find(it.tmStart * 1000);
 | 
	
		
			
				|  |  |  						//auto it_end2 = mapData[2]->find(it.tmEnd * 1000);
 | 
	
		
			
				|  |  |  						eDaoChaPosi posi = eDaoChaPosi::DCP_UNKNOWN;
 | 
	
		
			
				|  |  | -						if (it.bUpOrDown == eUpOrDownInfo::UOD_UP)
 | 
	
		
			
				|  |  | +						if (posi == eDaoChaPosi::DCP_FIX2INVERT)
 | 
	
		
			
				|  |  |  						{
 | 
	
		
			
				|  |  |  							if (pMompInfo->in_name.find("定扳反") != -1)
 | 
	
		
			
				|  |  |  							{
 | 
	
		
			
				|  |  |  								CResistAlarmMng::InsertToDBByMove(mo, mp, it.time, it.tmStart, it.tmEnd, it.val, it.fluctuation_val, i,
 | 
	
		
			
				|  |  |  									(uint8_t)eDaoChaPosi::DCP_FIX2INVERT, (uint8_t)ePowerName::PN_MOVE, fmt::format("{}:{}", pMompInfo->in_name, it.fluctuation_val));
 | 
	
		
			
				|  |  |  								posi = eDaoChaPosi::DCP_FIX2INVERT;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  								CMonitorObjectMng::Instance()->UpdateZZJEPOS(mo + "." + mp, DAOCHA_POSITION::MP_INVERT);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -								JudgeAlarm(pService, pConvertResistOverLimitInfo, it.time, it.fluctuation_val, posi, it.bUpOrDown, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | +								JudgeAlarm(pService, pConvertResistOverLimitInfo, it.time, it.fluctuation_val, posi, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  | -							else
 | 
	
		
			
				|  |  | -							{
 | 
	
		
			
				|  |  | -								CResistAlarmMng::InsertToDBByMove(mo, mp, it.time, it.tmStart, it.tmEnd, it.val, it.fluctuation_val, i,
 | 
	
		
			
				|  |  | -									(uint8_t)eDaoChaPosi::DCP_INVERT2FIX, (uint8_t)ePowerName::PN_MOVE, fmt::format("{}:{}", pMompInfo->in_name, it.fluctuation_val));
 | 
	
		
			
				|  |  | -								posi = eDaoChaPosi::DCP_INVERT2FIX;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -								CMonitorObjectMng::Instance()->UpdateZZJEPOS(mo + "." + mp, DAOCHA_POSITION::MP_FIX);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -								JudgeAlarm(pService, pConvertResistOverLimitInfo, it.time, it.fluctuation_val, posi, it.bUpOrDown, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | -							}
 | 
	
		
			
				|  |  |  						}
 | 
	
		
			
				|  |  | -						else
 | 
	
		
			
				|  |  | +						else if(posi == eDaoChaPosi::DCP_INVERT2FIX)
 | 
	
		
			
				|  |  |  						{
 | 
	
		
			
				|  |  | -							if (pMompInfo->out_name.find("定扳反") != -1)
 | 
	
		
			
				|  |  | -							{
 | 
	
		
			
				|  |  | -								CResistAlarmMng::InsertToDBByMove(mo, mp, it.time, it.tmStart, it.tmEnd, it.val, it.fluctuation_val, i,
 | 
	
		
			
				|  |  | -									(uint8_t)eDaoChaPosi::DCP_FIX2INVERT, (uint8_t)ePowerName::PN_MOVE, fmt::format("{}:{}", pMompInfo->out_name, it.fluctuation_val));
 | 
	
		
			
				|  |  | -								posi = eDaoChaPosi::DCP_FIX2INVERT;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -								CMonitorObjectMng::Instance()->UpdateZZJEPOS(mo + "." + mp, DAOCHA_POSITION::MP_INVERT);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -								JudgeAlarm(pService, pConvertResistOverLimitInfo, it.time, it.fluctuation_val, posi, it.bUpOrDown, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | -							}
 | 
	
		
			
				|  |  | -							else
 | 
	
		
			
				|  |  | -							{
 | 
	
		
			
				|  |  |  								CResistAlarmMng::InsertToDBByMove(mo, mp, it.time, it.tmStart, it.tmEnd, it.val, it.fluctuation_val, i,
 | 
	
		
			
				|  |  |  									(uint8_t)eDaoChaPosi::DCP_INVERT2FIX, (uint8_t)ePowerName::PN_MOVE, fmt::format("{}:{}", pMompInfo->out_name, it.fluctuation_val));
 | 
	
		
			
				|  |  |  								posi = eDaoChaPosi::DCP_INVERT2FIX;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  								CMonitorObjectMng::Instance()->UpdateZZJEPOS(mo + "." + mp, DAOCHA_POSITION::MP_FIX);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -								JudgeAlarm(pService, pConvertResistOverLimitInfo, it.time, it.fluctuation_val, posi, it.bUpOrDown, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | -							}
 | 
	
		
			
				|  |  | +								JudgeAlarm(pService, pConvertResistOverLimitInfo, it.time, it.fluctuation_val, posi, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  |  						}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  						SPDLOG_INFO("扳动判断数据{}.{} 315 上送", mo, mp);
 | 
	
	
		
			
				|  | @@ -3834,22 +3808,15 @@ void CResistAlarmMng::ThreadProcMoveFromDB(DWORD_PTR param)
 | 
	
		
			
				|  |  |  				   //更新状态
 | 
	
		
			
				|  |  |  				   CMonitorObjectMng::Instance()->UpdateZZJEPOS(string(mo) + "." + mp, DAOCHA_POSITION::MP_INVERT);
 | 
	
		
			
				|  |  |  				   SPDLOG_INFO("[MOVE]{}:{} 更新到反位", mo, mp);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -				   if (pMompInfo->out_name.find("定扳反") != -1)
 | 
	
		
			
				|  |  | -						JudgeAlarm(pService, pConvertResistOverLimitInfo, show_time_t, show_val, ePosi, eUpOrDownInfo::UOD_DOWN, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | -				   else if (pMompInfo->in_name.find("定扳反") != -1)
 | 
	
		
			
				|  |  | -					   JudgeAlarm(pService, pConvertResistOverLimitInfo, show_time_t, show_val, ePosi, eUpOrDownInfo::UOD_UP, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | +				   JudgeAlarm(pService, pConvertResistOverLimitInfo, show_time_t, show_val, ePosi,  mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | +				  
 | 
	
		
			
				|  |  |  			   }
 | 
	
		
			
				|  |  |  			   else if (ePosi == eDaoChaPosi::DCP_INVERT2FIX)
 | 
	
		
			
				|  |  |  			   {
 | 
	
		
			
				|  |  |  				   //更新状态
 | 
	
		
			
				|  |  |  				   CMonitorObjectMng::Instance()->UpdateZZJEPOS(string(mo) + "." + mp, DAOCHA_POSITION::MP_FIX);
 | 
	
		
			
				|  |  |  				   SPDLOG_INFO("[MOVE]{}:{} 更新到定位", mo, mp);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -				   if (pMompInfo->out_name.find("反扳定") != -1)
 | 
	
		
			
				|  |  | -					   JudgeAlarm(pService, pConvertResistOverLimitInfo, show_time_t, show_val, ePosi, eUpOrDownInfo::UOD_DOWN, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | -				   else if (pMompInfo->in_name.find("反扳定") != -1)
 | 
	
		
			
				|  |  | -					   JudgeAlarm(pService, pConvertResistOverLimitInfo, show_time_t, show_val, ePosi, eUpOrDownInfo::UOD_UP, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  | +				   JudgeAlarm(pService, pConvertResistOverLimitInfo, show_time_t, show_val, ePosi, mo, mp, pMompInfo->zzjno);
 | 
	
		
			
				|  |  |  			   }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				//TODO发送315曲线
 | 
	
	
		
			
				|  | @@ -4552,7 +4519,7 @@ BOOL CResistAlarmMng::LoadUnAck()
 | 
	
		
			
				|  |  |  	//只加载31天内非天窗期的报警
 | 
	
		
			
				|  |  |  	CString sql = "  SELECT [ID],a.[mo],a.[mp],[no],[type],[occur_time],[level],[desc],[suggest],[val],[event_id],[rel_id],[posi],[loworhigh],[referval],[recovery_time],[sunroof],zzjno,[ack_result] FROM [rm_alarm] as A \
 | 
	
		
			
				|  |  |  		LEFT JOIN(SELECT mo, mp, zzjno FROM rm_map) AS B ON a.mo = b.mo and a.mp = b.mp \
 | 
	
		
			
				|  |  | -		WHERE DATEADD(dd, -31, getdate()) < occur_time  and sunroof =  0 and (ack_result = 0 OR [recovery_time] < '2000') \
 | 
	
		
			
				|  |  | +		WHERE DATEADD(dd, -31, getdate()) < occur_time  and sunroof =  0 and type !=32  and (ack_result = 0 OR [recovery_time] < '2000') \
 | 
	
		
			
				|  |  |  		ORDER BY occur_time ASC; ";
 | 
	
		
			
				|  |  |  	COdbcStatement stmt;
 | 
	
		
			
				|  |  |  	if (!CDBConnectPool::Instance()->DBQuery(stmt, sql))
 |