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/CPageVarialbles.cpp | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPageVarialbles.cpp b/SourceCode/Bond/Servo/CPageVarialbles.cpp
index 07f8123..f2c2587 100644
--- a/SourceCode/Bond/Servo/CPageVarialbles.cpp
+++ b/SourceCode/Bond/Servo/CPageVarialbles.cpp
@@ -162,6 +162,11 @@
{
ASSERT(btnName);
if (_strcmpi(btnName, "鏂板") == 0) {
+ int rc = UX_CanExecute(L"addVarialbles");
+ if (rc != 1) {
+ AfxMessageBox("鎿嶄綔鏉冮檺涓嶈冻锛岃鑱旂郴绠$悊浜哄憳锛�");
+ return;
+ }
unsigned int newId = theApp.m_model.m_hsmsPassive.getMaxVariableId();
int newIdInt = static_cast<int>(newId + 1);
CVariableEditDlg2 dlg(_T("鏂板鍙橀噺"), newIdInt, _T("U1"), _T(""), _T(""), this);
@@ -172,6 +177,7 @@
int ret = theApp.m_model.m_hsmsPassive.addVariable(CT2A(name), CT2A(fmt), CT2A(remark), newIdInt);
if (ret == 0) {
+ UX_RecordAction(L"addVarialbles");
m_listCtrl.DeleteAllItems();
loadVariables();
}
@@ -208,6 +214,11 @@
auto pVar = reinterpret_cast<SERVO::CVariable*>(m_listCtrl.GetItemData(nItem));
if (pVar == nullptr) return;
+ int rc = UX_CanExecute(L"editVarialbles");
+ if (rc != 1) {
+ AfxMessageBox("鎿嶄綔鏉冮檺涓嶈冻锛岃鑱旂郴绠$悊浜哄憳锛�");
+ return;
+ }
CVariableEditDlg2 dlg(_T("缂栬緫鍙橀噺"),
pVar->getVarialbleId(),
CString(CA2T(SERVO::CVariable::formatToString(pVar->getFormat()).c_str())),
@@ -221,6 +232,7 @@
int ret = theApp.m_model.m_hsmsPassive.updateVariable(pVar->getVarialbleId(), CT2A(name), CT2A(fmt), CT2A(remark));
if (ret == 0) {
+ UX_RecordAction(L"editVarialbles");
m_listCtrl.DeleteAllItems();
loadVariables();
}
--
Gitblit v1.9.3