From 334b16b4abb4cbe3d1d4e4f211efd6f4468ae09f Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 19 九月 2025 15:12:52 +0800
Subject: [PATCH] 1.ControlJob和ProcessJob的中断操作,强制结批增加字符串描述原因,方便生产跟踪。

---
 SourceCode/Bond/Servo/CControlJob.cpp |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/CControlJob.cpp b/SourceCode/Bond/Servo/CControlJob.cpp
index be1b43a..39726f8 100644
--- a/SourceCode/Bond/Servo/CControlJob.cpp
+++ b/SourceCode/Bond/Servo/CControlJob.cpp
@@ -60,6 +60,28 @@
         return true;
     }
 
+    bool CControlJob::addPjPointer(CProcessJob* pj)
+    {
+        for (auto item : m_pjs) {
+            if (item->id().compare(pj->id()) == 0) return false;
+        }
+
+        m_pjs.push_back(pj);
+        return true;
+    }
+
+    bool CControlJob::removePjPointer(const std::string& id)
+    {
+        for(auto iter = m_pjs.begin(); iter != m_pjs.end(); ++iter) {
+            if ((*iter)->id().compare(id) == 0) {
+                m_pjs.erase(iter);
+                return true;
+            }
+        }
+
+        return false;
+    }
+
     bool CControlJob::removePJ(const std::string& pjId) {
         auto it = std::find(m_pjIds.begin(), m_pjIds.end(), pjId);
         if (it == m_pjIds.end()) return false;
@@ -74,6 +96,11 @@
     const std::vector<CControlJob::ValidationIssue>& CControlJob::issues()
     {
         return m_issues;
+    }
+
+    void CControlJob::clearIssues()
+    {
+        m_issues.clear();
     }
 
     bool CControlJob::validateForCreate(
@@ -187,9 +214,11 @@
         return true;
     }
 
-    bool CControlJob::abort() {
+    bool CControlJob::abort(std::string reason) {
         if (m_state == CJState::Completed || m_state == CJState::Aborted || m_state == CJState::Failed)
             return false;
+        m_failReason = trimCopy(reason);
+        clampString(m_failReason, 128);
         m_state = CJState::Aborted;
         markEnd();
         return true;

--
Gitblit v1.9.3