From 549e14363badd7e33f497897ea5a2454e1a1f7a1 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 20 九月 2025 16:16:16 +0800
Subject: [PATCH] 1.续费完善批工艺;
---
SourceCode/Bond/Servo/CMaster.cpp | 41 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 7b2da65..d6831e5 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -1481,7 +1481,7 @@
m_listener.onCjEnd(this, pJob);
}
- completeControlJob("工艺正常完成");
+ completeControlJob();
}
}
}
@@ -1535,6 +1535,7 @@
for (auto pj : pjs) {
auto carrier = pj->getCarrier(pPort->getCassetteId());
if (carrier != nullptr) {
+ carrier->contexts.clear();
for (auto slot : carrier->slots) {
CGlass* pGlass = pPort->getGlassFromSlot(slot);
carrier->contexts.push_back((void*)pGlass);
@@ -2781,7 +2782,43 @@
}
- bool CMaster::completeControlJob(std::string description)
+ bool CMaster::completeControlJob()
+ {
+ if (m_pControlJob == nullptr) {
+ return false;
+ }
+ for (auto item : m_processJobs) {
+ if (item->state() != PJState::Completed) return false;
+ }
+ if (m_pControlJob->state() != CJState::Completed)
+ return false;
+
+
+
+ // 释放Job相关
+ for (auto item : m_processJobs) {
+ delete item;
+ }
+ m_processJobs.clear();
+ if (m_pControlJob != nullptr) {
+ delete m_pControlJob;
+ m_pControlJob = nullptr;
+ }
+
+ // 注意要释放引用
+ m_inProcesJobs.clear();
+ m_completeProcessJobs.clear();
+ m_queueGlasses.clear();
+ m_inProcesGlasses.clear();
+ m_completeGlasses.clear();
+
+
+ saveState();
+
+ return true;
+ }
+
+ bool CMaster::forceCompleteControlJob(std::string description)
{
if (m_pControlJob == nullptr || m_state != SERVO::MASTERSTATE::READY) {
return false;
--
Gitblit v1.9.3