From 31ed29f804a6850ef9a8f60326f4da603e7c8a39 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期一, 04 三月 2024 22:55:48 +0800
Subject: [PATCH] 0304

---
 internal_system_v1/searchinfo.cpp                 |   59 +++
 internal_system_v1/tableitemdelegate.cpp          |   11 
 internal_system_v1/clientmainwindow.h             |    6 
 internal_system_v1/problemrectificationresult.ui  |  157 ++++++++
 internal_system_v1/problemrectstandingbook.ui     |    6 
 internal_system_v1/converinfo2.cpp                |   18 
 internal_system_v1/coverinfo.cpp                  |    4 
 internal_system_v1/problemlist.ui                 |  187 ++++++++++
 internal_system_v1/problemrectificationresult.cpp |  177 +++++++++
 internal_system_v1/searchinfo.h                   |    4 
 internal_system_v1/converinfo2.ui                 |   45 --
 internal_system_v1/clientmainwindow.cpp           |   21 +
 internal_system_v1/problemlist.h                  |   38 ++
 internal_system_v1/clientmainwindow.ui            |   47 ++
 internal_system_v1/internal_system_v1.pro         |   14 
 审计系统.mmap                                         |    0 
 internal_system_v1/problemrectificationresult.h   |   38 ++
 internal_system_v1/problemlist.cpp                |  201 +++++++++++
 internal_system_v1/tableitemdelegate.h            |   15 
 19 files changed, 986 insertions(+), 62 deletions(-)

diff --git a/internal_system_v1/clientmainwindow.cpp b/internal_system_v1/clientmainwindow.cpp
index ab58567..035fff8 100644
--- a/internal_system_v1/clientmainwindow.cpp
+++ b/internal_system_v1/clientmainwindow.cpp
@@ -83,7 +83,12 @@
 //    m_coverInfo->setParent(ui->tab);
 
     // 闅愯棌鎺夋煇涓�夐」
+    // 鎸夌储寮曟潵锛屼粠澶у埌灏�
     ui->tabWidget->removeTab(3); // OK
+    ui->tabWidget->removeTab(1); // OK  鑰佷笟鍔℃儏鍐佃〃
+    ui->tabWidget->removeTab(0); // OK  鑰佸皝闈�
+
+
 
     // 闂鏁存敼鍙拌处
     m_proRecStandingBook = new ProblemRectStandingBook(this);
@@ -103,7 +108,14 @@
 
     // 鏂扮増鏈�
     m_conInfo2 = new ConverInfo2(this);
-    ui->tabWidget->addTab(m_conInfo2,"鍩烘湰淇℃伅");
+    //ui->tabWidget->addTab(m_conInfo2,"鍩烘湰淇℃伅");
+    ui->tabWidget->insertTab(0,m_conInfo2,"灏侀潰淇℃伅");
+
+    m_problemList = new ProblemList(this);
+    ui->tabWidget->addTab(m_problemList,"闂娓呭崟");
+
+    m_problemRectifResult = new ProblemRectificationResult(this);
+    ui->tabWidget->addTab(m_problemRectifResult,"鏁存敼鎴愭灉");
 
 
 }
@@ -447,3 +459,10 @@
     qDebug()<<__FUNCTION__<<row<<column;
     calc();
 }
+
+void ClientMainWindow::on_pushButton_save_clicked()
+{
+    // 淇濆瓨鏁版嵁锛岀粨鏋勬瘮杈冪壒娈婏紝闇�瑕佸琛屽鍒楀悓鏃跺啓鍏�
+    // 寰楄�冭檻鍒嗘鍗曡〃澶勭悊鏂瑰彲
+    // 鑾峰彇鍐欏埌鏂囦欢閲岄潰锛屾瘡涓崟浣嶄竴涓枃浠�
+}
diff --git a/internal_system_v1/clientmainwindow.h b/internal_system_v1/clientmainwindow.h
index 354778b..b4bb1e1 100644
--- a/internal_system_v1/clientmainwindow.h
+++ b/internal_system_v1/clientmainwindow.h
@@ -17,6 +17,8 @@
 #include "converinfo2.h"
 
 #include "xlsxdocument.h"
+#include "problemlist.h"
+#include "problemrectificationresult.h"
 
 namespace Ui {
 class ClientMainWindow;
@@ -73,6 +75,8 @@
 
     void on_tableWidget_cellClicked(int row, int column);
 
+    void on_pushButton_save_clicked();
+
 signals:
     void sendDataToAuditProject(QVariantList);
     void sendDataToAuditWorkLoad(QVariantList);
@@ -100,6 +104,8 @@
 
     // 鏂扮増鏈�
     ConverInfo2* m_conInfo2;
+    ProblemList *m_problemList;
+    ProblemRectificationResult *m_problemRectifResult;
 
 };
 
diff --git a/internal_system_v1/clientmainwindow.ui b/internal_system_v1/clientmainwindow.ui
index 715d377..92316ae 100644
--- a/internal_system_v1/clientmainwindow.ui
+++ b/internal_system_v1/clientmainwindow.ui
@@ -11,10 +11,10 @@
    </rect>
   </property>
   <property name="windowTitle">
