From d14420e7f85b5fe7289aafe6bef0c053dede3657 Mon Sep 17 00:00:00 2001 From: chenluhua1980 <Chenluhua@qq.com> Date: 星期五, 16 一月 2026 11:20:39 +0800 Subject: [PATCH] 1.修复以下问题: CEID 校验恒通过:ceidDefined 返回 true,PauseEvent ID 不做有效性检查。Host 若下发无效 CEID,将被接受但运行时无法触发暂停,风险难以察觉。 建议的上线前防护 / 改进(无需真机也可先改) 2.软件侧警告id上抛; --- SourceCode/Bond/Servo/CPageGlassList.h | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/SourceCode/Bond/Servo/CPageGlassList.h b/SourceCode/Bond/Servo/CPageGlassList.h index 064072b..38a35c7 100644 --- a/SourceCode/Bond/Servo/CPageGlassList.h +++ b/SourceCode/Bond/Servo/CPageGlassList.h @@ -1,6 +1,11 @@ 锘�#pragma once #include "CExpandableListCtrl.h" #include "GlassLogDb.h" +#include <unordered_map> + +// ====== 缂栬瘧寮�鍏宠鏄� ====== +// USE_MOCK_SENSOR_DATA: 1=鍚敤妯℃嫙浼犳劅鍣ㄦ暟鎹敓鎴愶紱0=浣跨敤鐪熷疄鏁版嵁 +// 鍦� CPageGlassList.cpp 涓畾涔� // CPageGlassList 瀵硅瘽妗� @@ -40,7 +45,7 @@ bool m_rebuilding = false; private: - void InitRxWindow(); + void InitRxWindows(); void Resize(); void InitStatusCombo(); void InitTimeRangeCombo(); @@ -55,6 +60,17 @@ void UpdateWipData(); bool eraseGlassInVector(SERVO::CGlass* pGlass, std::vector<SERVO::CGlass*>& glasses); void UpdateWipRow(unsigned int index, SERVO::CGlass* pGlass); + bool WriteAnsiStringAsUtf8ToFile(const CString& ansiContent, const CString& filePath); + void ExportToCsv(const GlassLogDb::Row& row, const CString& filePath); + void ExportToJson(const GlassLogDb::Row& row, const CString& filePath); + void ExportBasicInfo(CString& csvContent, const GlassLogDb::Row& row); + void ExportProcessParams(CString& csvContent, const GlassLogDb::Row& row); + void ExportSensorData(CString& csvContent, const GlassLogDb::Row& row); + static std::vector<std::string> getMachineColumnOrder(int machineId, const std::unordered_map<std::string, std::vector<SERVO::SVDataItem>>* actualData = nullptr); + static std::string timePointToString(const std::chrono::system_clock::time_point& tp); + static int64_t timePointToMs(const std::chrono::system_clock::time_point& tp); + void GenerateMockSVData(SERVO::CGlass& glass); + double GenerateMockValue(int machineId, const std::string& dataType, int index); // 瀵硅瘽妗嗘暟鎹� #ifdef AFX_DESIGN_TIME @@ -74,5 +90,9 @@ afx_msg void OnBnClickedButtonExport(); afx_msg void OnBnClickedButtonPrevPage(); afx_msg void OnBnClickedButtonNextPage(); + afx_msg void OnShowFullText(NMHDR* pNMHDR, LRESULT* pResult); + virtual BOOL PreTranslateMessage(MSG* pMsg); DECLARE_MESSAGE_MAP() +public: + afx_msg void OnBnClickedButtonExportRow(); }; -- Gitblit v1.9.3