From bdf0dc4cb183d3fec40e1d51b3bb94b7e53d0a55 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期日, 04 一月 2026 10:45:07 +0800
Subject: [PATCH] 1.修复报文字段差异风险: S1F3:项目用 getSubItemU4(0) 取 SVID;日志里有 U2 的情况,可能导致解析失败后回退成 SV=0。 S6F11:项目发送 DATAID(U4) + CEID(U4);日志样例里第一个字段是 U2,可能存在类型/字段定义不一致。
---
SourceCode/Bond/Servo/HsmsPassive.h | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index de60213..7d9d596 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -135,6 +135,9 @@
// 鍙栨秷 define report
bool removeReport(int rptid);
+ int deleteReport(int rptid);
+ int addReport(int rptid, const std::vector<unsigned int>& vids);
+ int updateReport(int rptid, const std::vector<unsigned int>& vids);
void clearAllReport();
// 浠庢枃浠朵腑鍔犺浇CVariable鍒楄〃
@@ -142,10 +145,14 @@
// 鍙栧緱CVariable鍒楄〃
std::vector<SERVO::CVariable*>& getVariables();
+ unsigned int getMaxVariableId() const;
// 鍙栧緱鎸囧畾Variable
SERVO::CVariable* getVariable(int variableId);
SERVO::CVariable* getVariable(const char* pszName);
+ int deleteVariable(int variableId);
+ int addVariable(const char* pszName, const char* pszFormat, const char* pszRemark, int& outId);
+ int updateVariable(int variableId, const char* pszName, const char* pszFormat, const char* pszRemark);
// 璁剧疆鍙橀噺鍊�
void setVariableValue(const char* pszName, __int64 value);
@@ -157,15 +164,20 @@
// 鍙栧緱Report鍒楄〃
std::vector<SERVO::CReport*>& getReports();
+ unsigned int getMaxReportId() const;
// 浠庢枃浠朵腑鍔犺浇CCollectionEvent鍒楄〃
int loadCollectionEvents(const char* pszFilepath);
// 鍙栧緱CCollectionEvent鍒楄〃
std::vector<SERVO::CCollectionEvent*>& getCollectionEvents();
+ unsigned int getMaxCollectionEventId() const;
// 鍙栨秷/鍒犻櫎鎵�鏈塁ollectionEvent
void clearAllCollectionEvent();
+ int deleteCollectionEvent(unsigned short CEID);
+ int addCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
+ int updateCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
// 鍙栧緱CCollectionEvent
SERVO::CCollectionEvent* getEvent(unsigned short CEID);
@@ -191,8 +203,12 @@
int requestEventReportSend(unsigned int CEID);
int requestEventReportSend(const char* pszEventName);
int requestEventReportSend_CarrierID_Readed();
+ int requestEventReportSend_CheckSlotMap();
+ int requestEventReportSend_SlotMapVerificationOK();
+ int requestEventReportSend_SlotMapVerificationNG();
int requestEventReportSend_Port_Unload_Ready();
int requestEventReportSend_Port_Load_Ready();
+ int requestEventReportSend_Port_Ready_To_Release();
int requestEventReportSend_Port_Blocked();
int requestEventReportSend_PJ_Queued();
int requestEventReportSend_PJ_Start();
@@ -234,6 +250,9 @@
int onRecvMsg(IMessage* pMessage);
void clearAllVariabel();
std::vector<unsigned int> parseVidList(CString& strNums);
+ int writeVariablesToFile(const std::string& filepath);
+ int writeReportsToFile(const std::string& filepath);
+ int writeCollectionEventsToFile(const std::string& filepath);
private:
CModel* m_pModel;
@@ -251,6 +270,15 @@
private:
SECSListener m_listener;
+ std::string m_strVariableFilepath;
+ bool m_bVariableUtf8{ false };
+ bool m_bVariableUtf8Bom{ false };
+ std::string m_strReportFilepath;
+ bool m_bReportUtf8{ false };
+ bool m_bReportUtf8Bom{ false };
+ std::string m_strCollectionEventFilepath;
+ bool m_bCollectionUtf8{ false };
+ bool m_bCollectionUtf8Bom{ false };
BOOL m_bCimWorking;
HANDLE m_hCimWorkEvent;
HANDLE m_hCimWorkThreadHandle;
@@ -271,4 +299,3 @@
// Spooling Config
std::map<uint16_t, std::set<uint16_t>> m_spoolingConfig;
};
-
--
Gitblit v1.9.3