|
|
|
|
|
/*!
|
|
|
|
|
|
*FileName: lpReport.h
|
|
|
|
|
|
*Author: Pan Yingdong
|
|
|
|
|
|
*Email: bob.pan@hzleaper.com
|
|
|
|
|
|
*Created:2021/4/6 11:54
|
|
|
|
|
|
*Note:<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>ѯ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
#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"
|
|
|
|
|
|
|
|
|
|
|
|
class lpReport : public QMainWindow
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
lpReport(QWidget *parent = Q_NULLPTR);
|
|
|
|
|
|
~lpReport();
|
|
|
|
|
|
|
|
|
|
|
|
void onInitUI();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
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 };
|
|
|
|
|
|
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;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
|
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
|