-   <string>IS v1.1</string>
+   <string>IS v2.0</string>
   </property>
   <widget class="QWidget" name="centralWidget">
-   <layout class="QGridLayout" name="gridLayout">
+   <layout class="QGridLayout" name="gridLayout_3">
     <item row="0" column="0">
      <widget class="QTabWidget" name="tabWidget">
       <property name="currentIndex">
@@ -205,9 +205,16 @@
       </widget>
       <widget class="QWidget" name="tab_4">
        <attribute name="title">
-        <string>缁熻缁煎悎琛�</string>
+        <string>缁煎悎褰曞叆</string>
        </attribute>
-       <layout class="QGridLayout" name="gridLayout_3">
+       <layout class="QGridLayout" name="gridLayout">
+        <item row="0" column="0">
+         <widget class="QComboBox" name="comboBox_company">
+          <property name="editable">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
         <item row="1" column="0">
          <widget class="QTableWidget" name="tableWidget">
           <attribute name="verticalHeaderVisible">
@@ -4110,8 +4117,36 @@
           </item>
          </widget>
         </item>
-        <item row="0" column="0">
-         <widget class="QComboBox" name="comboBox_company"/>
+        <item row="2" column="0">
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <item>
+           <spacer name="horizontalSpacer">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item>
+           <widget class="QLabel" name="label_2">
+            <property name="text">
+             <string>姹囨�讳慨鏀瑰畬鎴愮偣鍑绘寜閽�--&gt;</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QPushButton" name="pushButton_save">
+            <property name="text">
+             <string>姹囨�诲綍鍏�</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
         </item>
        </layout>
       </widget>
diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp
index 2725b2e..244da58 100644
--- a/internal_system_v1/converinfo2.cpp
+++ b/internal_system_v1/converinfo2.cpp
@@ -241,16 +241,16 @@
                 QVariant  val = usedRange->dynamicCall("Value"); // 鎷垮埌浜岀淮琛ㄦ牸
                 QVariantList valRows = val.toList();
                 // 閬嶅巻姣忎竴椤�
-                for(int i=0;i<rows;++i){
-                    QVariantList valrow = valRows[i].toList();
-                    for(int j=0;j<columns;++j){
-                        QVariant valData = valrow[j];
-                        if(valData.isValid()){
-                            qDebug()<<"val:"<< i<< j << valData;
-                        }
+//                for(int i=0;i<rows;++i){
+//                    QVariantList valrow = valRows[i].toList();
+//                    for(int j=0;j<columns;++j){
+//                        QVariant valData = valrow[j];
+//                        if(valData.isValid()){
+//                            qDebug()<<"val:"<< i<< j << valData;
+//                        }
 
-                    }
-                }
+//                    }
+//                }
 
                 // 瀹炰緥鍖栫粨鏋勪綋锛岀劧鍚庢尐涓祴鍊�
                 ComInfo curComInfo;
diff --git a/internal_system_v1/converinfo2.ui b/internal_system_v1/converinfo2.ui
index b31378f..e9c5184 100644
--- a/internal_system_v1/converinfo2.ui
+++ b/internal_system_v1/converinfo2.ui
@@ -38,10 +38,10 @@
       <widget class="QWidget" name="scrollAreaWidgetContents">
        <property name="geometry">
         <rect>
-         <x>0</x>
-         <y>-1097</y>
-         <width>1000</width>
-         <height>3000</height>
+         <x>-115</x>
+         <y>-637</y>
+         <width>1100</width>
+         <height>1600</height>
         </rect>
        </property>
        <widget class="QLabel" name="label_webSite">
@@ -557,22 +557,6 @@
          <set>Qt::AlignCenter</set>
         </property>
        </widget>
-       <widget class="QPushButton" name="pushButton_importExcel">
-        <property name="geometry">
-         <rect>
-          <x>660</x>
-          <y>90</y>
-          <width>291</width>
-          <height>28</height>
-         </rect>
-        </property>
-        <property name="styleSheet">
-         <string notr="true">background-color: rgb(0, 170, 255);</string>
-        </property>
-        <property name="text">
-         <string>鎵嬪姩瀵煎叆</string>
-        </property>
-       </widget>
        <widget class="QLabel" name="label_22">
         <property name="geometry">
          <rect>
@@ -686,21 +670,6 @@
         <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
-       </widget>
-       <widget class="QComboBox" name="comboBox">
-        <property name="geometry">
-         <rect>
-          <x>660</x>
-          <y>60</y>
-          <width>291</width>
-          <height>22</height>
-         </rect>
-        </property>
-        <item>
-         <property name="text">
-          <string>鍏徃鍚嶇О</string>
-         </property>
-        </item>
        </widget>
        <widget class="QLabel" name="label_3">
         <property name="geometry">
@@ -973,7 +942,7 @@
          <rect>
           <x>250</x>
           <y>50</y>
-          <width>391</width>
+          <width>581</width>
           <height>41</height>
          </rect>
         </property>
