LAPTOP-SNT8I5JK\Boounion
2025-09-04 1efb832676e8ad27e7a495dba6ffc19479e0c76f
SourceCode/Bond/Servo/RecipeManager.h
@@ -6,13 +6,17 @@
#include <mutex>
#include <unordered_map>
#include "Database.h"
#include "CParam.h"
// 单个设备配方映射信息
struct DeviceRecipe {
    int nDeviceID;               // 设备ID
    int nRecipeID;               // 该设备对应的子配方ID
    std::string strPPID;         // 配方ID(主键)
    int nRecipeID;               // 子配方ID
   std::string strRecipeName;   // 子配方名称
    std::string strDeviceName;   // 设备名称 
    std::vector<uint8_t> paramsRawData;     // 配方原始数据
    std::vector<CParam*> m_params;         // 出站时记录参数
};
// 配方信息
@@ -58,6 +62,12 @@
    // 查询所有配方
    std::vector<RecipeInfo> getAllRecipes();
   // 根据 PPID 或描述查询配方
    std::vector<RecipeInfo> getRecipesByKeyword(const std::string& keyword);
   // 获取所有 PPID
    std::vector<std::string> getAllPPID() const;
    // 按 PPID 查询配方
    RecipeInfo getRecipeByPPID(const std::string& ppid);
@@ -73,6 +83,12 @@
    // 更新指定 PPID 的配方
    bool updateRecipe(const RecipeInfo& recipe);
   // 更新 PPID(通过旧 PPID 和新 PPID)
    bool updatePPID(const std::string& oldPPID, const std::string& newPPID);
   // 更新配方描述(通过 PPID)
    bool updateDescription(const std::string& ppid, const std::string& newDescription);
   // 更新设备配方ID(通过 PPID 和设备ID)
    bool updateDeviceRecipeIDByID(const std::string& ppid, int nDeviceID, int nNewRecipeID);