From 331f447bb0e5eccf0b3161ab287c1372b14b8480 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 08 八月 2025 11:53:58 +0800
Subject: [PATCH] 1.增加千传计数,保存计数,重启软件时恢复; 2.千传测试模式,打印相关日志,方便后期提取,用于统计; 3.千传模式时烘烤两腔体都要进入; 4.千传模式时,Fliper到Bonder修改为用手臂2取料; 5.修复千传模式不计运行时的问题; 6.千传模式,最后收料强制放入第一层; 6.修复Buf, 当任务未生成(在符合条件后仍有1秒间隙)而机器单元发送FetchOutJob时,数据检验失败的问题,增加Sleep, 缩小间隙;

---
 SourceCode/Bond/Servo/CPagePortStatus.cpp |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPagePortStatus.cpp b/SourceCode/Bond/Servo/CPagePortStatus.cpp
index 198e904..a360f4e 100644
--- a/SourceCode/Bond/Servo/CPagePortStatus.cpp
+++ b/SourceCode/Bond/Servo/CPagePortStatus.cpp
@@ -97,6 +97,17 @@
 		pComboBox->SetCurSel(cassetteStatus - 1);
 	}
 
+	// 鍒涘缓Job Existence Slots鎺т欢
+	m_ctrlJobSlotGrid.Create(AfxRegisterWndClass(0), _T("JobSlotGrid"),
+		WS_CHILD | WS_VISIBLE, CRect(0, 0, 88, 32), this, 1001);
+	m_ctrlJobSlotGrid.SetGridSize(1, 8);
+	m_ctrlJobSlotGrid.SetColors(RGB(34, 177, 76), RGB(200, 200, 200));
+
+	auto statusMap = m_pPort->getScanCassetteMap();
+	for (int i = 0; i < 8; ++i) {
+		bool isSet = (statusMap >> i) & 1;
+		m_ctrlJobSlotGrid.SetSlotStatus(0, i, isSet);
+	}
 
 	return TRUE;  // return TRUE unless you set the focus to a control
 				  // 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
@@ -122,6 +133,17 @@
 void CPagePortStatus::OnSize(UINT nType, int cx, int cy)
 {
 	CHMPropertyPage::OnSize(nType, cx, cy);
+	if (GetDlgItem(IDC_COMBO_PORT_STATUS) == nullptr) return;
 
-	// TODO: 鍦ㄦ澶勬坊鍔犳秷鎭鐞嗙▼搴忎唬鐮�
+
+	// 鍒涘缓Job Existence Slots鎺т欢
+	CRect rcLabel, rcComboBox, rcClient;
+	GetDlgItem(IDC_LABEL_JOB_EXISTENCE_SLOTS)->GetWindowRect(&rcLabel);
+	ScreenToClient(rcLabel);
+	GetDlgItem(IDC_COMBO_CASSETTE_STATUS)->GetWindowRect(&rcComboBox);
+	ScreenToClient(rcComboBox);
+	GetClientRect(rcClient);
+
+	m_ctrlJobSlotGrid.MoveWindow(rcComboBox.left, rcLabel.top, 
+		34 * 8, 32);
 }
\ No newline at end of file

--
Gitblit v1.9.3