#ifndef SQLITEASSISTANT_H
#define SQLITEASSISTANT_H

#include <QObject>
#include <QSql>
#include <QSqlQueryModel>
#include <QTableWidget>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlError>
#include "vehinfo.h"
class SqliteAssistant : public QObject
{
    Q_OBJECT
public:
    explicit SqliteAssistant(QObject *parent = nullptr);
    long connectSql();  //检测连接
    long Insert_GoodTypeInfo(QString data); //插入货物信息
    QStringList Select_GoodTypeInfo(); //查询货物信息
    long Insert_CustomerInfo(QString data); //插入客户信息
    QStringList Select_CustomerInfo(); //查询客户信息
    QStringList Select_EqptInfo(); //查询设备表信息
    long Delete_CustomerInfo(QString data); //删除客户信息
    long Delete_GoodTypeInfo(QString data); //删除货物信息
    long Insert_EquipmentInfo(QString data,QString data2); //插入设备注册信息

    long Delete_EquipmentInfo(QString data); //删除设备注册信息

    long Insert_SystemConfigInfo(QString data,QString data2); //插入配置信息

    //long Updata_SystemConfigInfo(QString data,QString data2); //更新配置信息

    QString Select_SystemConfigInfo(QString data); //查询配置信息
    QString Select_AdminInfo(QString data); //查询管理员信息
    QString Select_AdminInfoName(); //查询管理员名字
    long Insert_UserInfo(QString data,QString data2,QString data3); //插入用户信息
    QStringList Select_UserInfo(); //查找用户信息
    QStringList Select_UserInfo2(); //查找用户信息2
    QString Select_UserInfo3(QString data); //查找用户信息3
    long Delete_UserInfo(QString data); //删除用户
    long Updata_AdminInfo(QString data); //查询管理员信息
    long Insert_WeighingRun(QString data,QString data2,
                            QString data3,QString data4,
                            QString data5,QString data6,
                            QString data7,QString data8,
                            QString data9,QString data10); //插入称重信息
long select_ui_WeighingRun(QTableWidget *weight,int sumCount);
long Delete_WeighingRun(int data);  //删除记录
int GetRowounts(QString tableName); //  获取表记录
long SelectInfo_sqliteView(QTableWidget *weight,SelectInfor &infor,int sumCount);   //查询界面
    //    long Insert_GoodTypeInfo(QString data);
    //    long Insert_GoodTypeInfo(QString data);
    //    long Insert_GoodTypeInfo(QString data);
    //    long Insert_GoodTypeInfo(QString data);
    //    long Insert_GoodTypeInfo(QString data);

signals:
    void Send_Data_Exists();
    void Send_Data_Not_Exists();
    void RecvFromBridge_Insert_GoodTypeInfo(QString data);
    void Send_DataModel(QSqlQueryModel *data);
private:
    QSqlDatabase database;
    QSqlQuery *m_pSqlHandle;
};
extern SqliteAssistant *m_SqliteAssistant;
#endif // SQLITEASSISTANT_H
