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/checkdata.h

71 lines
1.7 KiB
C

#ifndef CHECKDATA_H
#define CHECKDATA_H
#include <QObject>
#include "QStandardItemModel.h"
#include "QIcon"
#include "QPixmap"
#include "QByteArray"
#include "databasesql.h"
#include "QJsonObject"
#include <QVariantMap>
#pragma execution_character_set("utf-8")//使用utf-8编码 可以使用中文,解决乱码
class CheckData : public QObject
{
Q_OBJECT
public:
CheckData(QObject *parent=0){ m_pDb = NULL; };
~CheckData(){};
void setDB(DataBaseSql* pDB){ m_pDb = pDB; };
public slots:
void doWork(QVariantMap m_map)
{
QVariantMap m_proMap;
m_proMap.insert("Type", "start");
emit sgShowProgress(m_proMap);
QVariantMap Mapstr;
QString strSql_Count = m_map.value("SqlCount").toString();
QString strSql_Check = m_map.value("SqlCheck").toString();
int nLimit = m_map.value("limit").toInt();
int nSum = 0;
int nIndex = 0;
QSqlQuery sql_Check;
if (m_pDb){
QSqlQuery sql_Count;
m_proMap.insert("msg", "正在获取数量");
emit sgShowProgress(m_proMap);
m_pDb->checkoutData(strSql_Count, sql_Count);
while (sql_Count.next()){
nSum = sql_Count.value(0).toInt();
}
//加入
//emit something
m_proMap.remove("msg");
m_proMap.insert("msg", "正在获取数据");
emit sgShowProgress(m_proMap);
m_pDb->checkoutData(strSql_Check, sql_Check);
}
Mapstr.insert("sum", nSum);
Mapstr.insert("nIndex", nIndex);
Mapstr.insert("limit", nLimit);
m_proMap.remove("Type");
m_proMap.insert("Type", "stop");
emit sgShowProgress(m_proMap);
emit resultReady(Mapstr, sql_Check);
//emit something
};
private:
class DataBaseSql *m_pDb;
signals:
void resultReady(QVariantMap Mapstr,QSqlQuery sql);
void sgShowMsg(QString str);
void sgShowProgress(QVariantMap m_Map);
};
#endif // CHECKDATA_H