From 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期日, 27 四月 2025 22:13:53 +0800
Subject: [PATCH] 0427

---
 internal_system_v1/clientmainwindow.cpp | 1055 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,053 insertions(+), 2 deletions(-)

diff --git a/internal_system_v1/clientmainwindow.cpp b/internal_system_v1/clientmainwindow.cpp
index 579c8e8..f3a0e77 100644
--- a/internal_system_v1/clientmainwindow.cpp
+++ b/internal_system_v1/clientmainwindow.cpp
@@ -1,12 +1,16 @@
-#include "clientmainwindow.h"
+锘�#include "clientmainwindow.h"
 #include "ui_clientmainwindow.h"
 #include <QDebug>
 #include <QFileDialog>
 #include <QMessageBox>
 #include <QSqlQuery>
 #include <QSqlRecord>
+#include <QTimer>
+
+#pragma execution_character_set("utf-8")
 
 extern int g_comId;
+extern QString g_dataRootPath;
 QString g_auditDate;
 
 ClientMainWindow::ClientMainWindow(QWidget *parent) :
@@ -17,18 +21,51 @@
 
     ui->dateEdit->setDate(QDate::currentDate());
     g_auditDate = QDate::currentDate().toString("yyyy-MM-dd");
+    ui->tableWidget->setColumnWidth(0,200);
+    ui->tableWidget->setColumnWidth(1,80);
+    ui->tableWidget->setColumnWidth(2,80);
+    ui->tableWidget->setColumnWidth(4,ui->tableWidget->columnWidth(4)+15);
     initUi();
+    searchComName();
+
+    ui->statusBar->showMessage("灏侀潰淇℃伅鍔犺浇涓�...");
 }
 
 ClientMainWindow::~ClientMainWindow()
 {
     delete ui;
 }
+void ClientMainWindow::searchComName()
+{
+    QSqlQuery query;
+    QString sql = QString("select id,name,code 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();
+            QString code = query.value(2).toString();
+            qDebug()<<"com select:"<<id<<name;
+            m_comInfo[name] = id;
+            //m_comCode[name] = code;
+            ui->comboBox_company->addItem(name);
+        }
+    }
+}
+
+void ClientMainWindow::delay(int msec)
+{
+    QTimer::singleShot(msec, this, [=]{
+        qDebug()<<"寤舵椂瀹屾垚鍟�...";
+        emit loadExcelSignal();
+    });
+    qDebug()<<"寤舵椂鏃堕暱..."<<msec;
+}
 
 void ClientMainWindow::initUi()
 {
     m_searchInfo = new SearchInfo(this);
-    ui->tabWidget->addTab(m_searchInfo,"淇℃伅鏌ヨ");
+    //ui->tabWidget->addTab(m_searchInfo,"淇℃伅鏌ヨ"); // 涓嶆樉绀�
 
     m_coverInfo = new CoverInfo(this);
     m_coverInfo->setParent(ui->tab);
@@ -60,7 +97,16 @@
 //    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);
+    //ui->tabWidget->addTab(m_proRecStandingBook,"闂鏁存敼鍙拌处");
 
     // 鍏宠仈鍚勪釜鍔熻兘妲�
     connect(m_coverInfo,SIGNAL(sendComName(QString)),m_searchInfo,SLOT(addComName(QString)));
@@ -74,7 +120,55 @@
     connect(this,SIGNAL(sendDataToPunish(QVariantList)),m_punish,SLOT(showData(QVariantList)));
     connect(this,SIGNAL(sendDataToCaseClue(QVariantList)),m_caseClue,SLOT(showData(QVariantList)));
 
+    // 鏂扮増鏈�
+    m_conInfo2 = new ConverInfo2(this);
+    //ui->tabWidget->addTab(m_conInfo2,"鍩烘湰淇℃伅");
+    ui->tabWidget->insertTab(0,m_conInfo2,"灏侀潰淇℃伅");
+    connect(this,SIGNAL(loadExcelSignal()),m_conInfo2,SLOT(showExcelSlot()),Qt::QueuedConnection);
+    // 鎺у埗鏄剧ず鐘舵�佹爮鐨勪俊鎭�
+    connect(m_conInfo2,&ConverInfo2::loadFinished,this,[=]{
+        ui->statusBar->showMessage("灏侀潰淇℃伅鍔犺浇瀹屾垚",10*1000);
+    });
+    // 鎺у埗鏄剧ず鍔犺浇杩涘害鐨勪俊鎭�
+    connect(m_conInfo2,&ConverInfo2::loadProgress,this,[=](int val){
+        ui->statusBar->showMessage(QString("灏侀潰淇℃伅鍔犺浇宸插畬鎴� %1 %").arg(val));
+    });
 
+    m_problemList = new ProblemList(this);
+    //ui->tabWidget->addTab(m_problemList,"闂娓呭崟");
+
+    m_problemRectifResult = new ProblemRectificationResult(this);
+    //ui->tabWidget->addTab(m_problemRectifResult,"鏁存敼鎴愭灉");
+
+    m_tableItemDelegate = new TableItemDelegate(); // 浠g悊 绂佺敤缂栬緫
+    m_editDelegate = new QItemDelegate(this); // 鍙紪杈�
+
+    ui->tableWidget->setItemDelegateForColumn(0,m_tableItemDelegate);
+    ui->tableWidget->setItemDelegateForColumn(1,m_tableItemDelegate);
+    ui->tableWidget->setItemDelegateForColumn(2,m_tableItemDelegate);
+
+    // 3鍜�1
+    m_threeMPList = new ThreeMergeProblemList(this);
+    ui->tabWidget->addTab(m_threeMPList,"涓夊悎涓�闂澶勭悊");
+
+    // 榛樿璋冪敤涓�涓嬩笅鎷夋鐨勮Е鍙戞搷浣�
+    on_comboBox_currentIndexChanged("浼佷笟(涓嶅惈閲戣瀺浼佷笟)");
+
+    // 鏈�鍚庤Е鍙戝姞杞界數瀛愯〃鏍肩殑淇″彿
+    //emit loadExcelSignal();
+    //qDebug()<<"鍙戝皠鍔犺浇鐢靛瓙琛ㄦ牸鐨勪俊鍙�";
+    delay(1000);
+
+    // 鍏宠仈鏇存柊鍏徃鍚嶄笅鎷夋鐨勪俊鎭〃
+    connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap<QString,ComInfo>&)),this,SLOT(updateComboList(QMap<QString,ComInfo>&)));
+    connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap<QString,ComInfo>&)),m_threeMPList,SLOT(updateComboList(QMap<QString,ComInfo>&)));
+
+
+    // 鎺у埗琛ㄦ牸鍙樉绀哄洓浠ュ悗鐨勫唴瀹癸紝鍓嶉潰鐨�1-3閮ㄥ垎缁欓殣钘忔帀
+    for(int i=1;i<=29;++i){
+        ui->tableWidget->hideRow(i);
+    }
+    ui->tableWidget->hideRow(40);
 }
 
 void ClientMainWindow::readDataFromExcel(QString path)