@@ -983,7 +952,7 @@
          <rect>
           <x>250</x>
           <y>90</y>
-          <width>391</width>
+          <width>581</width>
           <height>41</height>
          </rect>
         </property>
@@ -3522,14 +3491,12 @@
        <zorder>label_31</zorder>
        <zorder>label</zorder>
        <zorder>label_people</zorder>
-       <zorder>pushButton_importExcel</zorder>
        <zorder>label_22</zorder>
        <zorder>label_name</zorder>
        <zorder>label_29</zorder>
        <zorder>label_creditCode</zorder>
        <zorder>label_18</zorder>
        <zorder>label_25</zorder>
-       <zorder>comboBox</zorder>
        <zorder>label_3</zorder>
        <zorder>label_15</zorder>
        <zorder>label_8</zorder>
diff --git a/internal_system_v1/coverinfo.cpp b/internal_system_v1/coverinfo.cpp
index 881d37c..cf28952 100644
--- a/internal_system_v1/coverinfo.cpp
+++ b/internal_system_v1/coverinfo.cpp
@@ -17,8 +17,8 @@
     ui->setupUi(this);
     CoInitializeEx(NULL, COINIT_MULTITHREADED); // 鍏堝皢COM搴撳垵濮嬪寲
 
-    readInfo();
-    readDataFromSQL(); // 浠庢暟鎹簱璇诲彇鏁版嵁
+    //readInfo();
+    //readDataFromSQL(); // 浠庢暟鎹簱璇诲彇鏁版嵁
 
 }
 
diff --git a/internal_system_v1/internal_system_v1.pro b/internal_system_v1/internal_system_v1.pro
index 3119ced..20de903 100644
--- a/internal_system_v1/internal_system_v1.pro
+++ b/internal_system_v1/internal_system_v1.pro
@@ -37,7 +37,10 @@
     coverinfo.cpp \
     searchinfo.cpp \
     problemrectstandingbook.cpp \
-    converinfo2.cpp
+    converinfo2.cpp \
+    problemlist.cpp \
+    problemrectificationresult.cpp \
+    tableitemdelegate.cpp
 
 HEADERS += \
         clientmainwindow.h \
@@ -53,7 +56,10 @@
     searchinfo.h \
     problemrectstandingbook.h \
     converinfo2.h \
-    struct_data.h
+    struct_data.h \
+    problemlist.h \
+    problemrectificationresult.h \
+    tableitemdelegate.h
 
 FORMS += \
         clientmainwindow.ui \
@@ -68,7 +74,9 @@
     coverinfo.ui \
     searchinfo.ui \
     problemrectstandingbook.ui \
-    converinfo2.ui
+    converinfo2.ui \
+    problemlist.ui \
+    problemrectificationresult.ui
 
 include(QXlsx/QXlsx.pri)
 
