⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alarmform.cpp

📁 MDF监控源码2
💻 CPP
📖 第 1 页 / 共 2 页
字号:

//##ModelId=465286A5012A
void CAlarmForm::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	// TODO: 在此处添加消息处理程序代码
	// 不为绘图消息调用 CFormView::OnPaint()
	if (m_tabAlarm.GetCurSel() != 3)
		SetAlarmPic(0);

}

//##ModelId=465286A50138
void CAlarmForm::OnDraw(CDC* /*pDC*/)
{
	//SetAlarmPic(0);
	//this->Invalidate();
	// TODO: 在此添加专用代码和/或调用基类
}


// 读取告警历史记录
//##ModelId=465286A50177
int CAlarmForm::ReadHistory(CString strSql)
{
	_variant_t var;
	_RecordsetPtr pRsPtr ;
	CString strValue,strTip,strItem;
	int iValue,iIndex,iSubItem,iPageSize,iResult,iState,iProcess;
	double dValue;
	iPageSize = 100;
	dValue = 0;
	if (strSql.GetLength() <= 0)
		strSql = "Select  * From ALARM_VIEW_WARNTOTAL  Order By AStartTime Desc";
	
	iSubItem =1 ;
	pRsPtr.CreateInstance(__uuidof(Recordset)); 
	//pRsPtr->PageSize = iPageSize;
	//if(pRsPtr->State == 1 )
	//	pRsPtr->Close();

	//strSQL.Format("Select SVDID,SVSpotSort From CMTSVModulePort Where SVMID = %d and SVMPSort = %d",port->SVMID,port->SVMPSort);
	try
	{
		iResult = p_adodb->ReadDB(strSql,pRsPtr,strTip);
		if (iResult == 0)
		{
			m_LstHistory.DeleteAllItems();
			iSubItem = iIndex = 1;
			while (!pRsPtr->adoEOF)
			{
				iSubItem =1 ;
				p_adodb->GetFieldValue("FState",pRsPtr,iProcess);
				p_adodb->GetFieldValue("AlarmLevel",pRsPtr,iState);
				strItem.Format("%d",m_LstHistory.GetItemCount() + 1);
				iIndex = m_LstHistory.InsertItem(m_LstHistory.GetItemCount() + 1,strItem.GetBuffer(),iState - iProcess);
				
				p_adodb->GetFieldValue("SVMTrueName",pRsPtr,strValue);
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);
				p_adodb->GetFieldValue("SVMPSort",pRsPtr,strValue);
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);
				p_adodb->GetFieldValue("AlarmLevel",pRsPtr,iValue);
				strValue.Format("%d",iValue);
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);
				p_adodb->GetFieldValue("AStartTime",pRsPtr,strValue);
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);
				p_adodb->GetFieldValue("AEndTime",pRsPtr,strValue);
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);
				p_adodb->GetFieldValue("AlarmValue",pRsPtr,dValue);
				strValue.Format("%5.2f",dValue);
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);

				p_adodb->GetFieldValue("AlarmState",pRsPtr,iValue);
				if (iValue == 0)
					strValue = "告警";
				else
					strValue = "销警";
				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);
				if(iState == 0)
					strValue = _T("未处理");
				else if (iState == 1)
					strValue = _T("处理中");
				else if (iState == 2)
					strValue = _T("已处理");

				m_LstHistory.SetItemText(iIndex,iSubItem++,strValue);

				//iIndex++;
				pRsPtr->MoveNext();
			}
			pRsPtr->Close();
		}
	}catch(_com_error e )
	{
		TRACE0(e.Description);
	}

	return 0;
}

