You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wheeldetect/tpvs17/lpReport/lpReport.h

141 lines
4.0 KiB
C++

/*!
*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 <QtWidgets/QMainWindow>
#include "ui_lpReport.h"
#include <QDateTime>
#include "InfoFile.h"
#include <QStandardItemModel>
#include "QThread"
#include "workfordb.h"
#include "countdata.h"
#include "waitingdialog.h"
#include "checkdata.h"
#include <QMessageBox>
#include "DetectDataDB.h"
#include <QSettings>
#include <QTranslator>
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<QString, int> &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<QString, int> *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<QTranslator* > 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<int, QTableView*> m_tableView;
QMap<int, QStandardItemModel*> m_standItemModel;
QMap<QString, TimeStruct> m_Totaltime;//班次时间表
QMap<QString, int> m_CountNumber;
QMap<int, QMap<QString, int>> 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