From f6cd6b95c9aa2ad17b199c32553c0b5e06b60bea Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期四, 08 一月 2026 16:06:29 +0800
Subject: [PATCH] 1.部分实现状态变量设置
---
SourceCode/Bond/Servo/CPanelProduction.cpp | 44 ++++++++++++++++++++++++++++++++------------
1 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPanelProduction.cpp b/SourceCode/Bond/Servo/CPanelProduction.cpp
index bbc5900..d8c9e2c 100644
--- a/SourceCode/Bond/Servo/CPanelProduction.cpp
+++ b/SourceCode/Bond/Servo/CPanelProduction.cpp
@@ -22,6 +22,8 @@
m_hPlaceholder = nullptr;
m_bShiftSummaryValid = FALSE;
m_pStatsThread = nullptr;
+ m_pAccordionWnd = nullptr;
+ m_pPageProdOverview = nullptr;
}
CPanelProduction::~CPanelProduction()
@@ -61,6 +63,25 @@
pLine1->SetBkgndColor(RGB(225, 225, 225));
pLine1->SetLineColor(RGB(198, 198, 198));
pLine1->EnableResize();
+
+ CString strExpandIcon, strCloseIcon;
+ strExpandIcon.Format(_T("%s\\res\\arrow_down.ico"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir);
+ strCloseIcon.Format(_T("%s\\res\\arrow_right.ico"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir);
+
+ m_pAccordionWnd = CAccordionWnd::FromHandle(GetDlgItem(IDC_ACCORDION_WND1)->m_hWnd);
+ m_pAccordionWnd->SetBkgndColor(m_crBkgnd);
+ m_pAccordionWnd->SetFrameColor(RGB(220, 220, 200), TRUE);
+ m_pAccordionWnd->Setpadding(PADDING_LEFT, 2);
+ m_pAccordionWnd->Setpadding(PADDING_TOP, 2);
+ m_pAccordionWnd->Setpadding(PADDING_RIGHT, 2);
+ m_pAccordionWnd->Setpadding(PADDING_BOTTOM, 2);
+ m_pAccordionWnd->LoadExpandIcon(strExpandIcon, strCloseIcon);
+
+ m_pPageProdOverview = new CPageProdOverview();
+ m_pPageProdOverview->SetBackgroundColor(m_crBkgnd);
+ m_pPageProdOverview->Create(IDD_PROD_OVERVIEW, GetDlgItem(IDC_ACCORDION_WND1));
+ m_pPageProdOverview->ShowWindow(SW_HIDE);
+ m_pAccordionWnd->AddItem("鐢熶骇鎬昏", m_pPageProdOverview, 280, TRUE, TRUE);
SetTimer(1, 1000 * 10, nullptr);
StartStatsThread();
@@ -107,6 +128,9 @@
GetClientRect(&rcClient);
pItem = GetDlgItem(IDC_LINE1);
pItem->MoveWindow(rcClient.right - 3, 0, 3, rcClient.Height());
+
+ pItem = GetDlgItem(IDC_ACCORDION_WND1);
+ pItem->MoveWindow(5, 5, rcClient.Width() - 10, rcClient.Height() - 10);
}
#define PRODUCTION_PANEL_MIN_WIDTH 88
@@ -132,11 +156,12 @@
}
}
-BOOL CPanelProduction::TryGetShiftSummary(ProductionShiftSummary& outSummary)
+BOOL CPanelProduction::TryGetDayNightSummaries(ProductionShiftSummary& outDay, ProductionShiftSummary& outNight)
{
CSingleLock lock(&m_csShiftSummary, TRUE);
if (!m_bShiftSummaryValid) return FALSE;
- outSummary = m_shiftSummary;
+ outDay = m_daySummary;
+ outNight = m_nightSummary;
return TRUE;
}
@@ -173,10 +198,12 @@
for (;;) {
if (self->m_evStopStats.Lock(intervalMs)) break;
- ProductionShiftSummary summary;
- if (ProductionStats::ComputeCurrentShiftSummary(theApp.m_model.m_configuration, summary)) {
+ ProductionShiftSummary daySummary;
+ ProductionShiftSummary nightSummary;
+ if (ProductionStats::ComputeDayNightSummaries(theApp.m_model.m_configuration, daySummary, nightSummary)) {
CSingleLock lock(&self->m_csShiftSummary, TRUE);
- self->m_shiftSummary = std::move(summary);
+ self->m_daySummary = std::move(daySummary);
+ self->m_nightSummary = std::move(nightSummary);
self->m_bShiftSummaryValid = TRUE;
}
}
@@ -187,12 +214,5 @@
void CPanelProduction::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 鍦ㄦ娣诲姞娑堟伅澶勭悊绋嬪簭浠g爜鍜�/鎴栬皟鐢ㄩ粯璁ゅ��
- if (nIDEvent == 1) {
- ProductionShiftSummary outSummary;
- if (TryGetShiftSummary(outSummary)) {
- TRACE("OnTimer outSummary.output.pairsPass:%d\n", outSummary.output.pairsPass);
- }
- }
-
CDialogEx::OnTimer(nIDEvent);
}
--
Gitblit v1.9.3