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/CPageProdOverview.cpp | 35 ++++++++++++++++++++++++++++++-----
1 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPageProdOverview.cpp b/SourceCode/Bond/Servo/CPageProdOverview.cpp
index 6ca851e..11813f4 100644
--- a/SourceCode/Bond/Servo/CPageProdOverview.cpp
+++ b/SourceCode/Bond/Servo/CPageProdOverview.cpp
@@ -5,11 +5,12 @@
#include "Servo.h"
#include "CPageProdOverview.h"
#include "afxdialogex.h"
+#include "CPanelProduction.h"
namespace
{
constexpr UINT_PTR kTimerRefreshId = 2001;
- constexpr UINT kTimerRefreshIntervalMs = 5000;
+ constexpr UINT kTimerRefreshIntervalMs = 10000;
}
IMPLEMENT_DYNAMIC(CPageProdOverview, CDialogEx)
@@ -129,12 +130,36 @@
void CPageProdOverview::RefreshData()
{
+ auto* pPanel = dynamic_cast<CPanelProduction*>(GetParent());
+ if (pPanel == nullptr) {
+ pPanel = dynamic_cast<CPanelProduction*>(GetParent() ? GetParent()->GetParent() : nullptr);
+ }
+ if (pPanel == nullptr) {
+ m_labelDayOut.setText(_T("--"));
+ m_labelNightOut.setText(_T("--"));
+ m_labelDayTakt.setText(_T("--"));
+ m_labelNightTakt.setText(_T("--"));
+ return;
+ }
+
+ ProductionShiftSummary day;
+ ProductionShiftSummary night;
+ if (!pPanel->TryGetDayNightSummaries(day, night)) {
+ m_labelDayOut.setText(_T("--"));
+ m_labelNightOut.setText(_T("--"));
+ m_labelDayTakt.setText(_T("--"));
+ m_labelNightTakt.setText(_T("--"));
+ return;
+ }
+
CString text;
- text.Format(_T("%d"), 123);
+ text.Format(_T("%lld"), day.output.pairsTotal);
m_labelDayOut.setText(text);
- text.Format(_T("%d"), 1235);
+ text.Format(_T("%lld"), night.output.pairsTotal);
m_labelNightOut.setText(text);
- m_labelDayTakt.setText(_T("1236"));
- m_labelNightTakt.setText(_T("1238"));
+ text.Format(_T("%.1fs"), day.output.avgTaktSeconds);
+ m_labelDayTakt.setText(text);
+ text.Format(_T("%.1fs"), night.output.avgTaktSeconds);
+ m_labelNightTakt.setText(text);
}
--
Gitblit v1.9.3