LAPTOP-SNT8I5JK\Boounion
2025-05-10 1e8e3473cb124f9e51dfc1ca35e5cb13b1668bdc
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;
        }
    }
    */
}
// 添加报警信息
@@ -219,6 +221,17 @@
    
        return result;
    #else
        for (AlarmDataMap::const_iterator it = m_mapCache.begin(); it != m_mapCache.end(); ++it) {
            const AlarmData& alarm = it->second;
            if (alarm.nId == alarmData.nId &&
                alarm.nDeviceId == alarmData.nDeviceId &&
                alarm.nUnitId == alarmData.nUnitId) {
                alarmEventId = it->first;
                return false;
            }
        }
        // 构建插入查询并使用 RETURNING 获取插入后的 alarm_event_id
        std::ostringstream query;
        query << "INSERT INTO alarms (id, severity_level, device_id, unit_id, description, start_time, end_time) "