// 读取派障单
//##ModelId=465286A50186
int CAlarmForm::ReadFault(CString strSql)
{
	_variant_t var;
	_RecordsetPtr pRsPtr ;
	CString strValue,strTip,strItem;
	int iIndex,iSubItem,iPageSize,iResult,iState;
	double dValue;
	iPageSize = 100;
	dValue = 0;
	if (strSql.GetLength() <= 0)
		strSql = "Select  * From VW_FAULT ";
	
	iSubItem =1 ;
	pRsPtr.CreateInstance(__uuidof(Recordset)); 
	//pRsPtr->PageSize = iPageSize;
	//if(pRsPtr->State == 1 )
	//	pRsPtr->Close();

	//strSQL.Format("Select SVDID,SVSpotSort From CMTSVModulePort Where SVMID = %d and SVMPSort = %d",port->SVMID,port->SVMPSort);
	iResult = p_adodb->ReadDB(strSql,pRsPtr,strTip);
	if (iResult == 0)
	{
		m_listFacult.DeleteAllItems();
		iSubItem = iIndex = 1;
		while (!pRsPtr->adoEOF)
		{
			iSubItem =1 ;
			p_adodb->GetFieldValue("FState",pRsPtr,iState);
			strItem.Format("%d",m_listFacult.GetItemCount() + 1);
			iIndex = m_listFacult.InsertItem(m_listFacult.GetItemCount() + 1,strItem.GetBuffer(),iState);
			
			p_adodb->GetFieldValue("SVDTrueName",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);
			p_adodb->GetFieldValue("SVSpotSort",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);

			p_adodb->GetFieldValue("TrueName",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);

			p_adodb->GetFieldValue("Phone",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);
			p_adodb->GetFieldValue("FCommand",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);

			p_adodb->GetFieldValue("FStartTime",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);
			p_adodb->GetFieldValue("FEndTime",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);
			p_adodb->GetFieldValue("FFetchTime",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);
			p_adodb->GetFieldValue("FFinishTime",pRsPtr,strValue);
			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);

			if(iState == 0)
				strValue = _T("未处理");
			else if (iState == 1)
				strValue = _T("处理中");
			else if (iState == 2)
				strValue = _T("已处理");

			m_listFacult.SetItemText(iIndex,iSubItem++,strValue);

			//iIndex++;
			pRsPtr->MoveNext();
		}
		pRsPtr->Close();
	}

	

	return 0;
}

//##ModelId=465286A501A9
int CAlarmForm::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	//if (!m_wndToolBar.CreateEx(this) ||
	//	!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	//{
	//	TRACE0("未能创建工具栏\n");
	//	return -1;      // 未能创建
	//}
	//m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
	//	CBRS_TOOLTIPS | CBRS_FLYBY);


	if (CFormView::OnCreate(lpCreateStruct) == -1)
		return -1;


	return 0;
}

//##ModelId=465286A501B5
void CAlarmForm::OnStnClickedStcalarm()
{
	// TODO: 在此添加控件通知处理程序代码
}

//##ModelId=465286A501C5
void CAlarmForm::OnPopRefresh()
{
	// TODO: 在此添加命令处理程序代码
	CString sSql;
	ReadHistory(sSql);

}

//##ModelId=465286A501C7
void CAlarmForm::OnNMRclickListhistory(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO: 在此添加控件通知处理程序代码
	//Mouse right click
		CMenu menu; 
		menu.LoadMenu(IDR_MNUPOP); 
		CPoint point; 
		GetCursorPos(&point); 
		// 显示图标菜单 
		menu.GetSubMenu(0)->TrackPopupMenu( 
			TPM_LEFTBUTTON|TPM_RIGHTBUTTON,  
			point.x, point.y, this, NULL);

	*pResult = 0;
}

//##ModelId=465286A501D5
void CAlarmForm::OnPopSmall()
{
	// TODO: 在此添加命令处理程序代码
	DWORD dwStyle = LVS_SMALLICON;
	int iTab = m_tabAlarm.GetCurSel();
	switch(iTab)
	{
	case 0:
		m_listAlarm.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 1:
		m_LstHistory.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 2:
		m_listFacult.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	}

}

//##ModelId=465286A501E4
void CAlarmForm::OnPopDetail()
{
	DWORD dwStyle = LVS_REPORT;
	int iTab = m_tabAlarm.GetCurSel();
	switch(iTab)
	{
	case 0:
		m_listAlarm.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 1:
		m_LstHistory.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 2:
		m_listFacult.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	}

	// TODO: 在此添加命令处理程序代码
}

//##ModelId=465286A501E6
void CAlarmForm::OnPopLarge()
{
	DWORD dwStyle = LVS_ICON;
	int iTab = m_tabAlarm.GetCurSel();
	switch(iTab)
	{
	case 0:
		m_listAlarm.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 1:
		m_LstHistory.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 2:
		m_listFacult.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	}

}

//##ModelId=465286A501E8
void CAlarmForm::OnPopList()
{
	DWORD dwStyle = LVS_LIST;
	int iTab = m_tabAlarm.GetCurSel();
	switch(iTab)
	{
	case 0:
		m_listAlarm.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 1:
		m_LstHistory.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	case 2:
		m_listFacult.ModifyStyle(LVS_TYPEMASK, dwStyle);
		break;
	}
}

