From ec275ba3c4c22fccf3d4a2900c31be67ca56be23 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期一, 04 九月 2023 22:22:35 +0800
Subject: [PATCH] 0904

---
 internal_system_v1/searchinfo.cpp |  199 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 198 insertions(+), 1 deletions(-)

diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp
index 52166f7..2b931ad 100644
--- a/internal_system_v1/searchinfo.cpp
+++ b/internal_system_v1/searchinfo.cpp
@@ -1,12 +1,23 @@
 #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);
+    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{
@@ -15,7 +26,9 @@
     m_db.setDatabaseName("sqlData.db");
     if(m_db.open()){
         qDebug()<<"db open ok";
-        m_db.close();
+        createSqlite();
+        //m_db.close();
+        searchComName(); // 鏌ヨ鍏徃鍚�
     }else{
         qDebug()<<"db open fail";
     }
@@ -25,5 +38,189 @@
 
 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,\
+            琛屼笟浠g爜     TEXT,\
+            鍗曚綅娉ㄥ唽鍦板強鍖哄煙 TEXT,\
+            鍖哄煙浠g爜     TEXT,\
+            鍩庝埂浠g爜     TEXT,\
+            鍗曚綅瑙勬ā     TEXT,\
+            浠庝笟鏈熸湯浜烘暟   TEXT,\
+            娉曞畾浠h〃浜�    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");
+    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";
+
+}
+
+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();
+    }
+}
+
+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()));
+        }
+    }
+
+}

--
Gitblit v1.8.0