|
|
@@ -84,41 +84,46 @@ public:
|
|
|
m_keyNFC = nfc;
|
|
|
}
|
|
|
public:
|
|
|
+ // 获取钥匙的Nfc并向后台请求其MAC地址
|
|
|
Q_INVOKABLE void openEKey();
|
|
|
- // 获取钥匙
|
|
|
+ // 打开钥匙卡扣, 获取钥匙
|
|
|
Q_INVOKABLE void getEKey();
|
|
|
+ // 打开锁的卡扣,获取锁
|
|
|
Q_INVOKABLE void getLocks();
|
|
|
-
|
|
|
+ // 打开锁的Nfc信息并执行下发作业票操作
|
|
|
Q_INVOKABLE void getLockRFIDs(QMap<int, QString>& rfids);
|
|
|
-
|
|
|
+ // 下发作业票操作
|
|
|
Q_INVOKABLE void sendJobTicket();
|
|
|
// 启动检索是否自动关闭钥匙扣和锁扣
|
|
|
Q_INVOKABLE void updateKeyAndLockStatus(bool status = false);
|
|
|
-
|
|
|
- Q_INVOKABLE void uploadColockInfo();
|
|
|
-
|
|
|
+ // 根据任务的nodeId获取上锁隔离/解除隔离的任务详情
|
|
|
Q_INVOKABLE void getWorkTicketByNodeId();
|
|
|
-
|
|
|
+ // 处理连接蓝牙的操作
|
|
|
void connectBLEDevice(const QString& keyNfc);
|
|
|
void unlockDevices(const QString& nfc, const QString& deviceType);
|
|
|
-
|
|
|
+ // 重置部分成员变量
|
|
|
void resetAll();
|
|
|
-
|
|
|
+ // 读取锁的RFID(Nfc)
|
|
|
QString retryReadLockRFID(int lockNum);
|
|
|
public slots:
|
|
|
+ // 打开钥匙的卡扣后,向后台上传作业票信息
|
|
|
void slotUnlockEKey(const CANKeyBaseChargeStatus& status);
|
|
|
+ // 打开锁的卡扣后,执行打开钥匙的卡扣操作
|
|
|
void slotUnlockLocks(bool success, const QList<QString>& lockRfids);
|
|
|
+ // 响应钥匙放入的信号,执行向后台更新归还锁的操作
|
|
|
void slotDeviceDetected(const QString& nfcId);
|
|
|
void slotSearchBLE();
|
|
|
+ // 搜索到钥匙后,执行连接蓝牙操作
|
|
|
void slotOkSearchedBLE(bool success);
|
|
|
-
|
|
|
+ // 成功下发作业票后,执行打开钥匙或锁的卡扣的操作
|
|
|
void slotSendJobTicketStatus(bool success);
|
|
|
+ // 成功接收到作业票完成结果后,执行上传点位更新操作或上传点位解锁情况的操作
|
|
|
void slotReceivedJobTicketResult(const BLERWorkTicketResult& result);
|
|
|
private:
|
|
|
explicit InteractiveCAN();
|
|
|
-
|
|
|
+ // 根据隔离点位信息创建新的作业票
|
|
|
void createJobTicket();
|
|
|
-
|
|
|
+ // 根据隔离点位的nfc信息及其对应锁的nfc创建共锁的作业票
|
|
|
void createColockJobTicket();
|
|
|
|
|
|
void httpRequestPostUploadPositionInfo(const QJsonDocument& doc);
|
|
|
@@ -204,12 +209,12 @@ private:
|
|
|
bool m_checkedFlags = true; // 标记是否检测到钥匙放回, 防止重复
|
|
|
bool m_finishedFlags = false; // 标记一轮取锁、取钥匙完成
|
|
|
bool m_startGetWorkTicketResultFlag = false;
|
|
|
- bool m_getLockedRfidFlag = false;
|
|
|
+ bool m_getLockedRfidFlag = false; // 防止重复请求更新归还锁的信息
|
|
|
|
|
|
- bool m_okOpenKey = false;
|
|
|
- bool m_okSendJobTicket = false;
|
|
|
- bool m_okUnlockKey = false;
|
|
|
- bool m_okUnlockLocks = false;
|
|
|
+ bool m_okOpenKey = false; // 标记是否获取到钥匙
|
|
|
+ bool m_okSendJobTicket = false; // 标记是否成功下发作业票
|
|
|
+ bool m_okUnlockKey = false; // 标记是否打开钥匙的卡扣
|
|
|
+ bool m_okUnlockLocks = false; // 标记是否打开锁的卡扣
|
|
|
|
|
|
DevicesInfoOfTask m_currentTask; // 当前任务所需设备
|
|
|
DevicesInfoOfTask m_popedDevices; // 已取出的设备
|