LAPTOP-SNT8I5JK\Boounion
2025-03-10 469bf4af5180cdee2808b595e2d48d6266992235
1.调整报警窗口
已修改7个文件
79 ■■■■ 文件已修改
SourceCode/Bond/Servo/AlarmDlg.cpp 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/AlarmManager.cpp 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMaster.cpp 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Model.cpp 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.rc 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/ServoDlg.cpp 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/AlarmDlg.cpp
@@ -81,17 +81,7 @@
                        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.");
                }
            }
                }
            }
@@ -116,7 +106,7 @@
    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()
SourceCode/Bond/Servo/AlarmManager.cpp
@@ -89,7 +89,7 @@
            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)
        )
@@ -127,7 +127,7 @@
    // 插入单元数据
    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);
@@ -144,6 +144,7 @@
        }
    }
    /*
    // 初始化随机数生成器
    std::random_device rd;
    std::mt19937 gen(rd());
@@ -181,6 +182,7 @@
            std::cerr << "Failed to insert alarm data." << std::endl;
        }
    }
    */
}
// 添加报警信息
SourceCode/Bond/Servo/CMaster.cpp
@@ -74,7 +74,7 @@
        // 初始化添加各子设备
        addEFEM(listener);
        /*
        {
            CBonder* pBonder = new CBonder();
            pBonder->setName("Bonder 1");
@@ -84,7 +84,7 @@
            addEquipment(pBonder);
            LOGE("已添加“Bonder 1”.");
        }
        */
        // 定时器
        g_pMaster = this;
@@ -244,7 +244,6 @@
                delete pStep;
            }
        }
        pEquipment->init();
        LOGE("已添加“EFEM(ROBOT)”.");
SourceCode/Bond/Servo/Model.cpp
@@ -124,10 +124,6 @@
                }
                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();
@@ -135,8 +131,8 @@
                    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 : "";
@@ -144,14 +140,13 @@
                    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(),
SourceCode/Bond/Servo/Servo.cpp
@@ -119,7 +119,7 @@
        AfxMessageBox(errorMsg, MB_ICONERROR);
        return FALSE;
    }
    //AlarmManager::getInstance().insertMockData();
    AlarmManager::getInstance().insertMockData();
    // 初始化SECS运行设置管理库
SourceCode/Bond/Servo/Servo.rc
Binary files differ
SourceCode/Bond/Servo/ServoDlg.cpp
@@ -626,6 +626,33 @@
}
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;
@@ -848,14 +875,16 @@
    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());
}
@@ -945,14 +974,6 @@
    }
    
    return CDialogEx::OnEraseBkgnd(pDC);
}
void CServoDlg::OnBnClickedButtonAlarm()
{
    // TODO: 在此添加控件通知处理程序代码
    CAlarmDlg dlg;
    dlg.DoModal();
}
void CServoDlg::OnGraphItemClicked(NMHDR* pNMHDR, LRESULT* pResult)