From 072a953dd0bbec385cdf809f4403c1e975f13c37 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 11 二月 2026 21:31:01 +0800
Subject: [PATCH] 1.客户说我们Status变量和Data变量搞反了。就是那个SxFx需要换过来,先标记下来,如确实需要修改再处理。

---
 SourceCode/Bond/Servo/CControlJobManagerDlg.cpp |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/CControlJobManagerDlg.cpp b/SourceCode/Bond/Servo/CControlJobManagerDlg.cpp
index 78036f4..05b4f62 100644
--- a/SourceCode/Bond/Servo/CControlJobManagerDlg.cpp
+++ b/SourceCode/Bond/Servo/CControlJobManagerDlg.cpp
@@ -645,7 +645,25 @@
 	// process start
 	for (int p = 0; p < 4; p++) {
 		if (bProcessStart[p]) {
-			pPorts[p]->sendCassetteCtrlCmd(CCC_PROCESS_START, nullptr, 0, 0, 0, nullptr, nullptr);
+			if (pPorts[p] == nullptr) continue;
+			short jobExistence[12] = { 0 };
+			short slotProcess = 0;
+			const short scanMap = pPorts[p]->getScanCassetteMap();
+			if (scanMap != 0) {
+				jobExistence[0] = scanMap;
+				slotProcess = scanMap;
+			}
+
+			bool hasExistence = false;
+			for (short w : jobExistence) {
+				if (w != 0) { hasExistence = true; break; }
+			}
+			if (!hasExistence) {
+				LOGE("ProcessStart blocked (ControlJob): no JobExistence map (port=%d, portStatus=%d, scanMap=%d).",
+					p + 1, pPorts[p]->getPortStatus(), scanMap);
+				continue;
+			}
+			pPorts[p]->sendCassetteCtrlCmd(CCC_PROCESS_START, jobExistence, 12, slotProcess, 0, nullptr, nullptr);
 			Sleep(100);
 		}
 	}

--
Gitblit v1.9.3