From da9df9d46ed3fc50e0c03497bd9f76b8aa1a4595 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 14 一月 2026 15:37:48 +0800
Subject: [PATCH] 1.修复以下问题: 作业前置条件不足导致 PJ 验证失败:onPRJobMultiCreate 调 CMaster::setProcessJobs,CProcessJob::validate 要求“当前没有其它 PJ”(issue 1000),且 carrierPresent/slotUsable 必须为真。只要本地还有未结批的 PJ/CJ 或载具/槽位状态未就绪(ID 未绑、Slot 未使能),Host 发送的 CreateMultiPJ 会直接被丢弃(返回 size=0),但当前代码没有向 Host 回 ACK/NAK,Host 会误以为创建成功。
---
SourceCode/Bond/Servo/CPagePortProperty.cpp | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPagePortProperty.cpp b/SourceCode/Bond/Servo/CPagePortProperty.cpp
index f61f01a..3b8f4e5 100644
--- a/SourceCode/Bond/Servo/CPagePortProperty.cpp
+++ b/SourceCode/Bond/Servo/CPagePortProperty.cpp
@@ -139,14 +139,15 @@
BOOL bCheck = ((CButton*)GetDlgItem(IDC_CHECK_ENABLE))->GetCheck() == BST_CHECKED;
EnableCtrls(bCheck);
+#ifdef _LOCAL
+ ASSERT(m_pPort != nullptr);
+ theApp.m_model.setPortEnable(m_pPort->getIndex(), bCheck);
+#else
// enable port
g_nMsgDlgShow = 0;
CMsgDlg msgDlg("璇风瓑寰�", "姝e湪鎿嶄綔锛岃绛夊緟...");
- ASSERT(m_pPort != nullptr);
- theApp.m_model.setPortEnable(m_pPort->getIndex(), bCheck);
- /*
m_pPort->eablePort(bCheck, [&](int code) -> int {
Sleep(100);
CString strMsg;
@@ -186,7 +187,7 @@
msgDlg.DoModal();
g_nMsgDlgShow = 1;
- */
+#endif
}
void CPagePortProperty::OnCbnSelchangeComboPortType()
@@ -195,8 +196,12 @@
CMsgDlg msgDlg("璇风瓑寰�", "姝e湪鎿嶄綔锛岃绛夊緟...");
msgDlg.SetData((DWORD_PTR)this);
+ // 淇敼涓哄彧淇濆瓨鍦ㄦ湰鍦伴厤缃�
ASSERT(m_pPort != nullptr);
int index = ((CComboBox*)GetDlgItem(IDC_COMBO_PORT_TYPE))->GetCurSel();
+ theApp.m_model.setPortType(m_pPort->getIndex(), SERVO::PortType(index + 1));
+
+ /*
m_pPort->setPortType(SERVO::PortType(index + 1), [&](int code) -> int {
Sleep(100);
CString strMsg;
@@ -233,6 +238,7 @@
msgDlg.DoModal();
g_nMsgDlgShow = 1;
+ */
}
void CPagePortProperty::OnCbnSelchangeComboPortMode()
@@ -289,13 +295,11 @@
theApp.m_model.setPortCassetteType(m_pPort->getIndex(), SERVO::CassetteType(index + 1));
- /*
g_nMsgDlgShow = 0;
CMsgDlg msgDlg("璇风瓑寰�", "姝e湪鎿嶄綔锛岃绛夊緟...");
msgDlg.SetData((DWORD_PTR)this);
ASSERT(m_pPort != nullptr);
- int index = ((CComboBox*)GetDlgItem(IDC_COMBO_PORT_CASSERT_TYPE))->GetCurSel();
m_pPort->setCassetteType(SERVO::CassetteType(index + 1), [&](int code) -> int {
Sleep(100);
CString strMsg;
@@ -332,7 +336,6 @@
msgDlg.DoModal();
g_nMsgDlgShow = 1;
- */
}
void CPagePortProperty::OnCbnSelchangeComboPortTransferMode()
@@ -436,9 +439,6 @@
void CPagePortProperty::EnableCtrls(BOOL bEnable)
{
GetDlgItem(IDC_COMBO_PORT_TYPE)->EnableWindow(bEnable);
- GetDlgItem(IDC_COMBO_PORT_MODE)->EnableWindow(bEnable);
GetDlgItem(IDC_COMBO_PORT_CASSERT_TYPE)->EnableWindow(bEnable);
- GetDlgItem(IDC_COMBO_PORT_TRANSFER_MODE)->EnableWindow(bEnable);
- GetDlgItem(IDC_CHECK_AUTO_CHANGE)->EnableWindow(bEnable);
}
--
Gitblit v1.9.3