@@ -285,8 +379,965 @@
 
 }
 
+void ClientMainWindow::calc()
+{
+    for(int i=1;i<ui->tableWidget->rowCount();++i){
+        int sum = 0;
+        for(int j=4;j<ui->tableWidget->columnCount();++j){
+            sum += ui->tableWidget->item(i,j)->text().toInt();
+        }
+        ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(sum)));
+
+        if(i==7){ // 瀛﹀巻
+            int val = 0;
+            for(int j = 8;j<=10;++j){
+                val += ui->tableWidget->item(j,3)->text().toInt();
+            }
+            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
+            ui->tableWidget->setItem(5,3,new QTableWidgetItem(QString::number(val))); // 鍐呴儴瀹¤浜哄憳鏁伴噺
+        }
+
+        if(i==11){ // 鑱岀О
+            int val = 0;
+            for(int j = 12;j<=15;++j){
+                val += ui->tableWidget->item(j,3)->text().toInt();
+            }
+            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
+
+        }
+
+        if(i==20){ // 鐭ヨ瘑缁撴瀯
+            int val = 0;
+            for(int j = 21;j<=28;++j){
+                val += ui->tableWidget->item(j,3)->text().toInt();
+            }
+            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
+        }
+
+        if(i==30){ // 瀹¤椤圭洰
+            // 6鍒楅兘寰楁眰鍜�
+            for(int k=0;k<6;++k){
+                int val = 0;
+                for(int j = 31;j<=38;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toInt();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==41){ // 瀹¤鍙戠幇闂閲戦
+            for(int k=0;k<6;++k){
+                double val = 0;
+                for(int j = 42;j<=43;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toDouble();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==43){ // 鍚堣鎬ч棶棰橀噾棰�
+            for(int k=0;k<6;++k){
+                double val = 0;
+                for(int j = 44;j<=51;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toDouble();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==52){ // 瀹¤鍙戠幇闂涓暟
+            for(int k=0;k<6;++k){
+                int val = 0;
+                for(int j = 53;j<=54;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toInt();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==54){ // 闈為噾棰濈被闂涓暟
+            for(int k=0;k<6;++k){
+                int val = 0;
+                for(int j = 55;j<=58;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toInt();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==59){ // 瀹¤鍙戠幇闂鏁存敼(閲戦绫�)
+            for(int k=0;k<6;++k){
+                double val = 0;
+                for(int j = 60;j<=65;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toDouble();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==66){ // 瀹¤鍙戠幇闂鏁存敼(闈為噾棰濈被)
+            for(int k=0;k<6;++k){
+                int val = 0;
+                for(int j = 67;j<=70;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toInt();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+
+        if(i==71){ // 澶勫垎
+            for(int k=0;k<6;++k){
+                int val = 0;
+                for(int j = 72;j<=74;++j){
+                    val += ui->tableWidget->item(j,3+k)->text().toInt();
+                }
+                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
+            }
+
+        }
+    }
+}
+
 void ClientMainWindow::on_dateEdit_dateChanged(const QDate &date)
 {
     g_auditDate = date.toString("yyyy-MM-dd");
     qDebug()<<g_auditDate;
 }
+
+void ClientMainWindow::on_tableWidget_activated(const QModelIndex &index)
+{
+    qDebug()<<__FUNCTION__<<index;
+}
+
+void ClientMainWindow::on_tableWidget_clicked(const QModelIndex &index)
+{
+    qDebug()<<__FUNCTION__<<index;
+}
+
+void ClientMainWindow::on_tableWidget_itemEntered(QTableWidgetItem *item)
+{
+    qDebug()<<__FUNCTION__<<item;
+}
+
+void ClientMainWindow::on_tableWidget_cellEntered(int row, int column)
+{
+    qDebug()<<__FUNCTION__<<row<<column;
+    calc();
+}
+
+void ClientMainWindow::on_tableWidget_cellClicked(int row, int column)
+{
+    qDebug()<<__FUNCTION__<<row<<column;
+    calc();
+}
+
+void ClientMainWindow::on_pushButton_save_clicked()
+{
+    // 淇濆瓨鏁版嵁锛岀粨鏋勬瘮杈冪壒娈婏紝闇�瑕佸琛屽鍒楀悓鏃跺啓鍏�
+    // 寰楄�冭檻鍒嗘鍗曡〃澶勭悊鏂瑰彲
+    // 鑾峰彇鍐欏埌鏂囦欢閲岄潰锛屾瘡涓崟浣嶄竴涓枃浠�
+    // 鎶婂崟浣嶇被鍨嬩綔涓轰竴涓垪鍗冲彲
+    qDebug()<<"淇濆瓨鏁版嵁";
+    for(int i=1;i<ui->tableWidget->rowCount();++i){
+        qDebug()<<"data:"<<ui->tableWidget->item(i,1)->text()<<" "<<ui->tableWidget->item(i,3)->text();
+    }
+    // 鍏堝垽鏂叕鍙搞�佸勾浠藉湪涓嶅湪锛屼笉鍦ㄥ垯鏂板锛屽湪鍒欎慨鏀�
+    QString year = ui->dateEdit_year->text();
+    QString name = ui->comboBox_company->currentText();
+    QString sql = QString("select name from comprehensive_entry_info where name='%1' and year='%2'").arg(name).arg(year);
+    qDebug()<<"sql select:"<<sql;
+    QSqlQuery query;
+    bool nameExsit = false;
+    if(query.exec(sql))
+    {
+      qDebug()<<QString("select comprehensive_entry_info ok...");
+      while (query.next()) {
+          nameExsit = true;
+          qDebug()<<"鍏徃鍚嶅瓨鍦�:"<<ui->comboBox_company->currentText();
+          break;
+      }
+    }else{
+      qDebug()<<QString("select comprehensive_entry_info fail...")<<query.lastError().text();
+    }
+    if(!nameExsit){
+        qDebug()<<"鍏徃鍚嶄笉瀛樺湪:"<<ui->comboBox_company->currentText();
+        // 鎻掑叆
+        sql = QString("insert into comprehensive_entry_info (name,_030000,_030001,_030100,_030101,_030200,_030210,_030220,_030221,_030222,_030223,_030230,\
+                      _030231,\
+                      _030232,\
+                      _030233,\
+                      _030234,\
+                      _030240,\
+                      _030241,\
+                      _030242,\
+                      _030243,\
+                      _030250,\
+                      _030251,\
+                      _030252,\
+                      _030253,\
+                      _030254,\
+                      _030255,\
+                      _030256,\
+                      _030257,\
+                      _030258,\
+                      _030260,\
+                      _030300,\
+                      _030301,\
+                      _030302,\
+                      _030303,\
+                      _030304,\
+                      _030305,\
+                      _030306,\
+                      _030307,\
+                      _030308,\
+                      _030310,\
+                      _030400,\
+                      _030500,\
+                      _030510,\
+                      _030520,\
+                      _030521,\
+                      _030522,\
+                      _030523,\
+                      _030524,\
+                      _030525,\
+                    _030526,\
+                    _030527,\
+                    _030528,\
+                    _030600,\
+                    _030610,\
+                    _030620,\
+                    _030621,\
+                    _030622,\
+                    _030623,\
+                    _030624,\
+                    _030700,\
+                    _030701,\
+                    _030702,\
+                    _030703,\
+                    _030704,\
+                    _030705,\
+                    _030706,\
+                    _030800,\
+                    _030801,\
+                    _030802,\
+                    _030803,\
+                    _030804,\
+                    _030900,\
+                    _030901,\
+                    _030902,\
+                    _030903,\
+                    _031000,\
+                    _031001,\
+                company_type,\
+                year\
+                      ) values ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10','%11','%12','%13','%14','%15','%16','%17','%18','%19','%20','%21','%22','%23','%24','%25','%26'"
+                              ",'%27','%28','%29','%30','%31','%32','%33','%34','%35','%36','%37','%38','%39','%40','%41','%42','%43','%44','%45','%46','%47','%48','%49','%50','%51'"
+                              ",'%52','%53','%54','%55','%56','%57','%58','%59','%60','%61','%62','%63','%64','%65','%66','%67','%68','%69','%70','%71','%72','%73','%74','%75','%76'"
+                              ",'%77','%78','%79')").arg(ui->comboBox_company->currentText()).arg(ui->tableWidget->item(1,3)->text())
+                .arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
+                .arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
+                .arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
+                .arg(ui->tableWidget->item(17,3)->text()).arg(ui->tableWidget->item(18,3)->text()).arg(ui->tableWidget->item(19,3)->text()).arg(ui->tableWidget->item(20,3)->text()).arg(ui->tableWidget->item(21,3)->text())
+                .arg(ui->tableWidget->item(22,3)->text()).arg(ui->tableWidget->item(23,3)->text()).arg(ui->tableWidget->item(24,3)->text()).arg(ui->tableWidget->item(25,3)->text()).arg(ui->tableWidget->item(26,3)->text())
+                .arg(ui->tableWidget->item(27,3)->text()).arg(ui->tableWidget->item(28,3)->text()).arg(ui->tableWidget->item(29,3)->text()).arg(ui->tableWidget->item(30,3)->text()).arg(ui->tableWidget->item(31,3)->text())
+                .arg(ui->tableWidget->item(32,3)->text()).arg(ui->tableWidget->item(33,3)->text()).arg(ui->tableWidget->item(34,3)->text()).arg(ui->tableWidget->item(35,3)->text()).arg(ui->tableWidget->item(36,3)->text())
+                .arg(ui->tableWidget->item(37,3)->text()).arg(ui->tableWidget->item(38,3)->text()).arg(ui->tableWidget->item(39,3)->text()).arg(ui->tableWidget->item(40,3)->text()).arg(ui->tableWidget->item(41,3)->text())
+                .arg(ui->tableWidget->item(42,3)->text()).arg(ui->tableWidget->item(43,3)->text()).arg(ui->tableWidget->item(44,3)->text()).arg(ui->tableWidget->item(45,3)->text()).arg(ui->tableWidget->item(46,3)->text())
+                .arg(ui->tableWidget->item(47,3)->text()).arg(ui->tableWidget->item(48,3)->text()).arg(ui->tableWidget->item(49,3)->text()).arg(ui->tableWidget->item(50,3)->text()).arg(ui->tableWidget->item(51,3)->text())
+                .arg(ui->tableWidget->item(52,3)->text()).arg(ui->tableWidget->item(53,3)->text()).arg(ui->tableWidget->item(54,3)->text()).arg(ui->tableWidget->item(55,3)->text()).arg(ui->tableWidget->item(56,3)->text())
+                .arg(ui->tableWidget->item(57,3)->text()).arg(ui->tableWidget->item(58,3)->text()).arg(ui->tableWidget->item(59,3)->text()).arg(ui->tableWidget->item(60,3)->text()).arg(ui->tableWidget->item(61,3)->text())
+                .arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
+                .arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
+                .arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
+                .arg(ui->comboBox->currentText()).arg(ui->dateEdit_year->text());
+
+        qDebug()<<"comprehensive_entry_info insert sql:"<<sql;
+        if(query.exec(sql)){
+            qDebug()<<"comprehensive_entry_info insert sql ok";
+            QMessageBox::information(this,"鏂版暟鎹綍鍏ユ垚鍔�",QString("鏂板綍鍏ュ叕鍙革細%1 淇℃伅鎴愬姛銆�").arg(ui->comboBox_company->currentText()));
+        }else{
+            qDebug()<<"comprehensive_entry_info insert sql fail:"<<query.lastError().text();
+            QMessageBox::information(this,"鏂版暟鎹綍鍏ュけ璐�",QString("鏂板綍鍏ュ叕鍙革細%1 淇℃伅澶辫触銆�").arg(ui->comboBox_company->currentText()));
+        }
+
+    }else{
+        // 鏇存柊
+
+        sql = QString("update comprehensive_entry_info set _030000='%1',_030001='%2',_030100='%3',_030101='%4',_030200='%5',_030210='%6',_030220='%7',_030221='%8',_030222='%9',_030223='%10',_030230='%11'"
+                      ",_030231='%12',_030232='%13',_030233='%14',_030234='%15',_030240='%16',_030241='%17',_030242='%18',_030243='%19',_030250='%20',_030251='%21'"
+                      ",_030252='%22',_030253='%23',_030254='%24',_030255='%25',_030256='%26',_030257='%27',_030258='%28',_030260='%29',_030300='%30',_030301='%31'"
+                      ",_030302='%32',_030303='%33',_030304='%34',_030305='%35',_030306='%36',_030307='%37',_030308='%38',_030310='%39',_030400='%40',_030500='%41'"
+                      ",_030510='%42',_030520='%43',_030521='%44',_030522='%45',_030523='%46',_030524='%47',_030525='%48',_030526='%49',_030527='%50',_030528='%51'"
+                      ",_030600='%52',_030610='%53',_030620='%54',_030621='%55',_030622='%56',_030623='%57',_030624='%58',_030700='%59',_030701='%60',_030702='%61'"
+                      ",_030703='%62',_030704='%63',_030705='%64',_030706='%65',_030800='%66',_030801='%67',_030802='%68',_030803='%69',_030804='%70',_030900='%71'"
+                      ",_030901='%72',_030902='%73',_030903='%74',_031000='%75',_031001='%76',company_type='%77' where name='%78' and year='%79'").arg(ui->tableWidget->item(1,3)->text())
+                .arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
+                .arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
+                .arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
+                .arg(ui->tableWidget->item(17,3)->text()).arg(ui->tableWidget->item(18,3)->text()).arg(ui->tableWidget->item(19,3)->text()).arg(ui->tableWidget->item(20,3)->text()).arg(ui->tableWidget->item(21,3)->text())
+                .arg(ui->tableWidget->item(22,3)->text()).arg(ui->tableWidget->item(23,3)->text()).arg(ui->tableWidget->item(24,3)->text()).arg(ui->tableWidget->item(25,3)->text()).arg(ui->tableWidget->item(26,3)->text())
+                .arg(ui->tableWidget->item(27,3)->text()).arg(ui->tableWidget->item(28,3)->text()).arg(ui->tableWidget->item(29,3)->text()).arg(ui->tableWidget->item(30,3)->text()).arg(ui->tableWidget->item(31,3)->text())
+                .arg(ui->tableWidget->item(32,3)->text()).arg(ui->tableWidget->item(33,3)->text()).arg(ui->tableWidget->item(34,3)->text()).arg(ui->tableWidget->item(35,3)->text()).arg(ui->tableWidget->item(36,3)->text())
+                .arg(ui->tableWidget->item(37,3)->text()).arg(ui->tableWidget->item(38,3)->text()).arg(ui->tableWidget->item(39,3)->text()).arg(ui->tableWidget->item(40,3)->text()).arg(ui->tableWidget->item(41,3)->text())
+                .arg(ui->tableWidget->item(42,3)->text()).arg(ui->tableWidget->item(43,3)->text()).arg(ui->tableWidget->item(44,3)->text()).arg(ui->tableWidget->item(45,3)->text()).arg(ui->tableWidget->item(46,3)->text())
+                .arg(ui->tableWidget->item(47,3)->text()).arg(ui->tableWidget->item(48,3)->text()).arg(ui->tableWidget->item(49,3)->text()).arg(ui->tableWidget->item(50,3)->text()).arg(ui->tableWidget->item(51,3)->text())
+                .arg(ui->tableWidget->item(52,3)->text()).arg(ui->tableWidget->item(53,3)->text()).arg(ui->tableWidget->item(54,3)->text()).arg(ui->tableWidget->item(55,3)->text()).arg(ui->tableWidget->item(56,3)->text())
+                .arg(ui->tableWidget->item(57,3)->text()).arg(ui->tableWidget->item(58,3)->text()).arg(ui->tableWidget->item(59,3)->text()).arg(ui->tableWidget->item(60,3)->text()).arg(ui->tableWidget->item(61,3)->text())
+                .arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
+                .arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
+                .arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
+                .arg(ui->comboBox->currentText()).arg(ui->comboBox_company->currentText()).arg(ui->dateEdit_year->text());
+
+        qDebug()<<"update sql:"<<sql;
+        if(query.exec(sql)){
+            qDebug()<<"update ok:comprehensive_entry_info";
+            QMessageBox::information(this,"鏇存柊褰曞叆鎴愬姛",QString("褰曞叆鍏徃锛�%1 淇℃伅鎴愬姛銆�").arg(ui->comboBox_company->currentText()));
+        }else{
+            qDebug()<<"update fail:comprehensive_entry_info"<<query.lastError().text();
+            QMessageBox::information(this,"鏇存柊褰曞叆澶辫触",QString("鏂板綍鍏ュ叕鍙革細%1 淇℃伅澶辫触銆�").arg(ui->comboBox_company->currentText()));
+        }
+    }
+
+
+}
+
+void ClientMainWindow::on_comboBox_currentIndexChanged(const QString &arg1)
+{
+    // 鏄惁鑷姩娓呴櫎
+    if(ui->checkBox->isChecked()){
+        qDebug()<<"鑷姩娓呴櫎鍊�";
+        for(int i=30;i<ui->tableWidget->rowCount();++i){
+            for(int j=4;j<ui->tableWidget->columnCount();++j){
+                ui->tableWidget->setItem(i,j,new QTableWidgetItem("0"));
+            }
+        }
+    }
+    qDebug()<<"褰撳墠"<<arg1;
+    if(arg1 == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
+        ui->tableWidget->setItemDelegateForColumn(4,m_editDelegate);
+
+    }else {
+        ui->tableWidget->setItemDelegateForColumn(4,m_tableItemDelegate);
+    }
+
+    if(arg1 == "閲戣瀺浼佷笟"){
+        ui->tableWidget->setItemDelegateForColumn(5,m_editDelegate);
+    }else {
+        ui->tableWidget->setItemDelegateForColumn(5,m_tableItemDelegate);
+    }
+    if(arg1 == "鏈哄叧"){
+        ui->tableWidget->setItemDelegateForColumn(6,m_editDelegate);
+    }else {
+        ui->tableWidget->setItemDelegateForColumn(6,m_tableItemDelegate);
+    }
+    if(arg1 == "浜嬩笟鍗曚綅"){
+        ui->tableWidget->setItemDelegateForColumn(7,m_editDelegate);
+    }else{
+        ui->tableWidget->setItemDelegateForColumn(7,m_tableItemDelegate);
+    }
+    if(arg1 == "鍏朵粬"){
+        ui->tableWidget->setItemDelegateForColumn(8,m_editDelegate);
+    }else{
+        ui->tableWidget->setItemDelegateForColumn(8,m_tableItemDelegate);
+    }
+
+    // 淇敼鑳屾櫙鑹�
+    QColor selectColor(142,213,213);
+    QColor unSelectColor(255,255,255);
+    QMap<QString,int> index={{"浼佷笟(涓嶅惈閲戣瀺浼佷笟)",4},{"閲戣瀺浼佷笟",5},{"鏈哄叧",6},{"浜嬩笟鍗曚綅",7},{"鍏朵粬",8}};
+    for(int i=4;i<9;++i){
+        for(int j=0;j<ui->tableWidget->rowCount();++j){
+            if(i==index[arg1]){
+                ui->tableWidget->item(j,i)->setBackgroundColor(selectColor);
+            }else{
+                ui->tableWidget->item(j,i)->setBackgroundColor(unSelectColor);
+            }
+        }
+    }
+
+}
+
+void ClientMainWindow::on_pushButton_reset_clicked()
+{
+    // 閲嶇疆鏌愪竴鍒楁暟鎹�
+    QString curText = ui->comboBox_2->currentText();
+    int index = 4;
+    if(curText == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
+        index = 4;
+    }else if(curText == "閲戣瀺浼佷笟"){
+        index = 5;
+    }else if(curText == "鏈哄叧"){
+        index = 6;
+    }else if(curText == "浜嬩笟鍗曚綅"){
+        index = 7;
+    }else if(curText == "鍏朵粬"){
+        index = 8;
+    }
+    qDebug()<<"閲嶇疆鍒楃储寮�:"<<index;
+
+    QMessageBox::StandardButton rb = QMessageBox::question (   \
+        this, "閲嶈鎻愮ず", QString("浣犵‘瀹氳閲嶇疆:%1 褰撳墠鍒楁暟鎹悧").arg(curText),     \
+        QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes );
+
+    if ( rb == QMessageBox::Yes ) {
+        for(int i=1;i<ui->tableWidget->rowCount();++i){
+            ui->tableWidget->item(i,index)->setData(Qt::EditRole,"0");
+        }
+        qDebug()<<"閲嶇疆";
+    }else{
+        qDebug()<<"涓嶉噸缃�";
+    }
+
+
+
+}
+
+void ClientMainWindow::updateComboList(QMap<QString, ComInfo> &nameAndComInfos)
+{
+    // 鍏堟竻闄わ紝鍐嶉噸鏂版坊鍔�
+    ui->comboBox_company->clear();
+
+    for(auto kv:nameAndComInfos.keys()){
+        ui->comboBox_company->addItem(kv);
+    }
+}
+
+void ClientMainWindow::on_pushButton_save_export_clicked()
+{
+    // 鑾峰彇褰撳墠鍏徃鍚嶅瓧銆佸強琛ㄦ牸鏁版嵁
+    QString name = ui->comboBox_company->currentText();
+    NeiShenZongHeInfo nszh;
+    nszh.name = name; // 缁欏叕鍙歌祴鍊�
+    qDebug()<<"淇濆瓨瀵煎嚭:"<<name;
+
+    // 鍥� 椤圭洰瀹¤  鍗曚綅 涓�
+    for(int i=0;i<5;++i){
+        nszh.code_030300[i] = ui->tableWidget->item(30,4+i)->text().toInt();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030300";
+    for(int i=0;i<5;++i){
+        nszh.code_030301[i] = ui->tableWidget->item(31,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030302[i] = ui->tableWidget->item(32,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030303[i] = ui->tableWidget->item(33,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030304[i] = ui->tableWidget->item(34,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030305[i] = ui->tableWidget->item(35,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030306[i] = ui->tableWidget->item(36,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030307[i] = ui->tableWidget->item(37,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030308[i] = ui->tableWidget->item(38,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030310[i] = ui->tableWidget->item(39,4+i)->text().toInt();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030310";
+
+    // 鍏�佸璁″彂鐜伴棶棰橀噾棰� 鍗曚綅 鍏�
+    for(int i=0;i<5;++i){
+        nszh.code_030500[i] = ui->tableWidget->item(41,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030510[i] = ui->tableWidget->item(42,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030520[i] = ui->tableWidget->item(43,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030521[i] = ui->tableWidget->item(44,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030522[i] = ui->tableWidget->item(45,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030523[i] = ui->tableWidget->item(46,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030524[i] = ui->tableWidget->item(47,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030525[i] = ui->tableWidget->item(48,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030526[i] = ui->tableWidget->item(49,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030527[i] = ui->tableWidget->item(50,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030528[i] = ui->tableWidget->item(51,4+i)->text().toDouble();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030528";
+
+    // 涓冦�佸璁″彂鐜伴棶棰樹釜鏁�
+    for(int i=0;i<5;++i){
+        nszh.code_030600[i] = ui->tableWidget->item(52,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030610[i] = ui->tableWidget->item(53,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030620[i] = ui->tableWidget->item(54,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030621[i] = ui->tableWidget->item(55,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030622[i] = ui->tableWidget->item(56,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030623[i] = ui->tableWidget->item(57,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030624[i] = ui->tableWidget->item(58,4+i)->text().toInt();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030624";
+
+    // 鍏�佸璁″彂鐜伴棶棰樻暣鏀癸紙閲戦绫伙級  鍗曚綅 鍏�
+    for(int i=0;i<5;++i){
+        nszh.code_030700[i] = ui->tableWidget->item(59,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030701[i] = ui->tableWidget->item(60,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030702[i] = ui->tableWidget->item(61,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030703[i] = ui->tableWidget->item(62,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030704[i] = ui->tableWidget->item(63,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030705[i] = ui->tableWidget->item(64,4+i)->text().toDouble();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030706[i] = ui->tableWidget->item(65,4+i)->text().toDouble();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030706";
+
+    // 涔濄�佸璁″彂鐜伴棶棰樻暣鏀癸紙闈為噾棰濈被锛�  鍗曚綅 涓�
+    for(int i=0;i<5;++i){
+        nszh.code_030800[i] = ui->tableWidget->item(66,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030801[i] = ui->tableWidget->item(67,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030802[i] = ui->tableWidget->item(68,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030803[i] = ui->tableWidget->item(69,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030804[i] = ui->tableWidget->item(70,4+i)->text().toInt();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030804";
+
+    // 鍗併�佹牴鎹璁″缓璁粰浜堝厷绾�佹斂鍔″拰鍐呴儴绾緥澶勫垎  鍗曚綅 浜�
+    for(int i=0;i<5;++i){
+        nszh.code_030900[i] = ui->tableWidget->item(71,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030901[i] = ui->tableWidget->item(72,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030902[i] = ui->tableWidget->item(73,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_030903[i] = ui->tableWidget->item(74,4+i)->text().toInt();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_030903";
+
+    // 鍗佷竴銆佸悜鍙告硶鏈哄叧绉婚�佹垨鎶ュ憡妗堜欢绾跨储
+    for(int i=0;i<5;++i){
+        nszh.code_031000[i] = ui->tableWidget->item(75,4+i)->text().toInt();
+    }
+    for(int i=0;i<5;++i){
+        nszh.code_031001[i] = ui->tableWidget->item(76,4+i)->text().toInt();
+    }
+    qDebug()<<"淇濆瓨瀵煎嚭:code_031001";
+
+    // 瀵煎嚭淇濆瓨
+    ExportToFile etf(this);
+    etf.saveToExcelFromNeiShenZonghe(name,nszh);
+}
+
+void ClientMainWindow::on_comboBox_company_currentTextChanged(const QString &arg1)
+{
+    qDebug()<<"鍏徃鍚嶅瓧鍙戠敓浜嗗彉鍖�:"<<arg1;
+    // 鏍规嵁鍏徃鍚嶆潵銆佸勾浠芥煡璇㈡墍鏈夌殑鏁版嵁锛屾牴鎹煡璇㈠埌鐨勪紒涓氱被鍨嬫潵缁欐寚瀹氱殑鍒楀啓鍏ユ暟鎹�
+    QString year = ui->dateEdit_year->text();
+    QString sql = QString("select * from comprehensive_entry_info where name='%1' and year='%2'").arg(arg1).arg(year);
+
+    QSqlQuery query;
+    if(query.exec(sql))
+    {
+        qDebug()<<"鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<arg1;
+        int row=0;
+        while(query.next()){ // 娣诲姞缁撴灉闆�
+            row++;
+            QString com_type = query.value(78).toString();
+            int column_index = 4;
+            if(com_type == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
+                column_index = 4;
+            }else if(com_type == "閲戣瀺浼佷笟"){
+                column_index = 5;
+            }else if(com_type == "鏈哄叧"){
+                column_index = 6;
+            }else if(com_type == "浜嬩笟鍗曚綅"){
+                column_index = 7;
+            }else if(com_type == "鍏朵粬"){
+                column_index = 8;
+            }
+            // 缁欐瘡椤硅祴鍊�
+            for(int i=31;i<78;++i){
+                ui->tableWidget->setItem(i-1,column_index,new QTableWidgetItem(query.value(i).toString()));
+            }
+        }
+        qDebug()<<"row:"<<row;
+        if(row == 0){
+            // 灏辫娓呯┖鐩墠鎵�鏈夌殑鍐呭锛岄兘缃负0
+            for(int i=4;i<9;++i){
+                for(int j=30;j<78;++j){
+                    ui->tableWidget->setItem(j,i,new QTableWidgetItem("0"));
+                }
+            }
+        }
+    }else{
+        qDebug()<<"娌℃湁鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<arg1;
+    }
+}
+
+void ClientMainWindow::on_pushButton_merge_3And1_clicked()
+{
+    // 鎸夊勾搴﹀拰鍏徃鍚嶏紝杩涜鍏ㄩ儴鐨勫悎骞讹紝鍚堝苟鐨勬椂鍊欓渶瑕佹煡璇㈠嚭瀛楁鏉ワ紝鎸夊瓧娈靛悎骞�
+    // 鏌ヨ涓夊悎涓�鐨勮〃锛屽悎骞跺埌缁煎悎琛紝鍚堝苟涔嬪墠鎶婂唴瀹瑰叏閮ㄩ兘瀛樺偍涓�閬嶏紝鐒跺悗鍐嶇粺涓�鎻掑叆鎴栬�呮洿鏂拌繘琛ㄦ牸涓�
+    QString name = ui->comboBox_company->currentText();
+    QString year = ui->dateEdit_year->text();
+
+    qDebug()<<"name:"<<ui->comboBox_company->currentText()<<" year:"<<ui->dateEdit_year->text();
+
+    QString sql = QString("select * from standing_book_info where 璐d换涓讳綋鍚嶇О='%1' and 瀹¤骞村害='%2'").arg(name).arg(year);
+
+    qDebug()<<"sql:"<<sql;
+
+    // 鍑嗗閿�煎锛屾潵淇濆瓨瀛楁鍚嶅拰涓夊悎涓�鐨勭粨鏋滐紝閫氳繃缁撴灉鎷垮瓧娈靛悕锛屾帴鐫�鍐嶆嬁鍑哄搴旂殑鍊兼潵缁剆ql璇彞
+    QMap<QString,QString> names_map;
+    QMap<QString,double> infos_map;
+    // 鍥� 瀹¤椤圭洰
+    names_map["璐交钀藉疄鍥藉閲嶅ぇ鏀跨瓥鎺柦瀹¤"] = "_030301";
+    names_map["璐㈡斂璐㈠姟鏀舵敮瀹¤"] = "_030302";
+    names_map["鍥哄畾璧勪骇鎶曡祫瀹¤"] = "_030303";
+    names_map["鍐呴儴鎺у埗鍜岄闄╃鐞嗗璁�"] = "_030304";
+    names_map["缁忔祹璐d换瀹¤"] = "_030305";
+    names_map["淇℃伅璐d换瀹¤"] = "_030306";
+    names_map["澧冨瀹¤"] = "_030307";
+    names_map["鍏朵粬"] = "_030308";
+    names_map["澶栨嫇澶栧寘椤圭洰"] = "_030310";
+
+    // 鍏� 瀹¤鍙戠幇闂閲戦
+    names_map["鍏朵腑锛氱哗鏁堢被闂閲戦"] = "_030510";
+    names_map["鍚堣鎬ч棶棰橀噾棰�"] = "_030520";
+    names_map["鍏朵腑锛氫細璁℃牳绠楁柟闈�"] = "_030521";
+    names_map["杩濊浣跨敤璧勯噾"] = "_030522";
+    names_map["鎴暀銆佹矇娣�璧勯噾"] = "_030523";
+    names_map["鎹熷け娴垂"] = "_030524";
+    names_map["鎸敤璧勯噾"] = "_030525";
+    names_map["閫忔紡绋庤垂"] = "_030526";
+    names_map["杩濊鍙栧緱鏀跺叆"] = "_030527";
+    names_map["鍏朵粬"] = "_030528";
+
+    // 涓� 瀹¤鍙戠幇闂涓暟
+    names_map["鍏朵腑锛氶噾棰濈被闂涓暟"] = "_030610";
+    names_map["闈為噾棰濈被闂涓暟"] = "_030620";
+    names_map["鍏朵腑锛氬浗瀹舵斂绛栨帾鏂借惤瀹炴柟闈�"] = "_030621";
+    names_map["鍙戝睍瑙勫垝涓庢垬鐣ュ喅绛栨柟闈�"] = "_030622";
+    names_map["鍐呴儴鎺у埗涓庨闄╃鐞嗘柟闈�"] = "_030623";
+    names_map["鍏朵粬"] = "_030624";
+
+    // 鍏� 瀹¤鍙戠幇闂鏁存敼(閲戦绫�)
+    names_map["鍏朵腑锛氳皟鏁翠細璁¤处鐩�"] = "_030701";
+    names_map["鏀跺洖璧勯噾"] = "_030702";
+    names_map["鎸藉洖鎹熷け"] = "_030703";
+    names_map["褰掕繕鍘熻祫閲戞笭閬�"] = "_030704";
+    names_map["琛ョ即绋庤垂"] = "_030705";
+    names_map["鍏朵粬"] = "_030706";
+
+    // 涔� 瀹¤鍙戠幇闂鏁存敼(闈為噾棰濈被)
+    names_map["鍏朵腑锛氭柊鍒跺畾鍒跺害"] = "_030801";
+    names_map["淇瀹屽杽鍒跺害"] = "_030802";
+    names_map["浼樺寲瀹屽杽涓氬姟娴佺▼"] = "_030803";
+    names_map["鍏朵粬"] = "_030804";
+
+    // 鍗� 鏍规嵁瀹¤寤鸿鍩轰簬鍏氱邯銆佹斂鍔″拰鍐呴儴绾緥澶勫垎
+    names_map["鍏朵腑锛氬厷绾鍒�"] = "_030901";
+    names_map["鏀垮姟澶勫垎"] = "_030902";
+    names_map["鍐呴儴绾緥澶勫垎"] = "_030903";
+
+    // 鍗佷竴 鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储
+    names_map["鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储"] = "_031000";
+    names_map["娑夋浜哄憳"] = "_031001";
+
+
+    QSqlQuery query;
+    if(query.exec(sql))
+    {
+        // 鑾峰彇瀛楁淇℃伅
+        int row=0;
+        while(query.next()){
+            // 鍙栫壒瀹氬瓧娈�
+            for(int i=0;i<47;++i){
+                qDebug()<<"i="<< i <<query.record().fieldName(i) <<"鍐呭:"<<query.value(i);
+            }
+            // 瀹¤椤圭洰
+            infos_map[names_map[query.value(6).toString()]]++;
+            // 瀹¤鍙戠幇闂閲戦
+            infos_map[names_map[query.value(12).toString()]] += query.value(14).toDouble();
+            // 瀹¤鍙戠幇闂涓暟
+            infos_map[names_map[query.value(13).toString()]] ++;
+            // 鏁存敼鎴愭灉鈥旈棶棰樻暣鏀癸紙閲戦绫伙級
+            infos_map[names_map[query.value(42).toString()]] += query.value(43).toDouble();
+            // 鏁存敼鎴愭灉鈥斺�旈棶棰樻暣鏀癸紙闈為噾棰濈被锛�
+            infos_map[names_map[query.value(44).toString()]] += query.value(45).toLongLong();
+            // 绉婚�佷俊鎭�-澶勫垎缁撴灉
+            infos_map[names_map[query.value(26).toString()]] += query.value(27).toLongLong();
+
+            // 绉婚�佷俊鎭�-娑夋浜哄憳锛堝崟浣嶏細浜猴級
+            infos_map["_031001"] += query.value(30).toLongLong();
+
+
+            row++;
+
+        }
+        qDebug()<<"row:"<<row<<" infos_map size:"<<infos_map.size();
+
+        // 杈撳嚭璁板綍淇℃伅
+        for(auto it = infos_map.begin();it != infos_map.end();++it){
+            qDebug()<<it.key()<<it.value();
+        }
+
+        // 濡傛灉缁熻涓嶅埌鏁版嵁锛岀洿鎺ヨ烦杩�
+        if(row==0){
+            qDebug()<<"鍚堝苟鏁版嵁鏃狅紝鐩存帴杩斿洖";
+            return;
+        }
+
+        // 鍐欏埌鏁版嵁搴撲腑
+            // 鍏堣幏鍙栨満鏋勭被鍨�
+        QString typeSql = QString("select 鏈烘瀯绫诲瀷 from all_company_info where name='%1'").arg(name);
+        qDebug()<<"typeSql:"<<typeSql;
+        QString comType;
+        if(query.exec(typeSql)){
+            while (query.next()) {
+                comType = query.value(0).toString();
+                qDebug()<<"find type:"<<comType;
+            }
+        }
+        int typeIndex=0;
+        QStringList typeList = comType.split(" ");
+        if(typeList.size() > 1){
+            if(typeList.at(0) == "30"){
+                typeIndex = 2;
+            }else if(typeList.at(0) == "20"){
+                typeIndex = 3;
+            }else if(typeList.at(0) == "10"){
+                typeIndex = 0;
+            }else{
+                typeIndex = 4;
+            }
+        }
+        ui->comboBox->setCurrentIndex(typeIndex); // 璁剧疆鍗曚綅绫诲瀷涓哄彲缂栬緫
+            // 鎺ョ潃寰�琛ㄦ牸閲岄潰鍐欏叆鏁翠綋鏁版嵁
+        comType = ui->comboBox->currentText();
+        QString mergeSQLSearch = QString("select * from comprehensive_entry_info where name='%1' and year='%2' and company_type='%3'").arg(name).arg(year).arg(comType);
+        qDebug()<<"mergeSQLSearch"<<mergeSQLSearch;
+        if(query.exec(mergeSQLSearch)){
+            int row = 0;
+            while (query.next()) {
+                row++;
+            }
+            qDebug()<<"search row:"<<row;
+            if(row == 0){
+                //杩樻病鏈夋暟鎹紝鎻掑叆鍗冲彲
+                QString mergeSQLInser = QString("insert into comprehensive_entry_info (name,\
+                        _030300,\
+                        _030301,\
+                        _030302,\
+                        _030303,\
+                        _030304,\
+                        _030305,\
+                        _030306,\
+                        _030307,\
+                        _030308,\
+                        _030310,\
+                        _030400,\
+                        _030500,\
+                        _030510,\
+                        _030520,\
+                        _030521,\
+                        _030522,\
+                        _030523,\
+                        _030524,\
+                        _030525,\
+                      _030526,\
+                      _030527,\
+                      _030528,\
+                      _030600,\
+                      _030610,\
+                      _030620,\
+                      _030621,\
+                      _030622,\
+                      _030623,\
+                      _030624,\
+                      _030700,\
+                      _030701,\
+                      _030702,\
+                      _030703,\
+                      _030704,\
+                      _030705,\
+                      _030706,\
+                      _030800,\
+                      _030801,\
+                      _030802,\
+                      _030803,\
+                      _030804,\
+                      _030900,\
+                      _030901,\
+                      _030902,\
+                      _030903,\
+                      _031000,\
+                      _031001,\
+                  company_type,\
+                  year\
+                        ) values ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10','%11','%12','%13','%14','%15','%16','%17','%18','%19','%20','%21','%22','%23','%24','%25','%26'"
+                                ",'%27','%28','%29','%30','%31','%32','%33','%34','%35','%36','%37','%38','%39','%40','%41','%42','%43','%44','%45','%46','%47','%48','%49','%50')").arg(name).arg(QString::number(infos_map["_030300"]))
+                        .arg(QString::number(infos_map["_030301"])).arg(QString::number(infos_map["_030302"])).arg(QString::number(infos_map["_030303"])).arg(QString::number(infos_map["_030304"])).arg(QString::number(infos_map["_030305"]))
+                        .arg(QString::number(infos_map["_030306"])).arg(QString::number(infos_map["_030307"])).arg(QString::number(infos_map["_030308"])).arg(QString::number(infos_map["_030310"])).arg(QString::number(infos_map["_030400"]))
+                        .arg(QString::number(infos_map["_030500"])).arg(QString::number(infos_map["_030510"])).arg(QString::number(infos_map["_030520"])).arg(QString::number(infos_map["_030521"])).arg(QString::number(infos_map["_030522"]))
+                        .arg(QString::number(infos_map["_030523"])).arg(QString::number(infos_map["_030524"])).arg(QString::number(infos_map["_030525"])).arg(QString::number(infos_map["_030526"])).arg(QString::number(infos_map["_030527"]))
+                        .arg(QString::number(infos_map["_030528"])).arg(QString::number(infos_map["_030600"])).arg(QString::number(infos_map["_030610"])).arg(QString::number(infos_map["_030620"])).arg(QString::number(infos_map["_030621"]))
+                        .arg(QString::number(infos_map["_030622"])).arg(QString::number(infos_map["_030623"])).arg(QString::number(infos_map["_030624"])).arg(QString::number(infos_map["_030700"])).arg(QString::number(infos_map["_030701"]))
+                        .arg(QString::number(infos_map["_030702"])).arg(QString::number(infos_map["_030703"])).arg(QString::number(infos_map["_030704"])).arg(QString::number(infos_map["_030705"])).arg(QString::number(infos_map["_030706"]))
+                        .arg(QString::number(infos_map["_030800"])).arg(QString::number(infos_map["_030801"])).arg(QString::number(infos_map["_030802"])).arg(QString::number(infos_map["_030803"])).arg(QString::number(infos_map["_030804"]))
+                        .arg(QString::number(infos_map["_030900"])).arg(QString::number(infos_map["_030901"])).arg(QString::number(infos_map["_030902"])).arg(QString::number(infos_map["_030903"])).arg(QString::number(infos_map["_031000"]))
+                        .arg(QString::number(infos_map["_031001"])).arg(comType).arg(year);
+
+                qDebug()<<"mergeSQLInser:"<<mergeSQLInser;
+
+                if(query.exec(mergeSQLInser)){
+                    qDebug()<<"mergeSQLInser 鎴愬姛";
+                    // 鎴愬姛浜嗭紝璋冪敤鏌ヨ鏉ュ埛鏂拌〃鏍兼煡鐪�
+                    on_pushButton_search_clicked();
+                }else{
+                    qDebug()<<"mergeSQLInser 澶辫触";
+                }
+
+            }else{
+                // 宸茬粡鏈夋暟鎹簡锛岄渶瑕佹洿鏂�
+                QString mergeSQLUpdate = QString("update comprehensive_entry_info set _030300='%1',_030301='%2'"
+                                                 ",_030302='%3',_030303='%4',_030304='%5',_030305='%6',_030306='%7',_030307='%8',_030308='%9',_030310='%10',_030400='%11',_030500='%12'"
+                                                 ",_030510='%13',_030520='%14',_030521='%15',_030522='%16',_030523='%17',_030524='%18',_030525='%19',_030526='%20',_030527='%21',_030528='%22'"
+                                                 ",_030600='%23',_030610='%24',_030620='%25',_030621='%26',_030622='%27',_030623='%28',_030624='%29',_030700='%30',_030701='%31',_030702='%32'"
+                                                 ",_030703='%33',_030704='%34',_030705='%35',_030706='%36',_030800='%37',_030801='%38',_030802='%39',_030803='%40',_030804='%41',_030900='%42'"
+                                                 ",_030901='%43',_030902='%44',_030903='%45',_031000='%46',_031001='%47' where name='%48' and year='%49' and company_type='%50'").arg(QString::number(infos_map["_030300"]))
+                        .arg(QString::number(infos_map["_030301"])).arg(QString::number(infos_map["_030302"])).arg(QString::number(infos_map["_030303"])).arg(QString::number(infos_map["_030304"])).arg(QString::number(infos_map["_030305"]))
+                        .arg(QString::number(infos_map["_030306"])).arg(QString::number(infos_map["_030307"])).arg(QString::number(infos_map["_030308"])).arg(QString::number(infos_map["_030310"])).arg(QString::number(infos_map["_030400"]))
+                        .arg(QString::number(infos_map["_030500"])).arg(QString::number(infos_map["_030510"])).arg(QString::number(infos_map["_030520"])).arg(QString::number(infos_map["_030521"])).arg(QString::number(infos_map["_030522"]))
+                        .arg(QString::number(infos_map["_030523"])).arg(QString::number(infos_map["_030524"])).arg(QString::number(infos_map["_030525"])).arg(QString::number(infos_map["_030526"])).arg(QString::number(infos_map["_030527"]))
+                        .arg(QString::number(infos_map["_030528"])).arg(QString::number(infos_map["_030600"])).arg(QString::number(infos_map["_030610"])).arg(QString::number(infos_map["_030620"])).arg(QString::number(infos_map["_030621"]))
+                        .arg(QString::number(infos_map["_030622"])).arg(QString::number(infos_map["_030623"])).arg(QString::number(infos_map["_030624"])).arg(QString::number(infos_map["_030700"])).arg(QString::number(infos_map["_030701"]))
+                        .arg(QString::number(infos_map["_030702"])).arg(QString::number(infos_map["_030703"])).arg(QString::number(infos_map["_030704"])).arg(QString::number(infos_map["_030705"])).arg(QString::number(infos_map["_030706"]))
+                        .arg(QString::number(infos_map["_030800"])).arg(QString::number(infos_map["_030801"])).arg(QString::number(infos_map["_030802"])).arg(QString::number(infos_map["_030803"])).arg(QString::number(infos_map["_030804"]))
+                        .arg(QString::number(infos_map["_030900"])).arg(QString::number(infos_map["_030901"])).arg(QString::number(infos_map["_030902"])).arg(QString::number(infos_map["_030903"])).arg(QString::number(infos_map["_031000"]))
+                        .arg(QString::number(infos_map["_031001"])).arg(name).arg(year).arg(comType);
+
+                qDebug()<<"mergeSQLUpdate:"<<mergeSQLUpdate;
+                if(query.exec(mergeSQLUpdate)){
+                    qDebug()<<"mergeSQLUpdate 鎴愬姛";
+                    // 鎴愬姛浜嗭紝璋冪敤鏌ヨ鏉ュ埛鏂拌〃鏍兼煡鐪�
+                    on_pushButton_search_clicked();
+                }else{
+                    qDebug()<<"mergeSQLUpdate 澶辫触";
+                }
+            }
+        }
+    }
+
+
+}
+
+void ClientMainWindow::on_pushButton_search_clicked()
+{
+    // 鏌ヨ缁煎悎琛紝杩涜灞曠ず 鏉′欢鏄� 鍚嶅瓧鍜屽勾浠�
+    // 鏍规嵁鍏徃鍚嶆潵銆佸勾浠芥煡璇㈡墍鏈夌殑鏁版嵁锛屾牴鎹煡璇㈠埌鐨勪紒涓氱被鍨嬫潵缁欐寚瀹氱殑鍒楀啓鍏ユ暟鎹�
+    QString name = ui->comboBox_company->currentText();
+    QString year = ui->dateEdit_year->text();
+    QString sql = QString("select * from comprehensive_entry_info where name='%1' and year='%2'").arg(name).arg(year);
+
+    // 鍏堟竻绌鸿〃鏍�
+    for(int i=4;i<9;++i){
+        for(int j=30;j<78;++j){
+            ui->tableWidget->setItem(j,i,new QTableWidgetItem("0"));
+        }
+    }
+
+    // 鍐嶆墽琛屾煡璇�
+    QSqlQuery query;
+    if(query.exec(sql))
+    {
+        qDebug()<<"鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<name;
+        int row=0;
+        while(query.next()){ // 娣诲姞缁撴灉闆�
+            row++;
+            QString com_type = query.value(78).toString();
+            int column_index = 4;
+            if(com_type == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
+                column_index = 4;
+            }else if(com_type == "閲戣瀺浼佷笟"){
+                column_index = 5;
+            }else if(com_type == "鏈哄叧"){
+                column_index = 6;
+            }else if(com_type == "浜嬩笟鍗曚綅"){
+                column_index = 7;
+            }else if(com_type == "鍏朵粬"){
+                column_index = 8;
+            }
+            qDebug()<<"鎵�鍦ㄥ垪:"<<column_index;
+            // 缁欐瘡椤硅祴鍊�
+            for(int i=31;i<78;++i){
+                ui->tableWidget->setItem(i-1,column_index,new QTableWidgetItem(query.value(i).toString()));
+            }
+        }
+        qDebug()<<"row:"<<row;
+        if(row == 0){
+            // 灏辫娓呯┖鐩墠鎵�鏈夌殑鍐呭锛岄兘缃负0
+            for(int i=4;i<9;++i){
+                for(int j=30;j<78;++j){
+                    ui->tableWidget->setItem(j,i,new QTableWidgetItem("0"));
+                }
+            }
+        }
+    }else{
+        qDebug()<<"娌℃湁鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<name;
+    }
+}

--
Gitblit v1.8.0