From 83f2a98df3e60f7408f68fae7a1be8278968ee55 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期一, 10 十一月 2025 11:24:12 +0800
Subject: [PATCH] 1.绑定玻璃SV数据修正;

---
 SourceCode/Bond/Servo/ProcessJob.cpp |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/ProcessJob.cpp b/SourceCode/Bond/Servo/ProcessJob.cpp
index 57c771c..184b298 100644
--- a/SourceCode/Bond/Servo/ProcessJob.cpp
+++ b/SourceCode/Bond/Servo/ProcessJob.cpp
@@ -27,6 +27,12 @@
         clampString(m_pjId, MAX_ID_LEN);
     }
 
+    void CProcessJob::setId(std::string& id)
+    {
+        m_pjId = trimCopy(id);
+        clampString(m_pjId, MAX_ID_LEN);
+    }
+
     void CProcessJob::setParentCjId(std::string cjId) {
         m_parentCjId = trimCopy(cjId);
         clampString(m_parentCjId, MAX_ID_LEN);
@@ -180,9 +186,11 @@
         return true;
     }
 
-    bool CProcessJob::abort() {
+    bool CProcessJob::abort(std::string reason) {
         if (m_state == PJState::Completed || m_state == PJState::Aborted || m_state == PJState::Failed)
             return false;
+        m_failReason = trimCopy(reason);
+        clampString(m_failReason, 128);
         m_state = PJState::Aborted;
         markEnd();
         return true;
@@ -267,6 +275,31 @@
             cs.slots = std::move(slots);
             m_carriers.emplace_back(std::move(cs));
         }
+    }
+
+    bool CProcessJob::setCarrierSlotsAndContexts(std::string carrierId, std::vector<uint8_t> slots, std::vector<void*> contexts)
+    {
+        for (auto& c : m_carriers) {
+            if (c.carrierId.compare(carrierId) == 0) {
+                c.slots = std::move(slots);
+                c.contexts = std::move(contexts);
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    bool CProcessJob::setCarrierContexts(std::string carrierId, std::vector<void*> contexts)
+    {
+        for (auto& c : m_carriers) {
+            if (c.carrierId.compare(carrierId) == 0) {
+                c.contexts = std::move(contexts);
+                return true;
+            }
+        }
+
+        return false;
     }
 
     // --------- 核心:serialize/deserialize ---------
@@ -433,4 +466,44 @@
 
         return nullptr;
     }
+
+    void CProcessJob::setLotId(std::string strLotId)
+    {
+        m_strLotId = strLotId;
+    }
+
+    std::string& CProcessJob::getLotId()
+    {
+        return m_strLotId;
+    }
+
+    void CProcessJob::setProductId(std::string strProductId)
+    {
+        m_strProductId = strProductId;
+    }
+
+    std::string& CProcessJob::getProductId()
+    {
+        return m_strProductId;
+    }
+
+    void CProcessJob::setOperationId(std::string strOperationId)
+    {
+        m_strOperationId = strOperationId;
+    }
+
+    std::string& CProcessJob::getOperationId()
+    {
+        return m_strOperationId;
+    }
+
+    void CProcessJob::setPjWarp(PJWarp pjWarp)
+    {
+        m_pjWarp = pjWarp;
+    }
+
+    PJWarp& CProcessJob::getPjWarp()
+    {
+        return m_pjWarp;
+    }
 }

--
Gitblit v1.9.3