From 7d6d1769b7b76366fd20ab4358b8c10ce067d04f Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期四, 18 十二月 2025 12:04:54 +0800
Subject: [PATCH] 1.生产数据统计链路已打通。待UI显示;

---
 SourceCode/Bond/Servo/CPanelProduction.h |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPanelProduction.h b/SourceCode/Bond/Servo/CPanelProduction.h
index 60713f3..527db4f 100644
--- a/SourceCode/Bond/Servo/CPanelProduction.h
+++ b/SourceCode/Bond/Servo/CPanelProduction.h
@@ -1,5 +1,8 @@
-#pragma once
+锘�#pragma once
 #include "BlButton.h"
+#include <afxmt.h>
+
+#include "ProductionStats.h"
 
 // CPanelProduction dialog
 class CPanelProduction : public CDialogEx
@@ -19,10 +22,17 @@
 	CBlButton m_btnClose;
 	HWND m_hPlaceholder;
 
+	// Production shift summary (updated by background thread)
+	ProductionShiftSummary m_shiftSummary;
+	BOOL m_bShiftSummaryValid;
+	CCriticalSection m_csShiftSummary;
+	CWinThread* m_pStatsThread;
+	CEvent m_evStopStats;
+
 protected:
 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
 
-// 对话框数据
+// 瀵硅瘽妗嗘暟鎹�
 #ifdef AFX_DESIGN_TIME
 	enum { IDD = IDD_PANEL_PRODUCTION };
 #endif
@@ -35,4 +45,14 @@
 	afx_msg void OnSize(UINT nType, int cx, int cy);
 	afx_msg void OnVLineMoveX(NMHDR* nmhdr, LRESULT* result);
 	afx_msg void OnBnClickedButtonClose();
+
+	// Thread-safe snapshot for UI timer display
+	BOOL TryGetShiftSummary(ProductionShiftSummary& outSummary);
+
+private:
+	static UINT AFX_CDECL StatsThreadProc(LPVOID pParam);
+	void StartStatsThread();
+	void StopStatsThread();
+public:
+	afx_msg void OnTimer(UINT_PTR nIDEvent);
 };

--
Gitblit v1.9.3