📄 alarmform.cpp
字号:
//##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 + -