wumu
2023-09-04 ec275ba3c4c22fccf3d4a2900c31be67ca56be23
internal_system_v1/searchinfo.cpp
@@ -9,6 +9,15 @@
    ui(new Ui::SearchInfo)
{
    ui->setupUi(this);
    ui->label_2->hide();
    ui->label_3->hide();
    ui->dateTimeEdit->hide();
    ui->dateTimeEdit_2->hide();
    m_model = new QStandardItemModel(this);
    ui->tableView->setModel(m_model);
    ui->tableView->verticalHeader()->setVisible(false); // 隐藏行头
    if(QSqlDatabase::contains("qt_sql_default_connection")){
        m_db = QSqlDatabase::addDatabase("qt_sql_default_connection");
    }else{
@@ -19,6 +28,7 @@
        qDebug()<<"db open ok";
        createSqlite();
        //m_db.close();
        searchComName(); // 查询公司名
    }else{
        qDebug()<<"db open fail";
    }
@@ -57,7 +67,26 @@
        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))";
    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...";
@@ -67,27 +96,34 @@
    // 审计项目表
    createTableNoEvidences("audit_project");
    m_itemAndTable["审计项目"] = "audit_project";
    // 内审工作量表
    createTableNoEvidences("audit_workload");
    m_itemAndTable["内审工作量"] = "audit_workload";
    // 问题金额表
    createTableHasEvidences("problem_money");
    m_itemAndTable["问题金额"] = "problem_money";
    // 问题个数表
    createTableHasEvidences("problem_count");
    m_itemAndTable["问题个数"] = "problem_count";
    // 问题整改表
    createTableHasEvidences("problem_rectification");
    m_itemAndTable["问题整改"] = "problem_rectification";
    // 问题整改--非金额表
    createTableHasEvidences("problem_no_money");
    m_itemAndTable["问题整改--非金额"] = "problem_no_money";
    // 处分表
    createTableNoEvidences("punish");
    m_itemAndTable["处分"] = "punish";
    // 案件线索表
    createTableHasUnit("case_clue");
    m_itemAndTable["案件线索"] = "case_clue";
}
@@ -146,3 +182,45 @@
        qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text();
    }
}
void SearchInfo::searchComName()
{
    QSqlQuery query;
    QString sql = QString("select id,name from company_info");
    if(query.exec(sql)){
        qDebug()<<"size:"<<query.numRowsAffected();
        while(query.next()){
            int id = query.value(0).toInt();
            QString name = query.value(1).toString();
            qDebug()<<"com select:"<<id<<name;
            m_comInfo[name] = id;
            ui->comboBox_company->addItem(name);
        }
    }
}
void SearchInfo::on_pushButton_search_clicked()
{
    // 获取信息,然后查询
    QString item = ui->comboBox->currentText();
    QString comName = ui->comboBox_company->currentText();
    QString sql = QString("select * from %1 where com_id=%2").arg(m_itemAndTable[item]).arg(m_comInfo[comName]);
    qDebug()<<__FUNCTION__<<sql;
    QSqlQuery query;
    if(query.exec(sql)){
        qDebug()<<"size:"<<query.size();
        m_model->setRowCount(0);
        int rowCnt = 0;
        while (query.next()) {
            rowCnt++;
            m_model->setRowCount(rowCnt);
            qDebug()<<query.value(0).toInt();
            m_model->setItem(rowCnt-1,0,new QStandardItem(query.value(0).toString()));
            m_model->setItem(rowCnt-1,1,new QStandardItem(query.value(1).toString()));
            m_model->setItem(rowCnt-1,2,new QStandardItem(query.value(2).toString()));
            m_model->setItem(rowCnt-1,3,new QStandardItem(query.value(3).toString()));
            m_model->setItem(rowCnt-1,4,new QStandardItem(query.value(4).toString()));
        }
    }
}