diff --git a/internal_system_v1/problemlist.cpp b/internal_system_v1/problemlist.cpp
new file mode 100644
index 0000000..d51cbe9
--- /dev/null
+++ b/internal_system_v1/problemlist.cpp
@@ -0,0 +1,201 @@
+锘�#include "problemlist.h"
+#include "ui_problemlist.h"
+#include <QDebug>
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QMessageBox>
+
+ProblemList::ProblemList(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::ProblemList)
+{
+    ui->setupUi(this);
+    initUi();
+}
+
+ProblemList::~ProblemList()
+{
+    delete ui;
+}
+
+void ProblemList::initUi()
+{
+    ui->tableWidget->setItem(0,0,new QTableWidgetItem("闂娓呭崟"));
+    ui->tableWidget->setSpan(0,0,3,2);
+    ui->tableWidget->item(0,0)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(0,2,new QTableWidgetItem("鏁存敼妫�鏌ョ粨鏋滃強瀵硅处閿�鍙锋竻鍗�"));
+    ui->tableWidget->setSpan(0,2,1,12);
+    ui->tableWidget->item(0,2)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(1,2,new QTableWidgetItem("鏁存敼妫�鏌ョ粨鏋�"));
+    ui->tableWidget->setSpan(1,2,2,2);
+    ui->tableWidget->item(1,2)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(1,4,new QTableWidgetItem("鏁存敼绫诲瀷"));
+    ui->tableWidget->setSpan(1,4,1,8);
+    ui->tableWidget->item(1,4)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(2,4,new QTableWidgetItem("宸叉暣鏀�"));
+    ui->tableWidget->setSpan(2,4,1,3);
+    ui->tableWidget->item(2,4)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(2,7,new QTableWidgetItem("姝e湪鏁存敼"));
+    ui->tableWidget->setSpan(2,7,1,2);
+    ui->tableWidget->item(2,7)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(2,9,new QTableWidgetItem("灏氭湭鏁存敼"));
+    ui->tableWidget->setSpan(2,9,1,3);
+    ui->tableWidget->item(2,9)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(1,12,new QTableWidgetItem("鏄惁閿�鍙�"));
+    ui->tableWidget->setSpan(1,12,3,1);
+    ui->tableWidget->item(1,12)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setItem(1,13,new QTableWidgetItem("閿�鍙锋椂闂�"));
+    ui->tableWidget->setSpan(1,13,3,1);
+    ui->tableWidget->item(1,13)->setTextAlignment(Qt::AlignCenter);
+
+
+    // 涓嬬骇鍒楁爣棰� 12涓�
+    ui->tableWidget->setItem(3,0,new QTableWidgetItem("搴忓彿"));
+    ui->tableWidget->setItem(3,1,new QTableWidgetItem("鎽樿"));
+    ui->tableWidget->setItem(3,2,new QTableWidgetItem("妫�鏌ユ椂闂�"));
+    ui->tableWidget->setItem(3,3,new QTableWidgetItem("妫�鏌ユ柟寮�"));
+    ui->tableWidget->setItem(3,4,new QTableWidgetItem("绾犳闂"));
+    ui->tableWidget->setItem(3,5,new QTableWidgetItem("瀹屽杽鍒跺害"));
+    ui->tableWidget->setItem(3,6,new QTableWidgetItem("瀹屾垚鏃堕棿"));
+    ui->tableWidget->setItem(3,7,new QTableWidgetItem("涓昏鍘熷洜"));
+    ui->tableWidget->setItem(3,8,new QTableWidgetItem("瀹屾垚鏃堕檺"));
+    ui->tableWidget->setItem(3,9,new QTableWidgetItem("涓昏鍘熷洜"));
+    ui->tableWidget->setItem(3,10,new QTableWidgetItem("璐d换閮ㄩ棬鎴栬矗浠讳汉"));
+    ui->tableWidget->setItem(3,11,new QTableWidgetItem("瀹屾垚鏃堕檺"));
+
+    // 绂佹缂栬緫
+    for(int i=0;i<4;++i){
+        ui->tableWidget->setItemDelegateForRow(i,new TableItemDelegate());
+    }
+
+
+    // 鍙抽敭鑿滃崟
+    m_menu = new QMenu(this);
+    m_menu->addAction("鍒犻櫎褰撳墠琛�");
+    ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
+    connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenuSlot(QPoint)));
+    connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteAction()));
+
+
+    // 鍔犺浇鍏徃鍚�
+    readCompanyFromSQL();
+}
+
+void ProblemList::readCompanyFromSQL()
+{
+    ui->comboBox_company->clear();
+
+    QString sql = "select DISTINCT name from all_company_info";
+    QSqlQuery query;
+    if(query.exec(sql)){
+        qDebug()<<QString("select DISTINCT all_company_info ok");
+
+        while(query.next()){ // 娣诲姞鍏徃鍚�
+            QString name = query.value(0).toString();
+            ui->comboBox_company->addItem(name);
+        }
+
+    }else{
+        qDebug()<<QString("select all_company_info fail...")<<query.lastError().text();
+
+    }
+}
+
+void ProblemList::showMenuSlot(QPoint){
+    m_menu->exec(QCursor::pos());
+}
+
+void ProblemList::deleteAction(){
+
+    int row = ui->tableWidget->currentRow();
+    if(row>=4){
+        qDebug()<<"ok";
+        ui->tableWidget->removeRow(row);
+    }else{
+        qDebug()<<"fail";
+    }
+}
+void ProblemList::on_pushButton_addRow_clicked()
+{
+    ui->tableWidget->insertRow(ui->tableWidget->rowCount());
+}
+
+void ProblemList::on_pushButton_save_clicked()
+{
+    QString sql = QString("insert into problem_list_info (name,搴忓彿,鎽樿,妫�鏌ユ椂闂�,妫�鏌ユ柟寮�,绾犳闂,瀹屽杽鍒跺害\
+,瀹屾垚鏃堕棿,涓昏鍘熷洜,瀹屾垚鏃堕檺,涓昏鍘熷洜1,璐d换閮ㄩ棬鎴栬矗浠讳汉,瀹屾垚鏃堕檺1,鏄惁閿�鍙�,閿�鍙锋椂闂�) values ");
+    QString name = ui->comboBox_company->currentText();
+
+    for(int i=4;i<ui->tableWidget->rowCount();++i){
+        QStringList labels;
+
+        for(int j=0;j<ui->tableWidget->columnCount();++j){
+            QTableWidgetItem *item = ui->tableWidget->item(i,j);;
+            qDebug() <<i<<j <<item;
+            if(item){
+                qDebug()<<"OK";
+                labels<<item->data(Qt::EditRole).toString();
+            }else{
+                labels<<" ";
+            }
+        }
+        qDebug()<<labels;
+        if(labels.at(0)==" ")continue;
+        if(name.size()==0){
+            QMessageBox::information(this,"鍗曚綅淇℃伅涓虹┖ ","璇疯緭鍏ュ崟浣嶅悕绉�");
+            continue;
+        }
+        sql += QString("('%1',").arg(name);
+        for(int k=0;k<labels.size()-1;++k){
+            sql += QString("'%1',").arg(labels[k]);
+        }
+        sql += QString("'%1')").arg(labels.back());
+    }
+
+    qDebug()<<"sql="<<sql;
+    QSqlQuery query;
+    if(query.exec(sql))
+    {
+      qDebug()<<QString("insert  problem_list_info ok...");
+      QMessageBox::information(this,"OK","娣诲姞鎴愬姛");
+    }else{
+      qDebug()<<QString("insert problem_list_info fail...")<<query.lastError().text();
+      QMessageBox::information(this,"娣诲姞澶辫触","鍙兘娣诲姞鐨勬暟鎹笉鍏ㄥ鑷寸殑锛屽緱纭姣忚鐨勯椤规湁鏁版嵁");
+    }
+}
+
+void ProblemList::on_comboBox_company_currentIndexChanged(const QString &arg1)
+{
+    // 瑕佹竻闄や笂涓�瀹跺叕鍙哥殑鏁版嵁
+    ui->tableWidget->setRowCount(4);
+    ui->tableWidget->setRowCount(7);
+    // 鍔犺浇琛ㄦ牸淇℃伅
+    qDebug()<<"current :"<<arg1;
+
+    QString sql = QString("select * from problem_list_info where name='%1'").arg(arg1);
+    QSqlQuery query;
+    if(query.exec(sql)){
+        qDebug()<<QString("select problem_list_info ok");
+        int row=0;
+        while(query.next()){ // 娣诲姞琛屾暟鎹�
+            for(int i=0;i<14;++i){
+                ui->tableWidget->setItem(row+4,i,new QTableWidgetItem(query.value(2+i).toString()));
+            }
+            row++;
+            ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1); // 澧炲姞涓�涓柊鐨勮
+        }
+        qDebug()<<"row:"<<row;
+
+    }else{
+        qDebug()<<QString("select problem_list_info fail...")<<query.lastError().text();
+
+    }
+}
diff --git a/internal_system_v1/problemlist.h b/internal_system_v1/problemlist.h
new file mode 100644
index 0000000..6aba923
--- /dev/null
+++ b/internal_system_v1/problemlist.h
@@ -0,0 +1,38 @@
+锘�#ifndef PROBLEMLIST_H
+#define PROBLEMLIST_H
+
+#include <QMainWindow>
+#include "tableitemdelegate.h"
+#include <QMenu>
+#include <QAction>
+
+namespace Ui {
+class ProblemList;
+}
+
+class ProblemList : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit ProblemList(QWidget *parent = 0);
+    ~ProblemList();
+    void initUi();
+
+    void readCompanyFromSQL();
+
+private slots:
+    void on_pushButton_addRow_clicked();
+
+    void on_pushButton_save_clicked();
+
+    void showMenuSlot(QPoint);
+    void deleteAction();
+    void on_comboBox_company_currentIndexChanged(const QString &arg1);
+
+private:
+    Ui::ProblemList *ui;
+    QMenu *m_menu;
+};
+
+#endif // PROBLEMLIST_H
diff --git a/internal_system_v1/problemlist.ui b/internal_system_v1/problemlist.ui
new file mode 100644
index 0000000..0aae487
--- /dev/null
+++ b/internal_system_v1/problemlist.ui
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ProblemList</class>
+ <widget class="QMainWindow" name="ProblemList">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1031</width>
+    <height>609</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <widget class="QComboBox" name="comboBox_company">
+      <property name="editable">
+       <bool>true</bool>
+      </property>
+     </widget>
+    </item>
+    <item row="1" column="0">
+     <widget class="QTableWidget" name="tableWidget">
+      <attribute name="horizontalHeaderVisible">
+       <bool>false</bool>
+      </attribute>
+      <attribute name="verticalHeaderVisible">
+       <bool>false</bool>
+      </attribute>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+     </widget>
+    </item>
+    <item row="2" column="0">
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QPushButton" name="pushButton_addRow">
+        <property name="text">
+         <string>澧炲姞涓�琛�</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <widget class="QPushButton" name="pushButton_save">
+        <property name="text">
+         <string>淇濆瓨</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>1031</width>
+     <height>26</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/internal_system_v1/problemrectificationresult.cpp b/internal_system_v1/problemrectificationresult.cpp
new file mode 100644
index 0000000..2bc7c9f
--- /dev/null
+++ b/internal_system_v1/problemrectificationresult.cpp
@@ -0,0 +1,177 @@
+锘�#include "problemrectificationresult.h"
+#include "ui_problemrectificationresult.h"
+#include <QMessageBox>
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QDebug>
+
+ProblemRectificationResult::ProblemRectificationResult(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::ProblemRectificationResult)
+{
+    ui->setupUi(this);
+    initUi();
+}
+
+ProblemRectificationResult::~ProblemRectificationResult()
+{
+    delete ui;
+}
+
+void ProblemRectificationResult::initUi()
+{
+    ui->tableWidget->setSpan(0,0,1,5);
+    ui->tableWidget->setItem(0,0,new QTableWidgetItem("鏁存敼鎴愭灉"));
+    ui->tableWidget->item(0,0)->setTextAlignment(Qt::AlignCenter);
+
+    ui->tableWidget->setSpan(1,0,1,2);
+    ui->tableWidget->setItem(1,0,new QTableWidgetItem("鍒跺害寤鸿"));
+    ui->tableWidget->item(1,0)->setTextAlignment(Qt::AlignCenter);
+    ui->tableWidget->setSpan(1,2,1,3);
+    ui->tableWidget->setItem(1,2,new QTableWidgetItem("璧勯噾鏀跺洖"));
+    ui->tableWidget->item(1,2)->setTextAlignment(Qt::AlignCenter);
+    ui->tableWidget->setSpan(0,5,3,1);
+    ui->tableWidget->setItem(0,5,new QTableWidgetItem("澶勭悊浜�"));
+    ui->tableWidget->setSpan(0,6,3,1);
+    ui->tableWidget->setItem(0,6,new QTableWidgetItem("瀹h疮鍩硅"));
+    ui->tableWidget->setSpan(0,7,3,1);
+    ui->tableWidget->setItem(0,7,new QTableWidgetItem("鍏朵粬"));
+    ui->tableWidget->setSpan(0,8,3,1);
+    ui->tableWidget->setItem(0,8,new QTableWidgetItem("瀹℃牳缁撴灉"));
+    ui->tableWidget->setSpan(0,9,3,1);
+    ui->tableWidget->setItem(0,9,new QTableWidgetItem("娉ㄩ攢"));
+
+    // 涓嬬骇鏍囬
+    ui->tableWidget->setItem(2,0,new QTableWidgetItem("淇鍒跺害"));
+    ui->tableWidget->setItem(2,1,new QTableWidgetItem("鏂板鍒跺害"));
+    ui->tableWidget->setItem(2,2,new QTableWidgetItem("鎸藉洖鎹熷け"));
+    ui->tableWidget->setItem(2,3,new QTableWidgetItem("鍓旈櫎"));
+    ui->tableWidget->setItem(2,4,new QTableWidgetItem("瀹″噺"));
+
+    // 绂佹缂栬緫
+    for(int i=0;i<3;++i){
+        ui->tableWidget->setItemDelegateForRow(i,new TableItemDelegate());
+    }
+
+    // 鍙抽敭鑿滃崟
+    m_menu = new QMenu(this);
+    m_menu->addAction("鍒犻櫎褰撳墠琛�");
+    ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
+    connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenuSlot(QPoint)));
+    connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteAction()));
+
+    // 鍔犺浇涓嬫媺妗嗙殑鍏徃鍚�
+    readCompanyFromSQL();
+
+}
+
+void ProblemRectificationResult::readCompanyFromSQL()
+{
+    ui->comboBox_company->clear();
+
+    QString sql = "select DISTINCT name from all_company_info";
+    QSqlQuery query;
+    if(query.exec(sql)){
+        qDebug()<<QString("select DISTINCT all_company_info ok");
+
+        while(query.next()){ // 娣诲姞鍏徃鍚�
+            QString name = query.value(0).toString();
+            ui->comboBox_company->addItem(name);
+        }
+
+    }else{
+        qDebug()<<QString("select all_company_info fail...")<<query.lastError().text();
+
+    }
+}
+
+void ProblemRectificationResult::showMenuSlot(QPoint){
+    m_menu->exec(QCursor::pos());
+}
+
+void ProblemRectificationResult::deleteAction(){
+
+    int row = ui->tableWidget->currentRow();
+    if(row>=3){
+        qDebug()<<"ok";
+        ui->tableWidget->removeRow(row);
+    }else{
+        qDebug()<<"fail";
+    }
+}
+
+void ProblemRectificationResult::on_pushButton_addRow_clicked()
+{
+    ui->tableWidget->insertRow(ui->tableWidget->rowCount());
+}
+
+void ProblemRectificationResult::on_pushButton_save_clicked()
+{
+    QString sql = QString("insert into rectify_result_info (name,淇鍒跺害,鏂板鍒跺害,鎸藉洖鎹熷け,鍓旈櫎,瀹″噺,澶勭悊浜�,瀹h疮鍩硅,鍏朵粬,瀹℃牳缁撴灉,娉ㄩ攢) values ");
+    QString name = ui->comboBox_company->currentText();
+
+    for(int i=3;i<ui->tableWidget->rowCount();++i){
+        QStringList labels;
+
+        for(int j=0;j<ui->tableWidget->columnCount();++j){
+            QTableWidgetItem *item = ui->tableWidget->item(i,j);;
+            qDebug() <<i<<j <<item;
+            if(item){
+                qDebug()<<"OK";
+                labels<<item->data(Qt::EditRole).toString();
+            }else{
+                labels<<" ";
+            }
+        }
+        qDebug()<<labels;
+        if(labels.at(0)==" ")continue;
+        if(name.size()==0){
+            QMessageBox::information(this,"鍗曚綅淇℃伅涓虹┖ ","璇疯緭鍏ュ崟浣嶅悕绉�");
+            continue;
+        }
+        sql += QString("('%1',").arg(name);
+        for(int k=0;k<labels.size()-1;++k){
+            sql += QString("'%1',").arg(labels[k]);
+        }
+        sql += QString("'%1')").arg(labels.back());
+    }
+
+    qDebug()<<"sql="<<sql;
+    QSqlQuery query;
+    if(query.exec(sql))
+    {
+      qDebug()<<QString("insert  rectify_result_info ok...");
+      QMessageBox::information(this,"OK","娣诲姞鎴愬姛");
+    }else{
+      qDebug()<<QString("insert rectify_result_info fail...")<<query.lastError().text();
+      QMessageBox::information(this,"娣诲姞澶辫触","鍙兘娣诲姞鐨勬暟鎹笉鍏ㄥ鑷寸殑锛屽緱纭姣忚鐨勯椤规湁鏁版嵁");
+    }
+}
+
+void ProblemRectificationResult::on_comboBox_company_currentIndexChanged(const QString &arg1)
+{
+    // 瑕佹竻闄や笂涓�瀹跺叕鍙哥殑鏁版嵁
+    ui->tableWidget->setRowCount(3);
+    ui->tableWidget->setRowCount(6);
+    // 鍔犺浇琛ㄦ牸淇℃伅
+    qDebug()<<"current :"<<arg1;
+
+    QString sql = QString("select * from rectify_result_info where name='%1'").arg(arg1);
+    QSqlQuery query;
+    if(query.exec(sql)){
+        qDebug()<<QString("select rectify_result_info ok");
+        int row=0;
+        while(query.next()){ // 娣诲姞琛屾暟鎹�
+            for(int i=0;i<10;++i){
+                ui->tableWidget->setItem(row+3,i,new QTableWidgetItem(query.value(2+i).toString()));
+            }
+            row++;
+            ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1); // 澧炲姞涓�涓柊鐨勮
+        }
+        qDebug()<<"row:"<<row;
+
+    }else{
+        qDebug()<<QString("select rectify_result_info fail...")<<query.lastError().text();
+
+    }
+}
diff --git a/internal_system_v1/problemrectificationresult.h b/internal_system_v1/problemrectificationresult.h
new file mode 100644
index 0000000..5c6b061
--- /dev/null
+++ b/internal_system_v1/problemrectificationresult.h
@@ -0,0 +1,38 @@
+锘�#ifndef PROBLEMRECTIFICATIONRESULT_H
+#define PROBLEMRECTIFICATIONRESULT_H
+
+#include <QMainWindow>
+#include "tableitemdelegate.h"
+#include <QMenu>
+#include <QAction>
+
+namespace Ui {
+class ProblemRectificationResult;
+}
+
+class ProblemRectificationResult : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit ProblemRectificationResult(QWidget *parent = 0);
+    ~ProblemRectificationResult();
+
+    void initUi();
+    void readCompanyFromSQL();
+
+private slots:
+    void on_pushButton_addRow_clicked();
+
+    void on_pushButton_save_clicked();
+
+    void showMenuSlot(QPoint);
+    void deleteAction();
+    void on_comboBox_company_currentIndexChanged(const QString &arg1);
+
+private:
+    Ui::ProblemRectificationResult *ui;
+    QMenu *m_menu;
+};
+
+#endif // PROBLEMRECTIFICATIONRESULT_H
diff --git a/internal_system_v1/problemrectificationresult.ui b/internal_system_v1/problemrectificationresult.ui
new file mode 100644
index 0000000..37ddfb3
--- /dev/null
+++ b/internal_system_v1/problemrectificationresult.ui
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ProblemRectificationResult</class>
+ <widget class="QMainWindow" name="ProblemRectificationResult">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1076</width>
+    <height>639</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <widget class="QComboBox" name="comboBox_company">
+      <property name="editable">
+       <bool>true</bool>
+      </property>
+     </widget>
+    </item>
+    <item row="1" column="0">
+     <widget class="QTableWidget" name="tableWidget">
+      <attribute name="horizontalHeaderVisible">
+       <bool>false</bool>
+      </attribute>
+      <attribute name="verticalHeaderVisible">
+       <bool>false</bool>
+      </attribute>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <row>
+       <property name="text">
+        <string>鏂板缓琛�</string>
+       </property>
+      </row>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+      <column>
+       <property name="text">
+        <string>鏂板缓鍒�</string>
+       </property>
+      </column>
+     </widget>
+    </item>
+    <item row="2" column="0">
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QPushButton" name="pushButton_addRow">
+        <property name="text">
+         <string>澧炲姞涓�琛�</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <widget class="QPushButton" name="pushButton_save">
+        <property name="text">
+         <string>淇濆瓨</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>1076</width>
+     <height>26</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/internal_system_v1/problemrectstandingbook.ui b/internal_system_v1/problemrectstandingbook.ui
index 18e927b..f76ec04 100644
--- a/internal_system_v1/problemrectstandingbook.ui
+++ b/internal_system_v1/problemrectstandingbook.ui
@@ -16,7 +16,11 @@
   <widget class="QWidget" name="centralwidget">
    <layout class="QGridLayout" name="gridLayout">
     <item row="0" column="0" colspan="2">
