12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #ifndef FIRINGWIDGET_H
- #define FIRINGWIDGET_H
- #include "navprogress.h"
- #include "../mqtt/mqttclient.h"
- #include "../blastRecord/hblastrecord.h"
- #include "../blastRecord/hblastrecorddao.h"
- #include "../blastRecordDet/hblastrecorddetdao.h"
- #include "../blastRegRecord/hblastregrecorddao.h"
- #include "../databasemanager.h"
- #include <QWidget>
- #include <QJsonDocument>
- #include <QJsonObject>
- #include "../des3encryption.h"
- #include "../mqttthread.h"
- #include "../serial/serialtool.h"
- namespace Ui {
- class firingWidget;
- }
- class firingWidget : public QWidget
- {
- Q_OBJECT
- public:
- explicit firingWidget(const int& row ,const bool& select ,const QString& uuid = "",QWidget *parent = nullptr);
- ~firingWidget();
- void cancelBlasting();
- public slots:
- void onCountdownFinished(const QString &topic, const QString &message);
- private slots:
- void on_pushButton_2_clicked();
- void on_sendTest_4_clicked();
- void handleMessageAndTopic(const QByteArray &message, const QMqttTopicName &topic);
- signals:
- void progressChanged(int value,int row);
- void lastStageChanged(int newStage);
- void updateBlastStatus(int status,int row);
- void selectSignal(QString uuid);
- void updateButton(int status,int row);
- void updateProjectStatus(QString uuid);
- void updateData(const QJsonObject &jsonObj);
- void countdown(QString uuid,const QString &topic,const QString &message);
- void closeFiring(QString uuid);
- private slots:
- // 处理 MQTT 连接成功的槽函数
- void onMqttConnected();
- //双键按下
- void onButtonPressedReceived(const QString &topic,const QString &message);
- void onLastStageChanged(int newStage);
- void updateWebData(const QJsonObject &data);
- private:
- bool addRegData(const QJsonObject &jsonObj);
- bool addDetData(const QJsonObject &jsonObj);
- bool danUpload(const QJsonObject &jsonObj);
- void sendMqttMessage(const QString &topic, const QByteArray &message);
- void startBlasting();
- private:
- Ui::firingWidget *ui;
- MqttClient *pcPorjectBC;
- HBlastRecordDao dao;
- HBlastRecordDetDao daoDet;
- HBlastRegRecordDao daoReg;
- NavProgress *navProgress;
- MqttThread* mqttThread;
- SerialTool* serialTool=nullptr;
- QString m_uuid; // 用于存储 uuid
- QString reg_uuid; // 用于存储 uuid
- QString blast_uuid; // 用于存储 uuid
- QString topic;
- int m_row;
- int lastStage = -1; // 用于记录上一次的 stage 状态
- bool m_isMqttConnected = false;
- bool m_select;
- QMetaObject::Connection connection; // 声明 connection 变量
- QMetaObject::Connection connectionPress;
- QString lat;
- QString lon;
- };
- #endif // FIRINGWIDGET_H
|