From 4a9f803ce6896554706b97fe36e0002d18e1f346 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期三, 16 七月 2025 09:35:41 +0800
Subject: [PATCH] 1. [TaskControl] 添加设备启用状态判断(IsEnabled) 2. 在多个工艺任务(如 bake_to_cooling、bond_to_bake 等)中增加 psrEq->IsEnabled() 判断

---
 SourceCode/Bond/Servo/CPageLinkSignal.cpp |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageLinkSignal.cpp b/SourceCode/Bond/Servo/CPageLinkSignal.cpp
index b06b015..b86ca5d 100644
--- a/SourceCode/Bond/Servo/CPageLinkSignal.cpp
+++ b/SourceCode/Bond/Servo/CPageLinkSignal.cpp
@@ -19,6 +19,7 @@
 
 CPageLinkSignal::CPageLinkSignal(CWnd* pParent /*=nullptr*/)
 	: CHMPropertyPage(IDD_PAGE_LINK_SIGNAL, pParent)
+	, m_bEnable(TRUE)
 {
 	m_pEquipment = nullptr;
 }
@@ -30,6 +31,7 @@
 void CPageLinkSignal::DoDataExchange(CDataExchange* pDX)
 {
 	CHMPropertyPage::DoDataExchange(pDX);
+	DDX_Check(pDX, IDC_CHECK_ENABLE, m_bEnable);
 }
 
 
@@ -38,6 +40,7 @@
 	ON_WM_DESTROY()
 	ON_WM_SIZE()
 	ON_WM_TIMER()
+	ON_BN_CLICKED(IDC_CHECK_ENABLE, &CPageLinkSignal::OnClickedCheckEnable)
 END_MESSAGE_MAP()
 
 
@@ -56,6 +59,12 @@
 
 	KillTimer(TIMER_ID_SIGNAL_UPDATE);
 	SetTimer(TIMER_ID_SIGNAL_UPDATE, TIMER_INTERVAL_MS, nullptr);
+
+
+	if (m_pEquipment) {
+		m_bEnable = m_pEquipment->IsEnabled();
+		UpdateData(FALSE);
+	}
 
 	return TRUE;  // return TRUE unless you set the focus to a control
 				  // 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
@@ -139,6 +148,14 @@
 			BTN_Y - 36,
 			rcItem.Width(), rcItem.Height());
 	}
+
+	pItem = GetDlgItem(IDC_CHECK_ENABLE);
+	if (pItem) {
+		int nCheckboxX = max(0, BTN_X - 50);
+		int nCheckboxY = max(0, BTN_Y - rcItem.Height() - 30);
+		pItem->GetWindowRect(&rcItem);
+		pItem->MoveWindow(nCheckboxX, nCheckboxY, rcItem.Width(), rcItem.Height());
+	}
 }
 
 void CPageLinkSignal::OnTimer(UINT_PTR nIDEvent)
@@ -158,7 +175,7 @@
 
 	for (int nRow = 0; nRow < 8; ++nRow) {
 		for (int nCol = 0; nCol < 8; ++nCol) {
-			BOOL bCurrentState = m_pEquipment->isLinkSignalUpstreamOn(nRow, nCol);
+			BOOL bCurrentState = m_pEquipment->isLinkSignalUpstreamOn(nRow, nCol) && m_pEquipment->IsEnabled();
 			UpdateSignalState(nRow, nCol, bCurrentState);
 		}
 	}
@@ -177,4 +194,9 @@
 	}
 }
 
-
+void CPageLinkSignal::OnClickedCheckEnable()
+{
+	// TODO: 鍦ㄦ娣诲姞鎺т欢閫氱煡澶勭悊绋嬪簭浠g爜
+	UpdateData(TRUE);
+	m_pEquipment->SetEnable(m_bEnable);
+}

--
Gitblit v1.9.3