From 6c92ade0aeb6a505f2ab8108dcbdab20e37a9fac Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 28 一月 2026 21:29:47 +0800
Subject: [PATCH] 1.EQStatusChange事件上报
---
SourceCode/Bond/Servo/ProcessJob.cpp | 84 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 79 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/ProcessJob.cpp b/SourceCode/Bond/Servo/ProcessJob.cpp
index 57c771c..eb92df5 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);
@@ -69,6 +75,11 @@
return m_issues;
}
+ void CProcessJob::addIssue(uint32_t code, const std::string& msg)
+ {
+ m_issues.push_back({ code, msg });
+ }
+
bool CProcessJob::validate(const IResourceView& rv)
{
m_issues.clear();
@@ -77,10 +88,6 @@
auto add = [&](uint32_t code, std::string msg) {
m_issues.push_back({ code, std::move(msg) });
};
-
- if (!rv.isProcessJobsEmpty()) {
- add(1000, "ProcessJobs Conflict!");
- }
// —— 基本 / 标识 ——
if (m_pjId.empty()) add(1001, "PJID empty");
@@ -180,9 +187,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 +276,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 +467,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