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/CMyStatusbar.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 1 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMyStatusbar.cpp b/SourceCode/Bond/Servo/CMyStatusbar.cpp
index d0ab4fe..f38821f 100644
--- a/SourceCode/Bond/Servo/CMyStatusbar.cpp
+++ b/SourceCode/Bond/Servo/CMyStatusbar.cpp
@@ -75,6 +75,29 @@
SetDlgItemText(IDC_BUTTON_ROBOTTASK, pszText);
}
+void CMyStatusbar::setCimBtnText(const char* pszText)
+{
+ SetDlgItemText(IDC_BUTTON_CIM, pszText);
+}
+
+void CMyStatusbar::setCurTaskBtnColors(COLORREF face, COLORREF frame, COLORREF text)
+{
+ m_btnCurTask.SetFaceColor(face);
+ m_btnCurTask.SetFrameColor(frame);
+ m_btnCurTask.SetTextColor(text);
+ Invalidate();
+ UpdateWindow();
+}
+
+void CMyStatusbar::setCimBtnColors(COLORREF face, COLORREF frame, COLORREF text)
+{
+ m_btnCim.SetFaceColor(face);
+ m_btnCim.SetFrameColor(frame);
+ m_btnCim.SetTextColor(text);
+ Invalidate();
+ UpdateWindow();
+}
+
BOOL CMyStatusbar::OnInitDialog()
{
CDialogEx::OnInitDialog();
@@ -86,7 +109,14 @@
m_btnCurTask.SetFrameColor(m_crBkgnd);
m_btnCurTask.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
m_btnCurTask.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
+ m_btnCurTask.SetTextColor(m_crForeground);
+ m_btnCim.SubclassDlgItem(IDC_BUTTON_CIM, this);
+ m_btnCim.SetFaceColor(m_crBkgnd);
+ m_btnCim.SetFrameColor(m_crBkgnd);
+ m_btnCim.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
+ m_btnCim.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
+ m_btnCim.SetTextColor(m_crForeground);
return TRUE; // return TRUE unless you set the focus to a control
// 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
@@ -129,6 +159,11 @@
pItem->GetWindowRect(rcItem);
GetParent()->SendMessage(ID_MSG_STATUSBAR_BTN_CLICKED, rcItem.left, LOWORD(wParam));
break;
+ case IDC_BUTTON_CIM:
+ pItem = GetDlgItem(IDC_BUTTON_CIM);
+ pItem->GetWindowRect(rcItem);
+ GetParent()->SendMessage(ID_MSG_STATUSBAR_BTN_CLICKED, rcItem.left, LOWORD(wParam));
+ break;
}
return CDialogEx::OnCommand(wParam, lParam);
@@ -165,4 +200,16 @@
pItem->GetClientRect(rcItem);
pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
x += rcItem.Width();
-}
\ No newline at end of file
+
+ x += 8;
+ pItem = GetDlgItem(IDC_LABEL_CIM);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+
+ x += 8;
+ pItem = GetDlgItem(IDC_BUTTON_CIM);
+ pItem->GetClientRect(rcItem);
+ pItem->MoveWindow(x, (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+ x += rcItem.Width();
+}
--
Gitblit v1.9.3