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/BoounionPLC/CMainContainer.cpp | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/BoounionPLC/CMainContainer.cpp b/SourceCode/Bond/BoounionPLC/CMainContainer.cpp
index 66365e6..861cc08 100644
--- a/SourceCode/Bond/BoounionPLC/CMainContainer.cpp
+++ b/SourceCode/Bond/BoounionPLC/CMainContainer.cpp
@@ -17,6 +17,8 @@
{
m_crBkgnd = MAIN_CONTAINER_BACKGROUND;
m_hbrBkgnd = nullptr;
+ m_pBottomWnd = nullptr;
+ m_nBottomWndHeight = 0;
}
CMainContainer::~CMainContainer()
@@ -38,6 +40,12 @@
// CMainContainer 娑堟伅澶勭悊绋嬪簭
+
+void CMainContainer::SetBottomWnd(CWnd* pWnd, int nHeight)
+{
+ m_pBottomWnd = pWnd;
+ m_nBottomWndHeight = nHeight;
+}
BOOL CMainContainer::OnInitDialog()
{
@@ -84,8 +92,12 @@
void CMainContainer::Resize()
{
- CRect rcClient;
+ CRect rcClient, rcChild;
GetClientRect(&rcClient);
+ rcChild = rcClient;
+ if (m_pBottomWnd != nullptr && m_nBottomWndHeight > 0) {
+ rcChild.bottom -= m_nBottomWndHeight;
+ }
// 鍏堝彇寰楀瓙绐楀彛鏁伴噺
int count = 0;
@@ -97,7 +109,13 @@
pClild = FindWindowEx(m_hWnd, NULL, NULL, NULL);
while (pClild != nullptr) {
- pClild->MoveWindow(&rcClient);
+ if (pClild != m_pBottomWnd) {
+ pClild->MoveWindow(&rcChild);
+ }
+ else if (m_pBottomWnd != nullptr) {
+ m_pBottomWnd->MoveWindow(0, rcChild.bottom, rcClient.Width(), rcClient.bottom - rcChild.bottom);
+ }
+
if (::GetProp(pClild->GetSafeHwnd(), "Home") == (HANDLE)1) {
pClild->ShowWindow(count == 1 ? SW_SHOW : SW_HIDE);
}
--
Gitblit v1.9.3