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.

63 lines
1.7 KiB
C++

#ifndef _MODECOUNTDLG_H_
#define _MODECOUNTDLG_H_
#include <QWidget>
#include "ui_ModeCountDlg.h"
#include "qreportwidget.h"
#include "DetectDataDB.h"
#include "QThread"
#include "countdata.h"
#include "waitingdialog.h"
#include <QMessageBox>
/*识别数据统计页面*/
class ModeCountDlg : public QWidget
{
Q_OBJECT
public:
ModeCountDlg(QWidget *parent = Q_NULLPTR);
~ModeCountDlg();
void setDBPtr(class DetectDataDB *ptr);//
void initParam(QMap<QString, TimeStruct> timetable, QStringList names);
protected:
Q_SLOT void handleResultsCount(const QString &result, const QMap<QString, int> *p);
void CheckDataByDate(QString m_strLast, QString m_endLast);
Q_SLOT void SlotEditTime();
Q_SLOT void onProgressForTsk(QVariantMap m_map);
Q_SLOT void onCheckButton();
bool onMessageBox(QMessageBox::Icon ntype, QString strTitle, QString strAtl, int onlyOK = 0);
bool SaveDataToCSV(QString filePath, QMap<QString, int> &m_mapTable);
Q_SLOT void SlotCombox(int index);
Q_SLOT void onSaveCSVDone(int );
signals:
void operateCount(QVariantMap m_Map);
void sgFinish();
private:
Ui::ModeCountDlg ui;
class QGridLayout *m_GridLayout{ nullptr };
class QVBoxLayout *Hbox{ nullptr };
class QWidget *m_countwidget{ nullptr };
class QReportWidget *reportdlg{ nullptr };
bool m_IsRunCountTsk{ false };
QDateTime m_startDate_Count, m_endDate_Count;
QMap<QString, int> m_CountNumber;
QMap<int, QMap<QString, int>> m_channels;
class DetectDataDB *m_pDb{ nullptr };
QThread m_WorkThreadCount;
CountData *m_WorkCount{ nullptr };
WaitingDialog m_Progressdlg;
QTime m_startTime, m_endTime;
QTime nstartTime;
QTime nEndTime;
QMap<QString, TimeStruct> m_Totaltime;//班次时间表
};
#endif