| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- #ifndef PRO_H
- #define PRO_H
- #include <QObject>
- #include <QThread>
- #include <QHash>
- #include <QTimer>
- #include "define.h"
- #include "httpclient.h"
- #include <QNetworkAccessManager>
- #include <QImage>
- #include <QCursor>
- #include <QTimerEvent>
- #include <QSet>
- #include <QList>
- #include <QString>
- #include <QJSValue>
- #include <QMouseEvent>
- #include "Interactive/InteractiveData.h"
- #include "Interactive/InteractiveHttp.h"
- enum class proWorkStat {
- usernameLogin, // 用户登录
- cardLogin,
- fingerLogin,
- faceLogin,
- insertfacelogin,
- userLogout,
- getMaterial,
- userMaterial,
- userMaterial_copy,
- openCabinet,
- closeCabinet,
- upgradeMaterial,
- replaceMaterial, // 更换物资
- // exceptionHandle, // 异常处理
- materialTypeGet, // 获取物资类型
- instructionsGet, // 获取物资使用说明
- getMaterialCheckPlan, // 获取物资检查计划
- getMaterialCheckForm, // 获取物资检查列表
- postSaveForm, // 保存当前任务表
- postCheckSign, // 检查签名
- postSubmit, // 提交最终结果
- getMaterialInfoList, // 获取物资信息列表
- sleep,
- };
- class pro : public QThread
- {
- Q_OBJECT
- public slots:
- void slot_feature_login();
- void slot_set_thread_stop(void);
- void slot_login(int type, QString username, QString password);
- void slot_logout(void);
- void slot_response_data(quint64 id, QString url, QByteArray res);
- void slot_tid_update(quint16 count, QList<QString> tidList);
- void slot_lockStat(bool leftStat, bool rightStat);
- void slot_takebackstat(bool stat);
- void slot_getMaterial(void);
- void slot_saveConfig(void);
- void slot_fingerWork(bool stat);
- void slot_addfinger(bool stat);
- void slot_fingerStat(bool stat, QByteArray img, int size);
- void slot_instructionsGet();
- void slot_pdf_click(QByteArray urlPath);
- void slot_getMaterialCheckPlan();
- void slot_getMaterialCheckForm(int planId);
- void slot_postSaveForm(QString data);
- void slot_postCheckSign(int planId, QString path);
- void slot_postSubmit();
- void slot_getMaterialInfoList();
- public:
- explicit pro(QObject *parent = nullptr);
- Q_INVOKABLE void moveCursorTo(int x, int y);
- // 获取物资待归还数量
- Q_INVOKABLE void getSelModelNumber(QJSValue);
- // 是否异常
- Q_INVOKABLE void getError(QJSValue);
- // 获取uuid
- Q_INVOKABLE QString getUuid();
- protected:
- bool eventFilter(QObject *obj, QEvent *event) override;
- private:
- // QByteArray btyMaterialType; // 物资类型
- // QByteArray btyInstructions; // 物资使用说明
- QNetworkAccessManager *m_pManager;
- private:
- bool threadstatus = true;
- QList<QString> tidArray;
- QTimer *timer;
- login_s login;
- proWorkStat workstat = proWorkStat::sleep;
- QString token;
- bool addfingerStat = false;
- bool addfingerFinish = false;
- QByteArray fingerimgbuff;
- // int m_iCurrentPlanId = -1; // 当前计划ID
- QString m_strPostSaveForm; // 发送post请求,保存检查表
- QString m_strPostCheckSign; // 发送post请求, 检查签名
- void http_response_usernamelogin(QByteArray data);
- void http_response_cardlogin(QByteArray data);
- void http_response_fingerLogin(QByteArray data);
- void http_response_insertfingerLogin(QByteArray data);
- void http_response_logout(QByteArray data);
- void http_response_getMaterial(QByteArray data);
- void http_response_userMaterial(QByteArray data);
- void http_response_updateMaterial(QByteArray data); // 物资更换
- void http_response_postMaterialReplaceAuto(QByteArray data); // 物资取还
- void http_response_data(quint64 idx, QString url, QByteArray data);
- void http_response_materialTypeGet(QByteArray data); // http返回 物资类型
- void http_response_instructionsGet(QByteArray data); // http返回 使用说明
- void http_response_getMaterialCheckPlan(QByteArray data); // http返回 物资检查计划
- void http_response_getMaterialCheckForm(QByteArray data); // http返回 物资检查列表
- void http_response_postSaveForm(QByteArray data);
- void http_response_postCheckSign(QByteArray data);
- void http_response_postSubmit(QByteArray data);
- void http_response_getMaterialInfoList(QByteArray data);
- void http_request_usernamelogin(void);
- void http_request_cardlogin(void);
- void http_request_fingerLogin(void);
- void http_request_insertfingerLogin(void);
- void http_request_userlogout(void);
- void http_request_getMaterial(void);
- void http_request_userMaterial(void);
- void http_request_userMaterial_copy(void);
- void http_request_openCabinet(void);
- void http_request_closeCabinet(void);
- void http_request_updateMaterial(void);
- void http_request_replaceMaterial(void);
- void http_request_exceptionHandle(void); // 异常处理
- void updateTime(void);
- // 2025-06-03 wxh
- void http_request_materialTypeGet();
- void http_request_instructionsGet();
- void http_request_getMaterialCheckPlan();
- void http_request_getMaterialCheckForm();
- void http_request_postSaveForm();
- void http_request_postCheckSign();
- void http_request_postSubmit();
- void http_request_getMaterialInfoList();
- // 获取不属于这个柜子,但是rfid检测到的物资信息
- void getMaterialElseInfos();
- signals:
- void signal_notice_return(win_notice_s notice);
- void signal_login_return_stat(int stat, QString str);
- void signal_login_return_param(QString name, int auth);
- void signal_post_request_data(quint64 id, QString postUrl, QByteArray data, QByteArray file, QString token);
- void signal_get_request_data(quint64 id, QString postUrl, QByteArray data, QString token);
- void signal_updateMaterial(void);
- void signal_updateMaterialHand(void); // 手动更换
- void signal_updateMaterialAuto(void); // 自动更换
- void signal_updateMaterialException(void); // 异常处理
- void signal_updatetakebackMaterial(void);
- void signal_updatetakebackMaterialHand(void); // 手动更换
- void signal_updatetakebackMaterialAuto(void); // 自动更换
- void signal_updateExceptionHandle(void); // 异常处理
- void signal_updatematerialCheckPlan(void); // 物资检查计划
- // void signal_returnExceptionHandle(bool); // 物资错放异常处理结果
- void signal_requestertakebackMaterial(void);
- void signal_fingerWork(bool stat);
- void signal_addFinger_act(bool stat);
- void signal_materialTypeGet(QByteArray data); // 转发至qml, 获取物资类型
- void signal_instructionsGet(QByteArray data); // 转发至qml, 获取使用说明
- void signal_pdf_relay(QString name); // 转发至qml, pdf下载完成
- void signal_getMaterialCheckPlan(QByteArray data); // 转发至qml, 获取物资检查计划
- void signal_getMaterialCheckForm(QByteArray data); // 转发至qml, 获取物资检查列表
- void signal_postSaveForm(QByteArray data); // 转发至qml, post结果
- void signal_postCheckSign(QByteArray data); // 转发至qml, post结果
- void signal_postSubmit(QByteArray data); // 转发至qml, post结果
- void signal_getMaterialInfoList(QByteArray data); // 转发至qml, 获取物资信息列表
- void signal_lockStatTakeBack(bool, bool);
- void signal_lockStatReplaceHand(bool, bool);
- void signal_lockStatReplaceAuto(bool, bool);
- void signal_lockStatException(bool, bool);
- void signal_lockStatCheckPlan(bool, bool);
- void signal_misplaceRefresh();
- void signal_backRefresh();
- void signal_takeRefresh();
- // 全局鼠标点击
- void signal_global_mouse_clicked();
- protected:
- void run() override;
- };
- #endif // PRO_H
|