-     <widget class="QComboBox" name="comboBox_company"/>
+     <widget class="QComboBox" name="comboBox_company">
+      <property name="editable">
+       <bool>true</bool>
+      </property>
+     </widget>
     </item>
     <item row="1" column="0">
      <widget class="QTextEdit" name="textEdit">
diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp
index 3612669..47a40e2 100644
--- a/internal_system_v1/searchinfo.cpp
+++ b/internal_system_v1/searchinfo.cpp
@@ -140,6 +140,65 @@
     // 鍗曚綅鐨勬墍鏈変俊鎭〃  鍒涘缓
     createTableAllComInfo("all_company_info");
 
+    // 鏁存敼缁撴灉淇℃伅琛� 鍒涘缓
+    createTableRectifyResultInfo("rectify_result_info");
+
+    // 闂娓呭崟淇℃伅琛� 鍒涘缓
+    createTableProblemListInfo("problem_list_info");
+
+}
+
+// 鏁存敼缁撴灉淇℃伅琛�
+void SearchInfo::createTableRectifyResultInfo(QString tableName){
+    QString sql = QString("CREATE TABLE %1 (\
+            id       INTEGER      PRIMARY KEY AUTOINCREMENT,\
+            name     VARCHAR (30),\
+            淇鍒跺害     TEXT,\
+            鏂板鍒跺害     TEXT,\
+            鎸藉洖鎹熷け     TEXT,\
+            鍓旈櫎     TEXT,\
+            瀹″噺     TEXT,\
+            澶勭悊浜�     TEXT,\
+            瀹h疮鍩硅     TEXT,\
+            鍏朵粬     TEXT,\
+            瀹℃牳缁撴灉     TEXT,\
+            娉ㄩ攢     TEXT)").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::createTableProblemListInfo(QString tableName){
+    QString sql = QString("CREATE TABLE %1 (\
+            id       INTEGER      PRIMARY KEY AUTOINCREMENT,\
+            name     VARCHAR (30),\
+            搴忓彿     TEXT,\
+            鎽樿     TEXT,\
+            妫�鏌ユ椂闂�     TEXT,\
+            妫�鏌ユ柟寮�     TEXT,\
+            绾犳闂     TEXT,\
+            瀹屽杽鍒跺害     TEXT,\
+            瀹屾垚鏃堕棿     TEXT,\
+            涓昏鍘熷洜     TEXT,\
+            瀹屾垚鏃堕檺     TEXT,\
+            涓昏鍘熷洜1     TEXT,\
+            璐d换閮ㄩ棬鎴栬矗浠讳汉     TEXT,\
+            瀹屾垚鏃堕檺1     TEXT,\
+            鏄惁閿�鍙�     TEXT,\
+            閿�鍙锋椂闂�     TEXT)").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();
+    }
 
 }
 
