From b17d444a0da9cabf775f90be04d14fac113bb9fb Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 13 九月 2025 17:56:36 +0800
Subject: [PATCH] 1.优化代码; 2.增加CControlJobManagerDlg对话框, 准备处理批任务。

---
 SourceCode/Bond/Servo/ProcessJob.cpp |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/SourceCode/Bond/Servo/ProcessJob.cpp b/SourceCode/Bond/Servo/ProcessJob.cpp
index 77dea9a..57c771c 100644
--- a/SourceCode/Bond/Servo/ProcessJob.cpp
+++ b/SourceCode/Bond/Servo/ProcessJob.cpp
@@ -7,9 +7,12 @@
 
 namespace SERVO {
     static inline std::string trimCopy(std::string s) {
-        auto notspace = [](int ch) { return !std::isspace(ch); };
-        s.erase(s.begin(), std::find_if(s.begin(), s.end(), notspace));
-        s.erase(std::find_if(s.rbegin(), s.rend(), notspace).base(), s.end());
+        s.erase(s.begin(),
+            std::find_if(s.begin(), s.end(),
+                [](char c) { return !std::isspace(static_cast<unsigned char>(c)); }));
+        s.erase(std::find_if(s.rbegin(), s.rend(),
+            [](char c) { return !std::isspace(static_cast<unsigned char>(c)); }).base(),
+            s.end());
         return s;
     }
 
@@ -61,7 +64,7 @@
         m_pauseEvents.erase(std::unique(m_pauseEvents.begin(), m_pauseEvents.end()), m_pauseEvents.end());
     }
 
-    const std::vector<CProcessJob::ValidationIssue>& CProcessJob::issues()
+    const std::vector<CProcessJob::ValidationIssue>& CProcessJob::issues() const
     {
         return m_issues;
     }
@@ -278,7 +281,7 @@
 
         // 配方
         uint8_t recipeType = static_cast<uint8_t>(m_recipeMethod);
-        write_pod(os, m_recipeMethod);
+        write_pod(os, recipeType);
         write_string(os, m_recipeSpec);
 
         // 物料(多 Carrier & Slot)
@@ -381,4 +384,53 @@
 
         return true;
     }
+
+    std::string CProcessJob::getStateText()
+    {
+        switch (m_state)
+        {
+        case SERVO::PJState::NoState:
+            return "NoState";
+            break;
+        case SERVO::PJState::Queued:
+            return "Queued";
+            break;
+        case SERVO::PJState::SettingUp:
+            return "SettingUp";
+            break;
+        case SERVO::PJState::InProcess:
+            return "InProcess";
+            break;
+        case SERVO::PJState::Paused:
+            return "Paused";
+            break;
+        case SERVO::PJState::Aborting:
+            return "Aborting";
+            break;
+        case SERVO::PJState::Completed:
+            return "Completed";
+            break;
+        case SERVO::PJState::Aborted:
+            return "Aborted";
+            break;
+        case SERVO::PJState::Failed:
+            return "Failed";
+            break;
+        default:
+            break;
+        }
+
+        return "";
+    }
+
+    CarrierSlotInfo* CProcessJob::getCarrier(const  std::string& strId)
+    {
+        for (auto& item : m_carriers) {
+            if (item.carrierId.compare(strId) == 0) {
+                return &item;
+            }
+        }
+
+        return nullptr;
+    }
 }

--
Gitblit v1.9.3