wumu
2023-08-31 10457ff67b999e9cc99624801c635e7f25e0d5ef
internal_system_v1/searchinfo.cpp
@@ -1,14 +1,167 @@
#include "searchinfo.h"
#include "ui_searchinfo.h"
#include <QDebug>
#include <QSqlError>
#include <QSqlQuery>
SearchInfo::SearchInfo(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::SearchInfo)
{
    ui->setupUi(this);
    if(QSqlDatabase::contains("qt_sql_default_connection")){
        m_db = QSqlDatabase::addDatabase("qt_sql_default_connection");
    }else{
        m_db = QSqlDatabase::addDatabase("QSQLITE");
    }
    m_db.setDatabaseName("sqlData.db");
    if(m_db.open()){
        qDebug()<<"db open ok";
        createSqlite();
        //m_db.close();
    }else{
        qDebug()<<"db open fail";
    }
}
SearchInfo::~SearchInfo()
{
    m_db.close();
    delete ui;
}
void SearchInfo::createSqlite()
{
    // 建表
    QString sql = "create table Internal_1 (id int primary key, name varchar(30), _020100 int)";
    QSqlQuery query;
    if(query.exec(sql))
    {
        qDebug()<<"create Internal_1 ok...";
    }else{
        qDebug()<<"create Internal_1 fail..."<<query.lastError().text();
    }
    sql = "CREATE TABLE file_up_info (\
            id      INTEGER      PRIMARY KEY AUTOINCREMENT,\
            name    VARCHAR (30),\
            code    TEXT,\
            up_time TEXT\
        )";
    if(query.exec(sql))
    {
        qDebug()<<"create file_up_info ok...";
    }else{
        qDebug()<<"create file_up_info fail..."<<query.lastError().text();
    }
    sql = "CREATE TABLE company_info (\
            id       INTEGER      PRIMARY KEY AUTOINCREMENT,\
            name     VARCHAR (30),\
            code     VARCHAR (30),\
            机构类型     TEXT,\
            主要业务活动   TEXT,\
            行业代码     TEXT,\
            单位注册地及区域 TEXT,\
            区域代码     TEXT,\
            城乡代码     TEXT,\
            单位规模     TEXT,\
            从业期末人数   TEXT,\
            法定代表人    TEXT,\
            执行会记标准类别 TEXT,\
            长途区号     TEXT,\
            固定电话     TEXT,\
            邮政编码     TEXT,\
            电子邮箱     TEXT,\
            网址       TEXT\
        )";
    if(query.exec(sql))
    {
        qDebug()<<"create company_info ok...";
    }else{
        qDebug()<<"create company_info fail..."<<query.lastError().text();
    }
    // 审计项目表
    createTableNoEvidences("audit_project");
    // 内审工作量表
    createTableNoEvidences("audit_workload");
    // 问题金额表
    createTableHasEvidences("problem_money");
    // 问题个数表
    createTableHasEvidences("problem_count");
    // 问题整改表
    createTableHasEvidences("problem_rectification");
    // 问题整改--非金额表
    createTableHasEvidences("problem_no_money");
    // 处分表
    createTableNoEvidences("punish");
    // 案件线索表
    createTableHasUnit("case_clue");
}
void SearchInfo::createTableHasEvidences(QString tableName)
{
    QString sql =QString( "CREATE TABLE %1 ( \
            id        INTEGER PRIMARY KEY AUTOINCREMENT,\
            kpi_name  TEXT,\
            code      TEXT,\
            num       INTEGER,\
            evidences TEXT,\
            com_id  INTEGER\
        )").arg(tableName);
    QSqlQuery query;
    if(query.exec(sql))
    {
        qDebug()<<QString("create %1 ok...").arg(tableName);
    }else{
        qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text();
    }
}
void SearchInfo::createTableNoEvidences(QString tableName)
{
    QString sql = QString("CREATE TABLE %1 (\
            id       INTEGER PRIMARY KEY AUTOINCREMENT,\
            kpi_name TEXT,\
            code     TEXT,\
            num      INTEGER,\
            com_id  INTEGER\
        )").arg(tableName);
    QSqlQuery query;
    if(query.exec(sql))
    {
        qDebug()<<QString("create %1 ok...").arg(tableName);
    }else{
        qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text();
    }
}
void SearchInfo::createTableHasUnit(QString tableName)
{
    QString sql = QString("CREATE TABLE %1 (\
            id       INTEGER PRIMARY KEY AUTOINCREMENT,\
            kpi_name TEXT,\
            code     TEXT,\
            unit     TEXT,\
            num      INTEGER,\
            com_id  INTEGER\
        )").arg(tableName);
    QSqlQuery query;
    if(query.exec(sql))
    {
        qDebug()<<QString("create %1 ok...").arg(tableName);
    }else{
        qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text();
    }
}