diff --git a/internal_system_v1/searchinfo.h b/internal_system_v1/searchinfo.h
index 12becd2..8833cfd 100644
--- a/internal_system_v1/searchinfo.h
+++ b/internal_system_v1/searchinfo.h
@@ -26,7 +26,9 @@
     QVector<QVector<QString>> getResult(QString &sql,int colCnt);
     void setLabels();
 
-    void createTableAllComInfo(QString tableName);
+    void createTableAllComInfo(QString tableName); // 鍗曚綅淇℃伅琛ㄥ叏
+    void createTableRectifyResultInfo(QString tableName); // 鏁存敼缁撴灉淇℃伅琛�
+    void createTableProblemListInfo(QString tableName);  // 闂娓呭崟鍒楄〃淇℃伅琛�
 private slots:
     void on_pushButton_search_clicked();
 
diff --git a/internal_system_v1/tableitemdelegate.cpp b/internal_system_v1/tableitemdelegate.cpp
new file mode 100644
index 0000000..e67ff2f
--- /dev/null
+++ b/internal_system_v1/tableitemdelegate.cpp
@@ -0,0 +1,11 @@
+锘�#include "tableitemdelegate.h"
+
+TableItemDelegate::TableItemDelegate()
+{
+
+}
+
+QWidget *TableItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
+{
+    return nullptr;
+}
diff --git a/internal_system_v1/tableitemdelegate.h b/internal_system_v1/tableitemdelegate.h
new file mode 100644
index 0000000..7a7c9cd
--- /dev/null
+++ b/internal_system_v1/tableitemdelegate.h
@@ -0,0 +1,15 @@
+锘�#ifndef TABLEITEMDELEGATE_H
+#define TABLEITEMDELEGATE_H
+
+#include <QStyledItemDelegate>
+
+
+
+class TableItemDelegate : public QStyledItemDelegate
+{
+public:
+    TableItemDelegate();
+    QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
+};
+
+#endif // TABLEITEMDELEGATE_H
diff --git "a/\345\256\241\350\256\241\347\263\273\347\273\237.mmap" "b/\345\256\241\350\256\241\347\263\273\347\273\237.mmap"
index 4b79607..e8b8c1d 100644
--- "a/\345\256\241\350\256\241\347\263\273\347\273\237.mmap"
+++ "b/\345\256\241\350\256\241\347\263\273\347\273\237.mmap"
Binary files differ

--
Gitblit v1.8.0