From 331f447bb0e5eccf0b3161ab287c1372b14b8480 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 08 八月 2025 11:53:58 +0800
Subject: [PATCH] 1.增加千传计数,保存计数,重启软件时恢复; 2.千传测试模式,打印相关日志,方便后期提取,用于统计; 3.千传模式时烘烤两腔体都要进入; 4.千传模式时,Fliper到Bonder修改为用手臂2取料; 5.修复千传模式不计运行时的问题; 6.千传模式,最后收料强制放入第一层; 6.修复Buf, 当任务未生成(在符合条件后仍有1秒间隙)而机器单元发送FetchOutJob时,数据检验失败的问题,增加Sleep, 缩小间隙;
---
SourceCode/Bond/Servo/RecipeManager.cpp | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/RecipeManager.cpp b/SourceCode/Bond/Servo/RecipeManager.cpp
index 465c1af..e0a186b 100644
--- a/SourceCode/Bond/Servo/RecipeManager.cpp
+++ b/SourceCode/Bond/Servo/RecipeManager.cpp
@@ -220,7 +220,6 @@
for (const auto& dev : devs) {
DeviceRecipe dr;
- dr.strPPID = info.strPPID;
try {
dr.nDeviceID = std::stoi(dev[0]);
dr.strDeviceName = dev[1];
@@ -235,6 +234,29 @@
recipes.push_back(info);
}
+ return recipes;
+}
+
+std::vector<RecipeInfo> RecipeManager::getRecipesByKeyword(const std::string& keyword) {
+ std::vector<RecipeInfo> recipes;
+ if (!m_pDB || keyword.empty()) {
+ return recipes;
+ }
+
+ std::ostringstream query;
+ query << "SELECT ppid, description, create_time FROM recipes "
+ << "WHERE ppid LIKE '%" << keyword << "%' OR description LIKE '%" << keyword << "%';";
+
+ auto rows = m_pDB->fetchResults(query.str());
+ for (const auto& row : rows) {
+ if (row.size() >= 3) {
+ RecipeInfo info;
+ info.strPPID = row[0];
+ info.strDescription = row[1];
+ info.strCreateTime = row[2];
+ recipes.push_back(info);
+ }
+ }
return recipes;
}
@@ -271,7 +293,6 @@
auto devs = m_pDB->fetchResults("SELECT device_id, device_name, recipe_id FROM recipe_devices WHERE ppid = '" + ppid + "';");
for (const auto& dev : devs) {
DeviceRecipe dr;
- dr.strPPID = ppid;
try {
dr.nDeviceID = std::stoi(dev[0]);
dr.strDeviceName = dev[1];
@@ -425,8 +446,8 @@
recipe.strDescription = "Main Board Burn-in";
recipe.vecDeviceList = {
- {1, 101, "P1001","Burner A"},
- {2, 102, "P1001", "Burner B"}
+ {1, 101, "Burner A"},
+ {2, 102, "Burner B"}
};
addRecipe(recipe);
@@ -463,7 +484,6 @@
std::getline(ss, description, ',');
std::getline(ss, createTime, ',');
- dev.strPPID = ppid;
auto& recipe = recipeMap[ppid];
recipe.strPPID = ppid;
recipe.strDescription = description;
--
Gitblit v1.9.3