| | |
| | | if (pListCtrl != nullptr) { |
| | | InsertAlarmData(pListCtrl, alarmData); |
| | | } |
| | | |
| | | // 添加新的 Alarm 数据 |
| | | int alarmEventId = 0; |
| | | bool result = alarmManager.addAlarm(alarmData, alarmEventId); |
| | | if (result) { |
| | | LOGI("<CAlarmDlg> Alarm added successfully!"); |
| | | } |
| | | else { |
| | | LOGI("<CAlarmDlg> Failed to add alarm."); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | GetClientRect(&rcClient); |
| | | |
| | | pItem = GetDlgItem(IDC_LIST_ALARM); |
| | | pItem->MoveWindow(12, 52, rcClient.Width() - 24, rcClient.Height() - 64); |
| | | pItem->MoveWindow(12, 58, rcClient.Width() - 24, rcClient.Height() - 64); |
| | | } |
| | | |
| | | void CAlarmDlg::LoadAlarms() |
| | |
| | | unit_id TEXT NOT NULL, |
| | | description TEXT NOT NULL, |
| | | start_time DATETIME NOT NULL, |
| | | end_time DATETIME NOT NULL, |
| | | end_time DATETIME, |
| | | FOREIGN KEY (device_id) REFERENCES devices(device_id), |
| | | FOREIGN KEY (unit_id) REFERENCES units(unit_id) |
| | | ) |
| | |
| | | |
| | | // 插入单元数据 |
| | | for (int i = 1; i <= 3; ++i) { |
| | | for (int j = 1; j <= 3; ++j) { |
| | | for (int j = 0; j <= 3; ++j) { |
| | | int unitId = j; |
| | | std::string deviceId = std::to_string(i); |
| | | std::string unitName = "Unit" + std::to_string(j); |
| | |
| | | } |
| | | } |
| | | |
| | | /* |
| | | // 初始化随机数生成器 |
| | | std::random_device rd; |
| | | std::mt19937 gen(rd()); |
| | |
| | | std::cerr << "Failed to insert alarm data." << std::endl; |
| | | } |
| | | } |
| | | */ |
| | | } |
| | | |
| | | // 添加报警信息 |
| | |
| | | // 初始化添加各子设备 |
| | | addEFEM(listener); |
| | | |
| | | |
| | | /* |
| | | { |
| | | CBonder* pBonder = new CBonder(); |
| | | pBonder->setName("Bonder 1"); |
| | |
| | | addEquipment(pBonder); |
| | | LOGE("已添加“Bonder 1”."); |
| | | } |
| | | |
| | | */ |
| | | |
| | | // 定时器 |
| | | g_pMaster = this; |
| | |
| | | delete pStep; |
| | | } |
| | | } |
| | | |
| | | |
| | | pEquipment->init(); |
| | | LOGE("已添加“EFEM(ROBOT)”."); |
| | |
| | | } |
| | | int state = pEqAlarmStep->getAlarmState(); |
| | | if (state == 1) { |
| | | LOGE("<CAlarmDlg> 发生警告"); |
| | | std::string startTime = CToolUnits::timeToString2(CToolUnits::getTimestamp()); |
| | | std::string endTime = "2000-01-01 00:00"; |
| | | |
| | | AlarmData alarmData; |
| | | alarmData.nId = pEqAlarmStep->getAlarmId(); |
| | | alarmData.nSeverityLevel = pEqAlarmStep->getAlarmLevel(); |
| | |
| | | alarmData.nUnitId = pEqAlarmStep->getUnitId(); |
| | | alarmData.strDeviceName = alarmManager.getDeviceNameById(alarmData.nDeviceId); |
| | | alarmData.strUnitName = alarmManager.getUnitNameById(alarmData.nDeviceId, alarmData.nUnitId); |
| | | alarmData.strStartTime = startTime; |
| | | alarmData.strEndTime = endTime; |
| | | alarmData.strStartTime = CToolUnits::timeToString2(CToolUnits::getTimestamp()); |
| | | alarmData.strEndTime = ""; |
| | | |
| | | const AlarmInfo* alarmInfo = alarmManager.getAlarmInfoByID(alarmData.nId); |
| | | alarmData.strDescription = alarmInfo != nullptr ? alarmInfo->strAlarmText : ""; |
| | |
| | | int nAlarmEventId = 0; |
| | | bool result = alarmManager.addAlarm(alarmData, nAlarmEventId); |
| | | if (result) { |
| | | LOGI("<CAlarmDlg> Alarm added successfully!"); |
| | | LOGI("<CModel> Alarm added successfully!"); |
| | | } |
| | | else { |
| | | LOGE("<CAlarmDlg> Failed to add alarm."); |
| | | LOGE("<CModel> Failed to add alarm."); |
| | | } |
| | | } |
| | | else { |
| | | LOGE("<CAlarmDlg> i消除警告"); |
| | | alarmManager.clearAlarmByAttributes(pEqAlarmStep->getAlarmId(), |
| | | pEqAlarmStep->getEquipment()->getID(), |
| | | pEqAlarmStep->getUnitId(), |
| | |
| | | AfxMessageBox(errorMsg, MB_ICONERROR); |
| | | return FALSE; |
| | | } |
| | | //AlarmManager::getInstance().insertMockData(); |
| | | AlarmManager::getInstance().insertMockData(); |
| | | |
| | | |
| | | // 初始化SECS运行设置管理库 |
| | |
| | | |
| | | } |
| | | |
| | | void CServoDlg::OnBnClickedButtonAlarm() |
| | | { |
| | | m_bShowAlarmWnd = !m_bShowAlarmWnd; |
| | | |
| | | // 如果要显示报警窗口,则隐藏日志窗口 |
| | | if (m_bShowLogWnd) { |
| | | m_bShowLogWnd = false; |
| | | if (m_pLogDlg != nullptr) { |
| | | m_pLogDlg->ShowWindow(SW_HIDE); |
| | | UpdateLogBtn(); |
| | | } |
| | | } |
| | | |
| | | if (m_pAlarmDlg == nullptr) { |
| | | m_pAlarmDlg = new CAlarmDlg(); |
| | | m_pAlarmDlg->Create(IDD_DIALOG_ALARM, this); |
| | | |
| | | CRect rcWnd; |
| | | GetWindowRect(&rcWnd); |
| | | m_pAlarmDlg->MoveWindow(rcWnd.left, rcWnd.bottom - 8, rcWnd.Width(), 200); |
| | | } |
| | | ASSERT(m_pAlarmDlg); |
| | | m_pAlarmDlg->ShowWindow(m_bShowAlarmWnd ? SW_SHOW : SW_HIDE); |
| | | |
| | | UpdateAlarmBtn(); |
| | | } |
| | | |
| | | void CServoDlg::OnBnClickedButtonLog() |
| | | { |
| | | m_bShowLogWnd = !m_bShowLogWnd; |
| | |
| | | y += rcItem.Height(); |
| | | y += 8; |
| | | |
| | | x = 8; |
| | | x = rcClient.right - 8; |
| | | pItem = GetDlgItem(IDC_BUTTON_LOG); |
| | | pItem->GetClientRect(&rcItem); |
| | | x -= rcItem.Width(); |
| | | pItem->MoveWindow(x, rcClient.bottom - 8 - rcItem.Height(), rcItem.Width(), rcItem.Height()); |
| | | x -= 8; |
| | | |
| | | x = 20 + rcItem.Width(); |
| | | pItem = GetDlgItem(IDC_BUTTON_ALARM); |
| | | pItem->GetClientRect(&rcItem); |
| | | x -= rcItem.Width(); |
| | | pItem->MoveWindow(x, rcClient.bottom - 8 - rcItem.Height(), rcItem.Width(), rcItem.Height()); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | return CDialogEx::OnEraseBkgnd(pDC); |
| | | } |
| | | |
| | | |
| | | void CServoDlg::OnBnClickedButtonAlarm() |
| | | { |
| | | // TODO: 在此添加控件通知处理程序代码 |
| | | CAlarmDlg dlg; |
| | | dlg.DoModal(); |
| | | } |
| | | |
| | | void CServoDlg::OnGraphItemClicked(NMHDR* pNMHDR, LRESULT* pResult) |