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.cpp

1337 lines
44 KiB
C++

#include "lpReport.h"
#include "qtimedlg.h"
#include <QSqlQuery>
#include <QFileDialog>
#include <QTextStream>
#include "QProgressDialog"
#include "qsavecsvthread.h"
#include "checkthread.h"
#include "QCompleter"
#include "qreportwidget.h"
#include <QDebug>
#include "ModelDB.h"
#pragma execution_character_set("utf-8")
#define WHEEL_PIC_SIZE 150
enum EM_TYPE_TIME
{
em_Time_Year = 1,
em_Time_Moth,
em_Time_Day
};
#define _QSQLITE_WHEELHUBWF_NAME "wheelhubwf.db"
#define WHEEL_DB_FILE "\\pattern\\modelTemplate.db"
lpReport::lpReport(QWidget *parent)
: QMainWindow(parent)
{
qRegisterMetaType<QSqlQuery>("QSqlQuery");
ui.setupUi(this);
onInitUI();
QString strDbPath = QApplication::applicationDirPath() + "\\" + _QSQLITE_WHEELHUBWF_NAME;
m_pDb = new DetectDataDB(strDbPath);
m_pDb->InitDatabase();
m_pDb->ReadOutTimeData(m_Totaltime);
QString strModelPath = QApplication::applicationDirPath() + "\\" + WHEEL_DB_FILE;
m_pModeDB = new ModelDB(strModelPath);
m_pModeDB->InitDatabase();
QStringList strList = m_pModeDB->ReadAllModes();
m_GridLayout = new QGridLayout;
reportdlg = new QReportWidget;
m_GridLayout->addWidget(reportdlg);
m_countwidget = new QWidget;
Hbox = new QVBoxLayout;
m_GridLayout->setMargin(0);
m_GridLayout->addLayout(Hbox, 0, 1);
m_countwidget->setLayout(m_GridLayout);
nstartTime.setHMS(0, 0, 0);
nEndTime.setHMS(23, 59, 59);
m_tableModel = new QStandardItemModel;
m_WorkDB = new WorkForDB;
m_WorkDB->moveToThread(&m_Workthread);
m_WorkDB->setDB(m_pDb);
connect(&m_Workthread, &QThread::finished, m_WorkDB, &QObject::deleteLater);
connect(this, &lpReport::operate, m_WorkDB, &WorkForDB::doWork);
connect(m_WorkDB, &WorkForDB::resultReady, this, &lpReport::handleResults);
m_Workthread.start();
qDebug() << "start thread m_Workthread";
m_WorkCount = new CountData;
m_WorkCount->moveToThread(&m_WorkThreadCount);
m_WorkCount->setDB(m_pDb);
connect(&m_WorkThreadCount, &QThread::finished, m_WorkCount, &QObject::deleteLater);
connect(this, &lpReport::operateCount, m_WorkCount, &CountData::doWork);
connect(m_WorkCount, &CountData::resultReady, this, &lpReport::handleResultsCount);
connect(m_WorkCount, SIGNAL(sgShowMsg(QString)), this, SLOT(onShowMessage(QString)));
connect(m_WorkCount, &CountData::sgShowProgress, this, &lpReport::onProgressForTsk);
m_WorkThreadCount.start();
qDebug() << "start thread m_WorkThreadCount";
m_WorkHistory = new CheckData;
m_WorkHistory->moveToThread(&m_WorkThreadCheckHistory);
m_WorkHistory->setDB(m_pDb);
connect(&m_WorkThreadCheckHistory, &QThread::finished, m_WorkHistory, &QObject::deleteLater);
connect(this, &lpReport::operateHistory, m_WorkHistory, &CheckData::doWork);
connect(m_WorkHistory, &CheckData::resultReady, this, &lpReport::handleResultsHistory);
connect(m_WorkHistory, &CheckData::sgShowProgress, this, &lpReport::onProgressForTsk);
m_WorkThreadCheckHistory.start();
qDebug() << "start thread m_WorkThreadCheckHistory";
m_Progressdlg.setWindowModality(Qt::ApplicationModal);
m_Progressdlg.setWindowIcon(QIcon(":/image/leaper"));
m_IsRunCountTsk = false;
ui.scrollArea->setWidget(m_countwidget);
InitUIParam();
SetModelNames(strList);
setWindowTitle("<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>¼<EFBFBD>");
setWindowIcon(QIcon(":/lpReport/Resources/Log.png"));
}
lpReport::~lpReport()
{
if (m_Workthread.isRunning())
{
qDebug() << "delete m_Workthread";
m_Workthread.quit();
m_Workthread.wait(50);
qDebug() << "delete m_Workthread end";
}
if (m_WorkThreadCount.isRunning())
{
qDebug() << "delete m_WorkThreadCount";
m_WorkThreadCount.quit();
m_WorkThreadCount.wait(50);
qDebug() << "delete m_WorkThreadCount end";
}
if (m_WorkThreadCheckHistory.isRunning())
{
qDebug() << "delete m_WorkThreadCheckHistory";
m_WorkThreadCheckHistory.quit();
m_WorkThreadCheckHistory.wait(50);
qDebug() << "delete m_WorkThreadCheckHistory end";
}
if (m_tableWarnModel) {
delete m_tableWarnModel;
m_tableWarnModel = NULL;
}
if (m_tableModel) {
delete m_tableModel;
m_tableModel = NULL;
}
if (_pCompleter) {
delete _pCompleter;
_pCompleter = NULL;
}
if (m_countwidget)
{
delete m_countwidget;
m_countwidget = NULL;
}
}
void lpReport::onInitUI()
{
connect(ui.pushButton_Set1_Warning, SIGNAL(clicked()), this, SLOT(SlotEditTime()));
connect(ui.pushButton_Set2_Warning, SIGNAL(clicked()), this, SLOT(SlotEditTime()));
connect(ui.pushButton_Set1_History, SIGNAL(clicked()), this, SLOT(SlotEditTime()));
connect(ui.pushButton_Set2_History, SIGNAL(clicked()), this, SLOT(SlotEditTime()));
connect(ui.pushButton_Set1_Count, SIGNAL(clicked()), this, SLOT(SlotEditTime()));
connect(ui.pushButton_Set2_Count, SIGNAL(clicked()), this, SLOT(SlotEditTime()));
connect(ui.pushButton_Checkdata, SIGNAL(clicked()), this, SLOT(onCheckButton()));
connect(ui.pushButton_SaveHistory, SIGNAL(clicked()), this, SLOT(onCheckButton()));
connect(ui.pushButton_Wandring, SIGNAL(clicked()), this, SLOT(onCheckButton()));
connect(ui.pushButton_SaveWaring, SIGNAL(clicked()), this, SLOT(onCheckButton()));
connect(ui.pushButton_Checkdata_Calculate, SIGNAL(clicked()), this, SLOT(onCheckButton()));
connect(ui.pushButton_SaveCalculate, SIGNAL(clicked()), this, SLOT(onCheckButton()));
connect(this, SIGNAL(sgSetCurrentIndex(int)), ui.stackedWidget, SLOT(setCurrentIndex(int)));
connect(ui.comboBox_Banci_Calculate, SIGNAL(currentIndexChanged(int)), this, SLOT(SlotCombox(int)));
connect(ui.comboBox_Banci, SIGNAL(currentIndexChanged(int)), this, SLOT(SlotCombox(int)));
ui.comboBox_Model->setEditable(true);
connect(ui.Prev_checkShengchang, SIGNAL(clicked()), this, SLOT(onHistoryButton()));
connect(ui.Next_checkShengchang, SIGNAL(clicked()), this, SLOT(onHistoryButton()));
ui.LineNumber_checkShengchang->setText("50");
QValidator *validator = new QIntValidator(1, 9999, this);
ui.LineNumber_checkShengchang->setValidator(validator);
ui.showNum_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(0));
ui.showPage_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(0).arg(0));
int nItenCount = ui.check_listWidget->count();
for (int nIndex = 0; nIndex < nItenCount; nIndex++)
{
QListWidgetItem *itenn = ui.check_listWidget->item(nIndex);
QSize s = itenn->sizeHint();
itenn->setSizeHint(QSize(s.width(), 45));
}
connect(ui.check_listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(onSetCurrentIndex(int)));
ui.LineNumber_log->setText("50");
QValidator *validatorlog = new QIntValidator(1, 9999, this);
ui.LineNumber_log->setValidator(validatorlog);
connect(ui.Prev_checklog, SIGNAL(clicked()), this, SLOT(onLogButton()));
connect(ui.Next_checklog, SIGNAL(clicked()), this, SLOT(onLogButton()));
ui.showPage_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(0).arg(0));
ui.showNum_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(0));
}
void lpReport::timerEvent(QTimerEvent *event)
{
}
Q_SLOT void lpReport::SlotEditTime()
{
QObject *obj = sender();
QString str = obj->objectName();
if (str == "pushButton_Set1_Count")
{
QTimeDlg dlg;
dlg.SetDateTime(m_startDate_Count);
dlg.setWindowModality(Qt::ApplicationModal);
if (dlg.exec() == QDialog::Accepted)
{
dlg.GetDateTime(m_startDate_Count);
QString m_strLast = m_startDate_Count.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time1_Count->setText(m_strLast);
}
}
else if (str == "pushButton_Set2_Count")
{
QTimeDlg dlg;
dlg.SetDateTime(m_endDate_Count);
if (dlg.exec() == QDialog::Accepted)
{
dlg.GetDateTime(m_endDate_Count);
QString m_endLast = m_endDate_Count.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time2_Count->setText(m_endLast);
}
}
else if (str == "pushButton_Set1_Warning")
{
QTimeDlg dlg;
dlg.SetDateTime(m_startDate_Warning);
if (dlg.exec() == QDialog::Accepted)
{
dlg.GetDateTime(m_startDate_Warning);
QString m_endLast = m_startDate_Warning.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time1_warning->setText(m_endLast);
}
}
else if (str == "pushButton_Set2_Warning")
{
QTimeDlg dlg;
dlg.SetDateTime(m_endDate_Warning);
if (dlg.exec() == QDialog::Accepted)
{
dlg.GetDateTime(m_endDate_Warning);
QString m_endLast = m_endDate_Warning.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time2_warning->setText(m_endLast);
}
}
else if (str == "pushButton_Set1_History")
{
QTimeDlg dlg(NULL);
dlg.SetDateTime(m_startDate_History);
if (dlg.exec() == QDialog::Accepted)
{
dlg.GetDateTime(m_startDate_History);
QString m_endLast = m_startDate_History.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time1_History->setText(m_endLast);
}
}
else if (str == "pushButton_Set2_History")
{
QTimeDlg dlg;
dlg.SetDateTime(m_endDate_History);
if (dlg.exec() == QDialog::Accepted)
{
dlg.GetDateTime(m_endDate_History);
QString m_endLast = m_endDate_History.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time2_History->setText(m_endLast);
}
}
}
Q_SLOT void lpReport::onCheckButton()
{
QObject *obj = sender();
QString str = obj->objectName();
if ("pushButton_Checkdata" == str)//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ҳ<EFBFBD><D2B3>ʾ <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶*/
static bool checkflags = false;
if (checkflags == false)
{
checkflags = true;
QString strBanci = ui.comboBox_Banci->currentText();
QString modelName = ui.comboBox_Model->currentText();
if (m_Totaltime.contains(strBanci))
{
if (m_startDate_History.date() > m_endDate_History.date())
{
if (m_Totaltime.value(strBanci).m_startTime > m_Totaltime.value(strBanci).m_endTime)
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD>ҹ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>һ<EFBFBD>µ<EFBFBD>ǰ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>ٲ<EFBFBD>ѯ"));
checkflags = false;
return;
}
else
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>һ<EFBFBD>µ<EFBFBD>ǰ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>ٲ<EFBFBD>ѯ"));
checkflags = false;
return;
}
}
}
else
{
if (m_startDate_History.date() > m_endDate_History.date())
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>һ<EFBFBD>µ<EFBFBD>ǰ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>ٲ<EFBFBD>ѯ"));
checkflags = false;
return;
}
}
QString m_strLast = ui.label_Time1_History->text();
QString m_endLast = ui.label_Time2_History->text();
QString strMsg = tr("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>%1-%2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>").arg(m_strLast).arg(m_endLast);
SaveLog(strMsg);
QApplication::setOverrideCursor(Qt::WaitCursor);
QFont font;
font.setPixelSize(14);
ui.label_Tab2_Title->setFont(font);
QString m_Title = tr("<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>:%1 <20><> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:%2 <20><><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7>¼").arg(m_strLast).arg(m_endLast);
ui.label_Tab2_Title->setText(m_Title);
if (modelName == tr("ȫ<EFBFBD><EFBFBD>"))
CheckDataHistoryByDate(m_strLast, m_endLast, "*");
else
CheckDataHistoryByDate(m_strLast, m_endLast, modelName);
QApplication::restoreOverrideCursor();
checkflags = false;
}
else
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>"));
}
}
else if ("pushButton_SaveHistory" == str)
{
if (m_tableModel == NULL)
return;
if (m_tableModel->rowCount() <= 0)
{
onMessageBox(QMessageBox::Warning, tr("<EFBFBD><EFBFBD>ʾ"), tr("û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>ѯ"));
return;
}
QString filename = QString("History_%1.csv").arg(QDateTime::currentDateTime().toString("yyyy_MM_dd"));
QString fileTitle = tr("<EFBFBD><EFBFBD>ѡ<EFBFBD>񱣴<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>");
QFileDialog *fileDialog = new QFileDialog(NULL, fileTitle, filename);
fileDialog->setWindowTitle("Save As");
fileDialog->setAcceptMode(QFileDialog::AcceptSave);
fileDialog->setFileMode(QFileDialog::AnyFile);
fileDialog->setViewMode(QFileDialog::Detail);
fileDialog->setGeometry(10, 30, 300, 200);
fileDialog->setDirectory(".");
fileDialog->setNameFilter("Execl(*.csv)");
if (fileDialog->exec() == QDialog::Accepted)
{
QString path = fileDialog->selectedFiles()[0];
QString strString = getHistoryCheckString();
QSaveCSVThread *workerThread = new QSaveCSVThread(this);
workerThread->setInform(ui.label_Tab2_Title->text(), "username");
workerThread->setCheckStr(m_pDb, strString, path, 0);
connect(workerThread, SIGNAL(resultReady(int)), this, SLOT(onSaveCSVDone(int)));
connect(workerThread, &QSaveCSVThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
onEventLoop(tr("<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>"));
QString strMsg = tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1-%2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>").arg(ui.label_Time1_History->text()).arg(ui.label_Time2_History->text());
SaveLog(strMsg);
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
}
if (fileDialog) {
delete fileDialog;
fileDialog = NULL;
}
}
else if (str == "pushButton_Wandring")
{
static bool checkflags = false;
if (checkflags == false)
{
checkflags = true;
QApplication::setOverrideCursor(Qt::WaitCursor);
QString m_strLast = ui.label_Time1_warning->text();
QString m_endLast = ui.label_Time2_warning->text();
QString strMsg = tr("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>%1-%2<><32><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>").arg(m_strLast).arg(m_endLast);
QString strCombox = ui.comboBox_Wandring_Log->currentText();
int mType = 0;
if (strCombox == tr("ʹ<EFBFBD>ü<EFBFBD>¼<EFBFBD><EFBFBD>ѯ")) {
mType = (int)emTypeUseState;
}
else if (strCombox == tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ѯ")) {
mType = (int)emTypeWaring;
}
else if (strCombox == tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ѯ")) {
mType = (int)emTypeRunState;
}
SaveLog(strMsg);
QFont font;
font.setPixelSize(14);
ui.label_Tab3_Title->setFont(font);
QString m_Title = tr("<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>:%1 <20><> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:%2 <20><><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7>¼").arg(m_strLast).arg(m_endLast);
ui.label_Tab3_Title->setText(m_Title);
CheckDataWarningByDate(mType, m_strLast, m_endLast);
QApplication::restoreOverrideCursor();
checkflags = false;
}
else
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>"));
}
}
else if (str == "pushButton_SaveWaring")
{
if (m_tableWarnModel == NULL)
{
onMessageBox(QMessageBox::Warning, tr("<EFBFBD><EFBFBD>ʾ"), tr("û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>ѯ"));
return;
}
if (m_tableWarnModel->rowCount() <= 0)
{
onMessageBox(QMessageBox::Warning, tr("<EFBFBD><EFBFBD>ʾ"), tr("û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>ѯ"));
return;
}
QString filename = QString("WarnMessage_%1.csv").arg(QDateTime::currentDateTime().toString("yyyy_MM_dd"));
QString fileTitle = tr("<EFBFBD><EFBFBD>ѡ<EFBFBD>񱣴<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>");
QFileDialog *fileDialog = new QFileDialog(NULL, fileTitle, filename);
fileDialog->setWindowTitle("Save As");
fileDialog->setAcceptMode(QFileDialog::AcceptSave);
fileDialog->setFileMode(QFileDialog::AnyFile);
fileDialog->setViewMode(QFileDialog::Detail);
fileDialog->setGeometry(10, 30, 300, 200);
fileDialog->setDirectory(".");
fileDialog->setNameFilter("Execl(*.csv)");
if (fileDialog->exec() == QDialog::Accepted)
{
QString path = fileDialog->selectedFiles()[0];
QString strString = getLogCheckString();
QSaveCSVThread *workerThread = new QSaveCSVThread(this);
workerThread->setInform(ui.label_Tab3_Title->text(), "username");
workerThread->setCheckStr(m_pDb, strString, path, 1);
connect(workerThread, SIGNAL(resultReady(int)), this, SLOT(onSaveCSVDone(int)));
connect(workerThread, &QSaveCSVThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
onEventLoop(tr("<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>"));
QString strMsg = tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1-%2<><32><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>").arg(ui.label_Time1_warning->text()).arg(ui.label_Time2_warning->text());
SaveLog(strMsg);
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
}
if (fileDialog) {
delete fileDialog;
fileDialog = NULL;
}
}
else if ("pushButton_Checkdata_Calculate" == str)
{
static bool checkflags = false;
if (checkflags == false)
{
checkflags = true;
QString strBanci = ui.comboBox_Banci_Calculate->currentText();
QString modelName = ui.comboBox_Model->currentText();
if (m_Totaltime.contains(strBanci))
{
if (m_startDate_Count.date() > m_endDate_Count.date())
{
if (m_Totaltime.value(strBanci).m_startTime > m_Totaltime.value(strBanci).m_endTime)
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD>ҹ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>һ<EFBFBD>µ<EFBFBD>ǰ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>ٲ<EFBFBD>ѯ"));
checkflags = false;
return;
}
else
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>ٲ<EFBFBD>ѯ"));
checkflags = false;
return;
}
}
}
else
{
if (m_startDate_Count.date() > m_endDate_Count.date())
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>һ<EFBFBD>µ<EFBFBD>ǰ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>ٲ<EFBFBD>ѯ"));
checkflags = false;
return;
}
}
QString m_strLast = ui.label_Time1_Count->text();
QString m_endLast = ui.label_Time2_Count->text();
QString strMsg = tr("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>%1-%2<><32>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>").arg(ui.label_Time1_Count->text()).arg(ui.label_Time2_Count->text());
SaveLog(strMsg);
QApplication::setOverrideCursor(Qt::WaitCursor);
CheckDataByDate(m_strLast, m_endLast);
QApplication::restoreOverrideCursor();
checkflags = false;
}
else
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>"));
}
}
else if ("pushButton_SaveCalculate" == str)
{
if (m_CountNumber.size() <= 0)
{
onMessageBox(QMessageBox::Warning, tr("<EFBFBD><EFBFBD>ʾ"), tr("û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>ѯ"));
return;
}
QString filename = QString("Data_%1.csv").arg(QDateTime::currentDateTime().toString("yyyy_MM_dd"));
QString fileTitle = tr("<EFBFBD><EFBFBD>ѡ<EFBFBD>񱣴<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>");
QFileDialog *fileDialog = new QFileDialog(NULL, fileTitle, filename);
fileDialog->setWindowTitle("Save As");
fileDialog->setAcceptMode(QFileDialog::AcceptSave);
fileDialog->setFileMode(QFileDialog::AnyFile);
fileDialog->setViewMode(QFileDialog::Detail);
fileDialog->setGeometry(10, 30, 300, 200);
fileDialog->setDirectory(".");
fileDialog->setNameFilter("Execl(*.csv)");
if (fileDialog->exec() == QDialog::Accepted)
{
QString path = fileDialog->selectedFiles()[0];
if (SaveDataToCSV(path, m_CountNumber))
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
QString strMsg = tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1-%2<><32>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>").arg(ui.label_Time1_Count->text()).arg(ui.label_Time2_Count->text());
SaveLog(strMsg);
}
if (fileDialog) {
delete fileDialog;
fileDialog = NULL;
}
}
}
bool lpReport::onMessageBox(QMessageBox::Icon ntype, QString strTitle, QString strAtl, int onlyOK)
{
QMessageBox::StandardButton button = QMessageBox::Ok;
if (onlyOK == 1)
button = QMessageBox::Cancel;
QMessageBox infobox(ntype, strTitle, strAtl, QMessageBox::Ok | button, NULL);
infobox.setWindowIcon(QIcon(":/image/leaper"));
infobox.setButtonText(QMessageBox::Ok, tr("ȷ<EFBFBD><EFBFBD>"));
infobox.setButtonText(QMessageBox::Cancel, tr("ȡ<EFBFBD><EFBFBD>"));
return (infobox.exec() == QMessageBox::Ok);
}
void lpReport::CheckDataHistoryByDate(QString m_strLast, QString m_endLast, QString modelname)
{
QSqlQuery sql;
QVariantMap m_Value;
m_Value.insert(_CHECK_TYPE_, EMT_CHECK_BY_NAME);
m_Value.insert(_CHECK_TIME1_, m_strLast);
m_Value.insert(_CHECK_TIME2_, m_endLast);
m_Value.insert(_CHECK_NAME_, modelname);
m_Value.insert(_CHECK_COUNT_, 1);
if (modelname == "*")
m_Value.insert(_CHECK_TYPE_, EMT_CHECK_BY_SAE);
else
m_Value.insert(_CHECK_TYPE_, EMT_CHECK_BY_NAME);
QString strString;
strString = m_pDb->genCheckStr(m_Value);
int nlimit = ui.LineNumber_checkShengchang->text().toInt();
if (nlimit <= 0)
{
nlimit = 10;
ui.LineNumber_checkShengchang->setText("10");
}
m_totlaNum = 0;
m_PrevNum = 0;
QString strStringcheck;
if (modelname == "*")
strStringcheck = QString("select * from wftable where time >'%1' and time <'%2' LIMIT %4 OFFSET %5").arg(m_strLast).arg(m_endLast).arg(nlimit).arg(m_PrevNum);
else
strStringcheck = QString("select * from wftable where time >'%1' and time <'%2' and model = '%3' LIMIT %4 OFFSET %5").arg(m_strLast).arg(m_endLast).arg(modelname).arg(nlimit).arg(m_PrevNum);
QVariantMap m_mapVarite;
m_mapVarite.insert("SqlCount", strString);
m_mapVarite.insert("SqlCheck", strStringcheck);
m_mapVarite.insert("limit", nlimit);
emit operateHistory(m_mapVarite);
}
bool lpReport::SaveDataToCSV(QString filePath, QMap<QString, int> &m_mapTable)
{
QFile file(filePath);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))// ׷<><D7B7>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return false;
QTextStream out(&file);
QString tableData;
QString m_startStr = m_startDate_Count.toString("yyyy-MM-dd ") + m_startTime.toString("hh:mm:ss");
QString m_endStr = m_endDate_Count.toString("yyyy-MM-dd ") + m_endTime.toString("hh:mm:ss");
out << tr("<EFBFBD><EFBFBD>%1<><31>%2ͳ<32>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>").arg(m_startStr).arg(m_endStr) << "\n";
out << tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") << "," << tr("<EFBFBD>ͺ<EFBFBD>") << "," << tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") << "\n";
int index = 1;
int sum = 0;
for (QMap<QString, int>::iterator its = m_mapTable.begin(); its != m_mapTable.end(); ++its)
{
out << (index++) << ",";
tableData = its.key();
out << tableData << ",";
out << QString::number(m_mapTable[tableData]) << ",";
sum += m_mapTable[tableData];
out << "\n";
}
if (!m_mapTable.contains(QString("NG")))
{
out << (index++) << "," << QString("NG") << "," << 0 << "\n";
}
out << (index++) << "," << tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") << "," << QString::number(sum) << "\n";
out << tr("ʱ<EFBFBD><EFBFBD>:") << "," << QDateTime::currentDateTime().toString("yyyy-MM-dd") << "," << QDateTime::currentDateTime().toString("hh:mm:ss") << "\n";
out << tr("<EFBFBD>û<EFBFBD>:") << "," << "username" << "," << "\n";
file.close();
return true;
}
void lpReport::CheckDataByDate(QString m_strLast, QString m_endLast)
{
if (m_IsRunCountTsk != false)
{
return;
}
m_IsRunCountTsk = true;
m_CountNumber.clear();
m_channels.clear();
QProgressDialog progress;
progress.setWindowModality(Qt::ApplicationModal);
progress.setWindowTitle(tr("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
progress.setWindowIcon(QIcon(":/image/leaper"));
progress.setLabelText(tr("<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>ѯ<EFBFBD><EFBFBD>,<2C><><EFBFBD>Ժ<EFBFBD>....."));
progress.setCancelButton(0);
QSqlQuery sql;
QVariantMap m_Value;
m_Value.insert(_CHECK_TYPE_, EMT_CHECK_BY_COUNT);
m_Value.insert(_CHECK_TIME1_, m_strLast);
m_Value.insert(_CHECK_TIME2_, m_endLast);
m_Value.insert("CheckType", "Count");
QString strCheck = m_pDb->genCheckStr(m_Value);
m_Value.insert(_CHECK_COUNT_, 1);
QString strCount = m_pDb->genCheckStr(m_Value);
QVariantMap m_map;
m_map.insert("SqlCount", strCount);
m_map.insert("SqlCheck", strCheck);
emit operateCount(m_map);
}
void lpReport::onEventLoop(QString strMsg)
{
WaitingDialog dlg;
dlg.setWindowModality(Qt::ApplicationModal);
dlg.setWindowIcon(QIcon(":/image/leaper"));
dlg.setWindowTitle(strMsg);
dlg.Start(50, 150),
dlg.show();
QEventLoop eventloop;
connect(this, SIGNAL(sgFinish()), &eventloop, SLOT(quit()));
eventloop.exec();
}
void lpReport::SaveLog(QString str)
{
// QString strMsg = m_pCtrl->getUserName() + ":" + str;
// m_pCtrl->addLog(strMsg, emTypeUseState);
}
QString lpReport::getHistoryCheckString()
{
QString m_strLast = ui.label_Time1_History->text();
QString m_endLast = ui.label_Time2_History->text();
QString modelName = ui.comboBox_Model->currentText();
QString strString;
if (modelName == tr("ȫ<EFBFBD><EFBFBD>"))
strString = QString("select * from wftable where time >'%1' and time <'%2'").arg(m_strLast).arg(m_endLast);
else
strString = QString("select * from wftable where time >'%1' and time <'%2' and model = '%3'").arg(m_strLast).arg(m_endLast).arg(modelName);
return strString;
}
Q_SLOT void lpReport::onHistoryButton()
{
QString strObj = sender()->objectName();
if ("Prev_checkShengchang" == strObj) {
if (m_PrevNum <= 0)
return;
int limitNum = ui.LineNumber_checkShengchang->text().toInt();
if (limitNum <= 0)
{
limitNum = 10;
ui.LineNumber_checkShengchang->setText("10");
}
QString strString = getHistoryCheckString();
m_PrevNum -= limitNum;
if (m_PrevNum <= 0)
m_PrevNum = 0;
strString = strString + QString(" LIMIT %1 OFFSET %2").arg(limitNum).arg(m_PrevNum);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> <20><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><E6BFA8>*/
CheckThread *workerThread = new CheckThread(this);
workerThread->setCheckStr(m_pDb, strString);
connect(workerThread, SIGNAL(resultReady(QSqlQuery)), this, SLOT(onUpdateTableViewShow(QSqlQuery)));
connect(workerThread, &CheckThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
m_totalPage = (m_totlaNum / limitNum);
m_page = ((m_PrevNum) / limitNum) + 1;
ui.showPage_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(m_page).arg(m_totalPage + 1));
if (m_PrevNum <= 0)
{
m_PrevNum = 0;
ui.Prev_checkShengchang->setDisabled(true);
}
ui.Next_checkShengchang->setDisabled(false);
}
else if ("Next_checkShengchang" == strObj) {
if (m_PrevNum >= m_totlaNum)
return;
int limitNum = ui.LineNumber_checkShengchang->text().toInt();
if (limitNum <= 0)
{
limitNum = 10;
ui.LineNumber_checkShengchang->setText("10");
}
m_PrevNum += limitNum;
if (m_PrevNum >= m_totlaNum)
m_PrevNum = m_totlaNum - limitNum;
QString strString = getHistoryCheckString();
strString = strString + QString(" LIMIT %1 OFFSET %2").arg(limitNum).arg(m_PrevNum);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> <20><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><E6BFA8>*/
CheckThread *workerThread = new CheckThread(this);
workerThread->setCheckStr(m_pDb, strString);
connect(workerThread, SIGNAL(resultReady(QSqlQuery)), this, SLOT(onUpdateTableViewShow(QSqlQuery)));
connect(workerThread, &CheckThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
m_totalPage = (m_totlaNum / limitNum);
m_page = (m_PrevNum + limitNum) / limitNum;
ui.showPage_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(m_page).arg(m_totalPage + 1));
if ((m_PrevNum + limitNum) >= m_totlaNum)
{
m_PrevNum = m_totlaNum;
ui.Next_checkShengchang->setDisabled(true);
}
ui.Prev_checkShengchang->setDisabled(false);
}
}
void lpReport::cleanHistorycal()
{
m_PrevNum = 0;
m_NextNum = 0;
m_totlaNum = 0;
m_page = 0;
m_totalPage = 0;
m_PrevNumlog = 0;
m_NextNumlog = 0;
m_totlaNumlog = 0;
m_pagelog = 0;
m_totalPagelog = 0;
ui.showNum_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(0));
ui.showPage_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(0).arg(0));
ui.Prev_checkShengchang->setDisabled(true);
ui.Next_checkShengchang->setDisabled(true);
ui.showNum_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(0));
ui.showPage_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(0).arg(0));
ui.Prev_checklog->setDisabled(true);
ui.Next_checklog->setDisabled(true);
}
Q_SLOT void lpReport::onSetCurrentIndex(int nIndex)
{
ui.label_Title->setText(ui.check_listWidget->item(nIndex)->data(0).toString());
emit(sgSetCurrentIndex(nIndex));
}
Q_SLOT void lpReport::onSaveCSVDone(int)
{
emit(sgFinish());
}
Q_SLOT void lpReport::handleResults(QString str)
{
//QString strMsg = "username" + ":" + tr("ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD>ʱ<EFBFBD><CAB1>ѯ<EFBFBD><D1AF>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>");
//m_pCtrl->addLog(strMsg, emTypeRunState);
onShowMessage(tr("ϵͳ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
}
Q_SLOT void lpReport::onShowMessage(QString str)
{
// QPulpewidget *pw = new QPulpewidget();
// pw->showmessage(str);
// pw->setParent(m_pDlgCheck);
// connect(pw, SIGNAL(finished()), pw, SLOT(deleteLater()));//
}
Q_SLOT void lpReport::onProgressForTsk(QVariantMap m_map)
{
QString nType = m_map.value("Type").toString();
if (nType == "start")
{
QString strMsg = m_map.value("msg", tr("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")).toString();
m_Progressdlg.setWindowTitle(strMsg);
m_Progressdlg.Start(50, 150),
m_Progressdlg.show();
}
else
{
m_Progressdlg.Stop();
m_Progressdlg.hide();
}
}
Q_SLOT void lpReport::handleResultsHistory(QVariantMap Mapstr, QSqlQuery sql)
{
updateModelShowHistory(sql);
QString m_strLast = ui.label_Time1_History->text();
QString m_endLast = ui.label_Time2_History->text();
m_totlaNum = Mapstr.value("sum").toInt();
int nlimit = Mapstr.value("limit").toInt();
int nIndex = Mapstr.value("nIndex").toInt();
QString m_Title = tr("<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>:%1 <20><> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:%2 <20><><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7>¼ <20><>%3<><33>").arg(m_strLast).arg(m_endLast).arg(m_totlaNum);
ui.label_Number->setText(QString::number(m_totlaNum));
QFont font;
font.setPixelSize(14);
font.setBold(true);
ui.label_Tab2_Title->setFont(font);
ui.label_Tab2_Title->setText(m_Title);
ui.Next_checkShengchang->setDisabled(false);
m_totalPage = (m_totlaNum / nlimit);
if (m_totlaNum > 0)
{
m_totalPage = m_totalPage + 1;
m_page = 1;
nIndex = m_totlaNum;
}
else
{
m_totlaNum = 0;
m_page = 0;
}
ui.showPage_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(m_page).arg(m_totalPage));
ui.showNum_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(nIndex));
onShowMessage(tr("<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
}
Q_SLOT void lpReport::onShowMsg()
{
onMessageBox(QMessageBox::Information, tr("<EFBFBD><EFBFBD>ʾ"), tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч"));
}
Q_SLOT void lpReport::handleResultsCount(const QString &result, const QMap<QString, int> *p)
{
reportdlg->ClearData();
reportdlg->setTitle(tr("ͳ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD> "));
if (p == NULL) {
m_IsRunCountTsk = false;
return;
}
reportdlg->SetData(QMap<QString, int>(*p)/*m_CountNumber*/);
if (!p->contains(QString("NG")))
reportdlg->AppendData(QString("NG"), 0, true);
reportdlg->AppendData(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), result.toInt(), true);
reportdlg->UpdateTableView();
onShowMessage(tr("ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
m_IsRunCountTsk = false;
if (p)
delete p;
}
Q_SLOT void lpReport::onLogButton()
{
QString strObj = sender()->objectName();
if ("Prev_checklog" == strObj) {
if (m_PrevNumlog <= 0)
return;
int limitNum = ui.LineNumber_log->text().toInt();
if (limitNum <= 0)
{
limitNum = 10;
ui.LineNumber_log->setText("10");
}
m_PrevNumlog -= limitNum;
if (m_PrevNumlog <= 0)
m_PrevNumlog = 0;
QString strString = getLogCheckString();
strString += QString(" LIMIT %1 OFFSET %2 ").arg(limitNum).arg(m_PrevNumlog);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> <20><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><E6BFA8>*/
CheckThread *workerThread = new CheckThread(this);
workerThread->setCheckStr(m_pDb, strString);
connect(workerThread, SIGNAL(resultReady(QSqlQuery)), this, SLOT(onUpdateTableViewShowlog(QSqlQuery)));
connect(workerThread, &CheckThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
m_totalPagelog = (m_totlaNumlog / limitNum);
m_pagelog = ((m_PrevNumlog) / limitNum) + 1;
ui.showPage_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(m_pagelog).arg(m_totalPagelog + 1));
if (m_PrevNumlog <= 0)
{
m_PrevNumlog = 0;
ui.Prev_checklog->setDisabled(true);
}
ui.Next_checklog->setDisabled(false);
}
else if ("Next_checklog" == strObj) {
if (m_PrevNumlog >= m_totlaNumlog)
return;
int limitNum = ui.LineNumber_log->text().toInt();
if (limitNum <= 0)
{
limitNum = 10;
ui.LineNumber_log->setText("10");
}
m_PrevNumlog += limitNum;
if (m_PrevNumlog >= m_totlaNumlog)
m_PrevNumlog = m_totlaNumlog - limitNum;
QString strString = getLogCheckString();
strString += QString(" LIMIT %1 OFFSET %2 ").arg(limitNum).arg(m_PrevNumlog);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> <20><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><E6BFA8>*/
CheckThread *workerThread = new CheckThread(this);
workerThread->setCheckStr(m_pDb, strString);
connect(workerThread, SIGNAL(resultReady(QSqlQuery)), this, SLOT(onUpdateTableViewShowlog(QSqlQuery)));
connect(workerThread, &CheckThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
m_totalPagelog = (m_totlaNumlog / limitNum);
m_pagelog = (m_PrevNumlog + limitNum) / limitNum;
ui.showPage_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(m_pagelog).arg(m_totalPagelog + 1));
if ((m_PrevNumlog + limitNum) >= m_totlaNumlog)
{
m_PrevNumlog = m_totlaNumlog;
ui.Next_checklog->setDisabled(true);
}
ui.Prev_checklog->setDisabled(false);
}
}
QString lpReport::getLogCheckString(int nCheckCount/*=0*/)
{
QString m_strLast = ui.label_Time1_warning->text();
QString m_endLast = ui.label_Time2_warning->text();
QString strCombox = ui.comboBox_Wandring_Log->currentText();
int mType = 0;
if (strCombox == tr("ʹ<EFBFBD>ü<EFBFBD>¼<EFBFBD><EFBFBD>ѯ")) {
mType = (int)emTypeUseState;
}
else if (strCombox == tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ѯ")) {
mType = (int)emTypeWaring;
}
else if (strCombox == tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ѯ")) {
mType = (int)emTypeRunState;
}
QVariantMap m_vlaue;
m_vlaue.insert(_CHECK_TIME1_, m_strLast);
m_vlaue.insert(_CHECK_TIME2_, m_endLast);
m_vlaue.insert(_CHECK_LOGTYPE, mType);
m_vlaue.insert(_CHECK_TYPE_, EMT_CHECK_BY_LOG);
if (nCheckCount == 1)
m_vlaue.insert(_CHECK_COUNT_, 1);
return m_pDb->genCheckStr(m_vlaue);
}
Q_SLOT void lpReport::onUpdateTableViewShow(QSqlQuery sql)
{
updateModelShowHistory(sql);
}
void lpReport::updateModelShowHistory(QSqlQuery &sql)
{
QStandardItemModel *testmodel = new QStandardItemModel;
ui.tableView_checkShengchang->setModel(testmodel);//<2F>Ƚ<EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
ui.tableView_checkShengchang->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.tableView_checkShengchang->setSelectionBehavior(QAbstractItemView::SelectRows);
ui.tableView_checkShengchang->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);//<2F><><EFBFBD><EFBFBD>Ӧ<EFBFBD>п<EFBFBD>
ui.tableView_checkShengchang->horizontalHeader()->setMaximumHeight(100);
if (m_tableModel == NULL)
m_tableModel = new QStandardItemModel;
m_tableModel->clear();
ui.CheckDlg_label_Pic->clear();
m_tableModel->setHorizontalHeaderItem(0, new QStandardItem(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>")));
m_tableModel->setHorizontalHeaderItem(1, new QStandardItem(tr("ƥ<EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>")));
m_tableModel->setHorizontalHeaderItem(2, new QStandardItem(tr("<EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>")));
m_tableModel->setHorizontalHeaderItem(3, new QStandardItem(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>s")));
m_tableModel->setHorizontalHeaderItem(4, new QStandardItem(tr("ֱ<EFBFBD><EFBFBD>mm")));
m_tableModel->setHorizontalHeaderItem(5, new QStandardItem(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>mm")));
m_tableModel->setHorizontalHeaderItem(6, new QStandardItem(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ")));
m_tableModel->setHorizontalHeaderItem(7, new QStandardItem(tr("uid")));
int nIndex = 0;
while (sql.next())
{
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʋ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ӧ<EFBFBD>IJ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>*/
int uid = sql.value("uid").toInt();
QString time = sql.value("time").toString();
QString model = sql.value("model").toString();
double dCorrelate = sql.value("correlate").toDouble();
QString correlate;
if (dCorrelate >= 1.7976931348623158e+308)
dCorrelate = 0;
correlate = QString::number(dCorrelate * 100, 'f', 3) + "%";
double dDetecttime = sql.value("detecttime").toDouble();
QString detecttime = QString::number(dDetecttime, 'f', 3);
double dDiameter = sql.value("diameter").toDouble();
QString diameter = QString::number(dDiameter, 'f', 3);
double dHight = sql.value("hight").toDouble();
QString hight = QString::number(dHight, 'f', 3);
QByteArray pic = sql.value("pic").toByteArray();
QImage img = QImage::fromData(pic);
QSize s = img.size();
QPixmap m_Pix = QPixmap::fromImage(img);
ui.CheckDlg_label_Pic->setPixmap(m_Pix.scaled(WHEEL_PIC_SIZE, WHEEL_PIC_SIZE));
m_tableModel->setItem(nIndex, 0, new QStandardItem(time));
m_tableModel->setItem(nIndex, 1, new QStandardItem(model));
m_tableModel->setItem(nIndex, 2, new QStandardItem(correlate));
m_tableModel->setItem(nIndex, 3, new QStandardItem(detecttime));
m_tableModel->setItem(nIndex, 4, new QStandardItem(diameter));
m_tableModel->setItem(nIndex, 5, new QStandardItem(hight));
m_tableModel->setItem(nIndex, 6, new QStandardItem(QIcon(m_Pix.scaled(50, 50)), ""));
m_tableModel->setItem(nIndex, 7, new QStandardItem(QString("%1").arg(uid)));
nIndex++;
}
ui.showNum_Label_Checkdata->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(nIndex));
ui.tableView_checkShengchang->setModel(m_tableModel);
ui.tableView_checkShengchang->hideColumn(7);
ui.tableView_checkShengchang->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
connect(ui.tableView_checkShengchang, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(onTableViewClick(QModelIndex)));
delete testmodel;
testmodel = NULL;
}
Q_SLOT void lpReport::onUpdateTableViewShowlog(QSqlQuery sql)
{
updateModelShowLog(sql);
}
Q_SLOT void lpReport::onResultCountlog(int nCount)
{
m_totlaNumlog = nCount;
emit(sgFinish());
}
Q_SLOT void lpReport::onResultCount(int nCount)
{
m_totlaNum = nCount;
emit(sgFinish());
}
void lpReport::CheckDataWarningByDate(int nType, QString m_strLast, QString m_endLast)
{
QString strString = getLogCheckString(1);
m_PrevNumlog = 0;
m_totlaNumlog = 0;
CheckThread *workThread = new CheckThread(this);
workThread->setCheckStr(m_pDb, strString);
workThread->setModelFlags(true);
connect(workThread, SIGNAL(resultCount(int)), this, SLOT(onResultCountlog(int)));
connect(workThread, &CheckThread::finished, workThread, &QObject::deleteLater);
workThread->start();
onEventLoop(tr("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>"));
strString = getLogCheckString();
int nlimit = ui.LineNumber_log->text().toInt();
if (nlimit <= 0)
{
nlimit = 10;
ui.LineNumber_log->setText("10");
}
strString += QString(" LIMIT %1 OFFSET %2 ").arg(nlimit).arg(m_PrevNumlog);
CheckThread *workerThread = new CheckThread(this);
workerThread->setCheckStr(m_pDb, strString);
connect(workerThread, SIGNAL(resultReady(QSqlQuery)), this, SLOT(onUpdateTableViewShowlog(QSqlQuery)));
connect(workerThread, &CheckThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
QString m_Title = tr("<EFBFBD><EFBFBD>%1 <20><> %2 <20>ļ<EFBFBD>¼ <20><>%3<><33>").arg(m_strLast).arg(m_endLast).arg(m_totlaNumlog);
QFont font;
font.setPixelSize(14);
font.setBold(true);
ui.label_Tab3_Title->setFont(font);
ui.label_Tab3_Title->setText(m_Title);
ui.Next_checklog->setDisabled(false);
m_totalPagelog = (m_totlaNumlog / nlimit);
if (m_totlaNumlog > 0)
{
m_totalPagelog = m_totalPagelog + 1;
m_pagelog = 1;
}
else
{
m_totlaNumlog = 0;
m_pagelog = 0;
}
ui.showPage_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD>%1ҳ <20><>%2ҳ").arg(m_pagelog).arg(m_totalPagelog));
}
void lpReport::updateModelShowLog(QSqlQuery &sql)
{
QStandardItemModel *testmodel = new QStandardItemModel;
ui.tableView_TWarning->setModel(testmodel);//<2F>Ƚ<EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
ui.tableView_TWarning->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.tableView_TWarning->setSelectionBehavior(QAbstractItemView::SelectRows);
ui.tableView_TWarning->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);//<2F><><EFBFBD><EFBFBD>Ӧ<EFBFBD>п<EFBFBD>
if (m_tableWarnModel == NULL)
m_tableWarnModel = new QStandardItemModel;
m_tableWarnModel->clear();
m_tableWarnModel->setHorizontalHeaderItem(0, new QStandardItem(tr("ʱ<EFBFBD><EFBFBD>")));
m_tableWarnModel->setHorizontalHeaderItem(1, new QStandardItem(tr("<EFBFBD><EFBFBD>Ϣ")));
int nIndex = 0;
while (sql.next())
{
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʋ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ӧ<EFBFBD>IJ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>*/
QString time = sql.value("time").toString();
QString message = sql.value("message").toString();
QString classd = sql.value("class").toString();
m_tableWarnModel->setItem(nIndex, 0, new QStandardItem(time));
m_tableWarnModel->setItem(nIndex, 1, new QStandardItem(message));
nIndex++;
}
ui.showNum_Label_Checkdata_2->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ%1<><31><EFBFBD><EFBFBD>¼").arg(nIndex));
ui.tableView_TWarning->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui.tableView_TWarning->setModel(m_tableWarnModel);
delete testmodel;
testmodel = NULL;
}
Q_SLOT void lpReport::SlotCombox(int index)
{
QObject *strobj = sender();
QString objname = strobj->objectName();
if ("comboBox_Banci_Calculate" == objname)
{
QString str = ui.comboBox_Banci_Calculate->currentText();
if (m_Totaltime.contains(str))
{
if (m_Totaltime.value(str).m_startTime >= m_Totaltime.value(str).m_endTime)
{
QDate m = m_endDate_Count.date();
m = m.addDays(-1);
QString strdata = m.toString("yyyy-MM-dd");
m_startDate_Count.setDate(m);
}
else
{
m_startDate_Count.setDate(m_endDate_Count.date());
}
if (m_startDate_Count.date() > m_endDate_Count.date())
m_startDate_Count.setDate(m_endDate_Count.date());
m_startDate_Count.setTime(m_Totaltime.value(str).m_startTime);//
m_endDate_Count.setTime(m_Totaltime.value(str).m_endTime);//
}
else
{
if (str == tr("ȫ<EFBFBD><EFBFBD>"))
{
QString strTime = nstartTime.toString("hh:mm:ss");
if (m_startDate_Count.date() > m_endDate_Count.date())
m_startDate_Count.setDate(m_endDate_Count.date());
m_startDate_Count.setTime(m_startTime);
m_endDate_Count.setTime(nEndTime);
QString strStart = m_startDate_Count.toString("yyyy-MM-dd hh:mm:ss");
}
}
ui.label_Time1_Count->setText(m_startDate_Count.toString("yyyy-MM-dd hh:mm:ss"));
ui.label_Time2_Count->setText(m_endDate_Count.toString("yyyy-MM-dd hh:mm:ss"));
}
else if ("comboBox_Banci" == objname)
{
QString str = ui.comboBox_Banci->currentText();
if (m_Totaltime.contains(str))
{
if (m_Totaltime.value(str).m_startTime >= m_Totaltime.value(str).m_endTime)
{
QDate m = m_endDate_History.date();
m = m.addDays(-1);
QString strdata = m.toString("yyyy-MM-dd");
m_startDate_History.setDate(m);
}
else
{
m_startDate_History.setDate(m_endDate_History.date());
}
if (m_startDate_History.date() > m_endDate_History.date())
m_startDate_History.setDate(m_endDate_History.date());
m_startDate_History.setTime(m_Totaltime.value(str).m_startTime);//
m_endDate_History.setTime(m_Totaltime.value(str).m_endTime);//
}
else
{
if (str == tr("ȫ<EFBFBD><EFBFBD>"))
{
QString strTime = nstartTime.toString("hh:mm:ss");
if (m_startDate_History.date() > m_endDate_History.date())
m_startDate_History.setDate(m_endDate_History.date());
m_startDate_History.setTime(m_startTime);
m_endDate_History.setTime(nEndTime);
QString strStart = m_startDate_History.toString("yyyy-MM-dd hh:mm:ss");
}
}
ui.label_Time1_History->setText(m_startDate_History.toString("yyyy-MM-dd hh:mm:ss"));
ui.label_Time2_History->setText(m_endDate_History.toString("yyyy-MM-dd hh:mm:ss"));
}
}
Q_SLOT void lpReport::onSlowPixmap(QSqlQuery sql)
{
static bool nFlag = false;
if (nFlag == true)
return;
nFlag = true;
sql.next();
double dHight = sql.value("hight").toDouble();
QByteArray pic = sql.value("pic").toByteArray();
QImage img = QImage::fromData(pic);
QSize s = img.size();
QPixmap m_Pix = QPixmap::fromImage(img);
{
int dhight = m_Pix.height();
int dwidth = m_Pix.width();
double nRate = m_Pix.width()*1.0 / m_Pix.height();
int scarew = 150;
int scareh = 150 * 1.0 / nRate;
if (scareh > 150)
{
scarew = 150;
scareh = 150 * 1.0 / nRate;
}
ui.CheckDlg_label_Pic->setPixmap(m_Pix.scaled(scarew, scareh));
}
nFlag = false;
}
Q_SLOT void lpReport::onTableViewClick(QModelIndex mIndex)
{
QString strObj = sender()->objectName();
if ("tableView_checkShengchang" == strObj) {
if (m_tableModel)
{
QModelIndex ItemIndex = m_tableModel->index(mIndex.row(), 7);
QString strdata = ItemIndex.data().toString();
if (m_pDb)
{
QVariantMap m_value;
m_value.insert(_CHECK_UID_, strdata);
m_value.insert(_CHECK_TYPE_, EMT_CHECK_BY_UID);
QString seletcStr = m_pDb->genCheckStr(m_value);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> <20><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><E6BFA8>*/
CheckThread *workerThread = new CheckThread(this);
workerThread->setCheckStr(m_pDb, seletcStr);
connect(workerThread, SIGNAL(resultReady(QSqlQuery)), this, SLOT(onSlowPixmap(QSqlQuery)));
connect(workerThread, &CheckThread::finished, workerThread, &QObject::deleteLater);
workerThread->start();
}
}
}
}
//<2F><>ʼ<EFBFBD><CABC>UI<55><49><EFBFBD><EFBFBD>
void lpReport::InitUIParam()
{
m_startDate_History = QDateTime::currentDateTime();
m_endDate_History = QDateTime::currentDateTime();
QString strstartDate = m_startDate_History.toString("yyyy-MM-dd hh:mm:ss");
ui.label_Time1_History->setText(m_startDate_History.toString("yyyy-MM-dd hh:mm:ss"));
ui.label_Time2_History->setText(m_endDate_History.toString("yyyy-MM-dd hh:mm:ss"));
ui.label_Time1_Count->setText(m_startDate_Count.toString("yyyy-MM-dd hh:mm:ss"));
ui.label_Time2_Count->setText(m_endDate_Count.toString("yyyy-MM-dd hh:mm:ss"));
m_startDate_Count = QDateTime::currentDateTime();
m_endDate_Count = QDateTime::currentDateTime();
m_endDate_Warning = m_startDate_Warning = QDateTime::currentDateTime();
m_startDate_Warning.setTime(nstartTime);
ui.label_Time1_warning->setText(m_startDate_Warning.toString("yyyy-MM-dd hh:mm:ss"));
ui.label_Time2_warning->setText(m_endDate_Warning.toString("yyyy-MM-dd hh:mm:ss"));
ui.comboBox_Banci->clear();
ui.comboBox_Banci->addItem(tr("ȫ<EFBFBD><EFBFBD>"));
ui.comboBox_Banci->addItems(m_Totaltime.keys());
ui.comboBox_Banci_Calculate->clear();
ui.comboBox_Banci_Calculate->addItem(tr("ȫ<EFBFBD><EFBFBD>"));
ui.comboBox_Banci_Calculate->addItems(m_Totaltime.keys());
ui.comboBox_Wandring_Log->clear();
ui.comboBox_Wandring_Log->addItem(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ѯ"));
ui.comboBox_Wandring_Log->addItem(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ѯ"));
ui.comboBox_Wandring_Log->addItem(tr("ʹ<EFBFBD>ü<EFBFBD>¼<EFBFBD><EFBFBD>ѯ"));
ui.label_Title->setText(tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>ѯ"));
ui.stackedWidget->setCurrentIndex(0);
if (m_tableModel)
{
m_tableModel->clear();
}
if (m_tableWarnModel)
m_tableWarnModel->clear();
ui.label_Number->setText("0");
ui.CheckDlg_label_Pic->clear();
if (reportdlg)
reportdlg->ClearData();
}
void lpReport::SetModelNames(QStringList models)
{
ui.comboBox_Model->clear();
ui.comboBox_Model->addItem(tr("ȫ<EFBFBD><EFBFBD>"));
if (!models.contains("NG"))
ui.comboBox_Model->addItem(tr("NG"));
ui.comboBox_Model->addItems(models);
if (_pCompleter)
delete _pCompleter;
_pCompleter = new QCompleter(models);
_pCompleter->setCaseSensitivity(Qt::CaseInsensitive);
ui.comboBox_Model->setCompleter(_pCompleter);
}