/*! *FileName: lpReport.h *Author: Pan Yingdong *Email: bob.pan@hzleaper.com *Created:2021/4/6 11:54 *Note:数据查询 报表模块 */ #ifndef _H_LPREPORT_H_ #define _H_LPREPORT_H_ #include #include "ui_lpReport.h" #include #include "InfoFile.h" #include #include "QThread" #include "workfordb.h" #include "countdata.h" #include "waitingdialog.h" #include "checkdata.h" #include #include "DetectDataDB.h" #include #include class lpReport : public QMainWindow { Q_OBJECT public: lpReport(QWidget *parent = Q_NULLPTR); ~lpReport(); void onInitUI(); protected: //国际化 void SetLanguage(QString strLangage); void SearchQmFile(const QString & strDir); void SetTranslator(const QString strPath); virtual void timerEvent(QTimerEvent *event); Q_SLOT void SlotEditTime(); Q_SLOT void onCheckButton(); bool onMessageBox(QMessageBox::Icon ntype, QString strTitle, QString strAtl, int onlyOK = 0); void CheckDataHistoryByDate(QString m_strLast, QString m_endLast, QString modelname); bool SaveDataToCSV(QString filePath, QMap &m_mapTable); void CheckDataByDate(QString m_strLast, QString m_endLast); void onEventLoop(QString strMsg); void SaveLog(QString str); QString getHistoryCheckString(); Q_SLOT void onHistoryButton(); void cleanHistorycal(); Q_SLOT void onSetCurrentIndex(int nIndex); Q_SLOT void onSaveCSVDone(int); Q_SLOT void handleResults(QString str); Q_SLOT void onShowMessage(QString str); Q_SLOT void onProgressForTsk(QVariantMap m_map); Q_SLOT void handleResultsHistory(QVariantMap Mapstr, QSqlQuery sql); Q_SLOT void onShowMsg(); Q_SLOT void handleResultsCount(const QString &result, const QMap *p); Q_SLOT void onLogButton(); QString getLogCheckString(int nCheckCount = 0); Q_SLOT void onUpdateTableViewShow(QSqlQuery sql); void updateModelShowHistory(QSqlQuery &sql); Q_SLOT void onUpdateTableViewShowlog(QSqlQuery sql); Q_SLOT void onResultCountlog(int nCount); Q_SLOT void onResultCount(int nCount); void CheckDataWarningByDate(int nType, QString m_strLast, QString m_endLast); void updateModelShowLog(QSqlQuery &sql); Q_SLOT void SlotCombox(int index); Q_SLOT void onSlowPixmap(QSqlQuery sql); Q_SLOT void onTableViewClick(QModelIndex mIndex); void InitUIParam(); void SetModelNames(QStringList models); signals: void sgSetCurrentIndex(int); void sgFinish(); void operate(const QString& strTime, const int &ncount); void operateCount(QVariantMap m_Map); void operateHistory(QVariantMap m_map); void sgshowMsg(); private: Ui::lpReportClass ui; class QReportWidget *reportdlg{ nullptr }; class QGridLayout *m_GridLayout{ nullptr }; class QVBoxLayout *Hbox{ nullptr }; class QWidget *m_countwidget{ nullptr }; QVector m_VecTranPtr;//国际化语言包管理 protected: QDateTime m_startDate_Count, m_endDate_Count; QDateTime m_startDate_History, m_endDate_History; QDateTime m_startDate_Warning, m_endDate_Warning; QTime m_startTime, m_endTime; bool m_CheckFlags{ false }; QTime nstartTime; QTime nEndTime; QString m_userName; QMap m_tableView; QMap m_standItemModel; QMap m_Totaltime;//班次时间表 QMap m_CountNumber; QMap> m_channels; int m_PrevNum{ 0 }; int m_NextNum{ 0 }; int m_totlaNum{ 0 }; int m_page{ 0 }, m_totalPage{ 0 }; int m_PrevNumlog{ 0 }; int m_NextNumlog{ 0 }; int m_totlaNumlog{ 0 }; int m_pagelog{ 0 }, m_totalPagelog{ 0 }; QThread m_Workthread; WorkForDB *m_WorkDB{ nullptr }; QThread m_WorkThreadCount; CountData *m_WorkCount{ nullptr }; QThread m_WorkThreadCheckHistory; CheckData *m_WorkHistory{ nullptr }; WaitingDialog m_Progressdlg; bool m_IsRunCountTsk{ false }; QCompleter *_pCompleter{ nullptr }; QStandardItemModel *m_tableModel{ nullptr }; QStandardItemModel *m_tableWarnModel{ nullptr }; class DetectDataDB *m_pDb{ nullptr }; class ModelDB *m_pModeDB{ nullptr }; }; #endif