//##ModelId=465286A501F5
void CAlarmForm::OnNMRclickListfacult(NMHDR *pNMHDR, LRESULT *pResult)
{
	//Mouse right click
		CMenu menu; 
		menu.LoadMenu(IDR_MNUPOP); 
		CPoint point; 
		GetCursorPos(&point); 
		// 显示图标菜单 
		menu.GetSubMenu(0)->TrackPopupMenu( 
			TPM_LEFTBUTTON|TPM_RIGHTBUTTON,  
			point.x, point.y, this, NULL);
	*pResult = 0;
}

//##ModelId=465286A50204
void CAlarmForm::OnNMRclickListalarm(NMHDR *pNMHDR, LRESULT *pResult)
{
	//Mouse right click
		CMenu menu; 
		menu.LoadMenu(IDR_MNUPOP); 
		CPoint point; 
		GetCursorPos(&point); 
		// 显示图标菜单 
		menu.GetSubMenu(0)->TrackPopupMenu( 
			TPM_LEFTBUTTON|TPM_RIGHTBUTTON,  
			point.x, point.y, this, NULL);
	*pResult = 0;
}

//##ModelId=465286A50215
void CAlarmForm::OnLvnItemchangedListonline(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
}

//##ModelId=465286A50237
int CAlarmForm::ReadPortStatus(CString strSql)
{

	_variant_t var;
	_RecordsetPtr pRsPtr ;
	CString strValue,strTip,strItem,strValue1;
	int iValue,iIndex,iSubItem,iPageSize,iResult;
	double dValue;
	iPageSize = 100;
	dValue = 0;
	if (strSql.GetLength() <= 0)
		strSql = "Select  * From VW_ModulePortNote Order By SVMPSort";
	iSubItem =1 ;
	pRsPtr.CreateInstance(__uuidof(Recordset)); 


	//strSQL.Format("Select SVDID,SVSpotSort From CMTSVModulePort Where SVMID = %d and SVMPSort = %d",port->SVMID,port->SVMPSort);
	iResult = p_adodb->ReadDB(strSql,pRsPtr,strTip);
	if (iResult == 0)
	{
		m_LstHistory.DeleteAllItems();
		iSubItem = iIndex = 1;
		while (!pRsPtr->adoEOF)
		{
			iSubItem =1 ;

			
			p_adodb->GetFieldValue("SVMTrueName",pRsPtr,strValue);
			p_adodb->GetFieldValue("SVMPSort",pRsPtr,iValue);
			strItem.Format("%s(%d)",strValue,iValue);
			iIndex = m_listOnline.InsertItem(m_listOnline.GetItemCount() + 1,strItem.GetBuffer(),0);

			m_listOnline.SetItemText(iIndex,iSubItem++,strValue);
			strValue1.Format("%d",iValue);
			m_listOnline.SetItemText(iIndex,iSubItem++,strValue1);
			strValue1= "0";
			m_listOnline.SetItemText(iIndex,iSubItem++,strValue1);
			

			//iIndex++;
			pRsPtr->MoveNext();
		}
	}
	pRsPtr->Close();
	return 0;
}

// 绘制端口状态
//##ModelId=465286A50243
int CAlarmForm::SetPortStatus(int iMoudleID, int iPortID)
{
	
	return 0;
}

// 设置端口状态
//##ModelId=465286A50252
int CAlarmForm::SetPortState(CString strName,int iPort, int iState)
{
	return 0;
}

//##ModelId=465286A50271
int CAlarmForm::ShowPortState(CString strName)
{
	//CString strItem;
	//int iIndex,iSubItem;
	//CEquipmentPort m_port;
	//if (theApp.m_pMonitor)
	//{
	//	m_PortList.Copy(theApp.m_pMonitor->m_EquipState);
	//	if (m_PortList.GetCount() == 0)
	//	{
	//		m_listOnline.DeleteAllItems();
	//		return -1;
	//	}
	//	
	//	for (int i =0 ;i<m_PortList.GetCount() - 1;i++)
	//	{
	//		iSubItem =1 ;
	//		m_port = m_PortList.GetAt(i);
	//		if (strName.Compare(strName.GetBuffer()) == 0)
	//		{
	//			strItem.Format("%s(%d)",strName,m_port.SVMPSort);
	//			iIndex = m_listOnline.InsertItem(m_listOnline.GetItemCount() + 1,strItem.GetBuffer(),m_port.onLine);
	//		}
	//	
	//	}
	//
	//}


	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -