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 |   61 ++++++++++++++++++++++++++++++
 internal_system_v1/searchinfo.h   |   10 +++++
 internal_system_v1/searchinfo.ui  |    8 ++--
 3 files changed, 74 insertions(+), 5 deletions(-)

diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp
index 4b6e206..2b931ad 100644
--- a/internal_system_v1/searchinfo.cpp
+++ b/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";
     }
@@ -86,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";
 
 }
 
@@ -165,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()));
+        }
+    }
+
+}
diff --git a/internal_system_v1/searchinfo.h b/internal_system_v1/searchinfo.h
index a809041..fe754ae 100644
--- a/internal_system_v1/searchinfo.h
+++ b/internal_system_v1/searchinfo.h
@@ -2,7 +2,10 @@
 #define SEARCHINFO_H
 
 #include <QMainWindow>
+#include <QMap>
 #include "QSqlDatabase"
+#include <QStandardItemModel>
+
 
 namespace Ui {
 class SearchInfo;
@@ -19,10 +22,17 @@
     void createTableHasEvidences(QString tableName); // 鏈変綈璇佺殑琛�
     void createTableNoEvidences(QString tableName); // 鏃犱綈璇佺殑琛�
     void createTableHasUnit(QString tableName); // 鏃犱綈璇佺殑琛ㄤ笖鏈夎閲忓崟浣嶇殑琛�
+    void searchComName();
+
+private slots:
+    void on_pushButton_search_clicked();
 
 private:
     Ui::SearchInfo *ui;
     QSqlDatabase m_db;
+    QMap<QString,int> m_comInfo;
+    QMap<QString,QString> m_itemAndTable;
+    QStandardItemModel *m_model;
 };
 
 #endif // SEARCHINFO_H
diff --git a/internal_system_v1/searchinfo.ui b/internal_system_v1/searchinfo.ui
index 2b8ed2b..db9a919 100644
--- a/internal_system_v1/searchinfo.ui
+++ b/internal_system_v1/searchinfo.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>800</width>
+    <width>924</width>
     <height>600</height>
    </rect>
   </property>
@@ -154,7 +154,7 @@
         </widget>
        </item>
        <item>
-        <widget class="QComboBox" name="comboBox_2">
+        <widget class="QComboBox" name="comboBox_company">
          <item>
           <property name="text">
            <string>鍏徃鍚嶇О</string>
@@ -163,7 +163,7 @@
         </widget>
        </item>
        <item>
-        <widget class="QPushButton" name="pushButton">
+        <widget class="QPushButton" name="pushButton_search">
          <property name="text">
           <string>鏌ヨ</string>
          </property>
@@ -182,7 +182,7 @@
     <rect>
      <x>0</x>
      <y>0</y>
-     <width>800</width>
+     <width>924</width>
      <height>26</height>
     </rect>
    </property>

--
Gitblit v1.8.0