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/CEquipmentPage1.h | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/SourceCode/Bond/Servo/CEquipmentPage1.h b/SourceCode/Bond/Servo/CEquipmentPage1.h index 34106f1..5db7005 100644 --- a/SourceCode/Bond/Servo/CEquipmentPage1.h +++ b/SourceCode/Bond/Servo/CEquipmentPage1.h @@ -24,12 +24,18 @@ void setEquipment(SERVO::CEquipment* pEquipment); private: + int m_nCurrentDeviceID; SERVO::CEquipment* m_pEquipment; std::vector<SignalInfo> m_vSignalList; CJobSlotGrid m_ctrlSignalPanel; + std::map<int, std::vector<SignalInfo>> m_mapSignalListByID; - void InitSignalList(); - void LoadDeviceSignals(); + void LoadSignalListFromCSV(const CString& strFilePath); + void InitSignalListForDevice(int nDeviceID); + void UpdateSignalState(int nRow, int nCol, bool bNewState); + void InitSignalSlotTextAndClickable(); + void UpdateAllSignalStatesFromDevice(); + void ResetSignalPanel(); // 瀵硅瘽妗嗘暟鎹� @@ -46,4 +52,5 @@ afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg void OnDestroy(); afx_msg void OnSize(UINT nType, int cx, int cy); + afx_msg void OnTimer(UINT_PTR nIDEvent); }; -- Gitblit v1.9.3