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/converinfo2.cpp |  560 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 546 insertions(+), 14 deletions(-)

diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp
index ac5178e..244da58 100644
--- a/internal_system_v1/converinfo2.cpp
+++ b/internal_system_v1/converinfo2.cpp
@@ -6,6 +6,8 @@
 #include <QSqlQuery>
 #include <QSqlRecord>
 
+#pragma execution_character_set("utf-8")
+
 ConverInfo2::ConverInfo2(QWidget *parent) :
     QMainWindow(parent),
     ui(new Ui::ConverInfo2)
@@ -95,7 +97,79 @@
 
 void ConverInfo2::on_treeWidget_doubleClicked(const QModelIndex &index)
 {
-    qDebug()<<"鍙屽嚮"<<index;
+    QString name = index.model()->data(index).toString();
+    qDebug()<<"鍙屽嚮"<<index<<name;
+    ComInfo curCominfo = m_nameAndComInfos[name];
+    // 涓�銆佸崟浣嶅熀鏈儏鍐�
+    ui->lineEdit_creditCode->setText(curCominfo.creditCode);
+    ui->lineEdit_name->setText(QString::fromLocal8Bit( curCominfo.name));
+    qDebug()<<"name:"<<QString::fromLocal8Bit( curCominfo.name)<<QByteArray(curCominfo.name);
+    ui->comboBox_comType->setCurrentText(QString::fromLocal8Bit(curCominfo.comType));
+    ui->lineEdit_business->setText(QString::fromLocal8Bit(curCominfo.business));
+    ui->lineEdit_businessCode->setText(curCominfo.businessCode);
+    ui->lineEdit_addr->setText(QString::fromLocal8Bit(curCominfo.addr));
+    ui->lineEdit_areaCode->setText(curCominfo.areaCode);
+    ui->lineEdit_townCode->setText(curCominfo.townCode);
+    ui->comboBox_scale->setCurrentText(QString::fromLocal8Bit(curCominfo.scale));
+    ui->lineEdit_people->setText(QString::number(curCominfo.people));
+    ui->lineEdit_representative->setText(QString::fromLocal8Bit(curCominfo.representative));
+    ui->comboBox_standardType->setCurrentText(QString::fromLocal8Bit(curCominfo.standardType));
+    ui->lineEdit_trunkCode->setText(curCominfo.trunkCode);
+    ui->lineEdit_fixedTel->setText(curCominfo.fixedTel);
+    ui->lineEdit_postCode->setText(curCominfo.postCode);
+    ui->lineEdit_email->setText(curCominfo.email);
+    ui->lineEdit_webSite->setText(curCominfo.webSite);
+
+    // 浜屻�佸崟浣嶇粍缁囩粨鏋勬儏鍐�
+    ui->comboBox_hasUpLegal->setCurrentText(QString::fromLocal8Bit(curCominfo.hasUpLegal));
+    ui->lineEdit_upCreditCode->setText(QString::fromLocal8Bit(curCominfo.upCreditCode));
+    ui->lineEdit_oldCreditCode->setText(curCominfo.oldCreditCode);
+    ui->lineEdit_upName->setText(QString::fromLocal8Bit(curCominfo.upName));
+
+    // 涓夈�佹�诲璁″笀涓庡唴瀹℃満鏋勫熀鏈儏鍐�
+    ui->comboBox_hasChiefDesigner->setCurrentText(QString::fromLocal8Bit(curCominfo.hasChiefDesigner));
+    ui->comboBox_ChiefDesignerLevel->setCurrentText(QString::fromLocal8Bit(curCominfo.ChiefDesignerLevel));
+    ui->comboBox_employmentMode->setCurrentText(QString::fromLocal8Bit(curCominfo.employmentMode));
+    ui->comboBox_hasSetIntervalAudit->setCurrentText(QString::fromLocal8Bit(curCominfo.hasSetIntervalAudit));
+    ui->lineEdit_internalName->setText(QString::fromLocal8Bit(curCominfo.internalName));
+    ui->comboBox_leadingOrganization->setCurrentText(QString::fromLocal8Bit(curCominfo.leadingOrganization));
+    ui->comboBox_hasSetSeparateIA->setCurrentText(QString::fromLocal8Bit(curCominfo.hasSetSeparateIA));
+    ui->checkBox_financeDepartment->setChecked(curCominfo.financeDepartment);
+    ui->checkBox_legalDepartment->setChecked(curCominfo.legalDepartment);
+    ui->checkBox_internalConDepart->setChecked(curCominfo.internalConDepart);
+    ui->checkBox_disceplineInDepart->setChecked(curCominfo.disceplineInDepart);
+    ui->checkBox_otherDepart->setChecked(curCominfo.otherDepart);
+    ui->comboBox_intavalAuditLeval->setCurrentText(QString::fromLocal8Bit(curCominfo.intavalAuditLeval));
+
+    // 鍥涖�佸唴瀹′汉鍛橀厤澶囧熀鏈儏鍐�
+    ui->lineEdit_organazationNum->setText(QString::number(curCominfo.organazationNum));
+    ui->lineEdit_realNum->setText(QString::number(curCominfo.realNum));
+    ui->lineEdit_professionalNum->setText(QString::number(curCominfo.professionalNum));
+    ui->lineEdit_CIANum->setText(QString::number(curCominfo.CIANum));
+    ui->lineEdit_masterNum->setText(QString::number(curCominfo.masterNum));
+    ui->lineEdit_undergraduatesNum->setText(QString::number(curCominfo.undergraduatesNum));
+    ui->lineEdit_juniorNum->setText(QString::number(curCominfo.juniorNum));
+    ui->lineEdit_seniorNum->setText(QString::number(curCominfo.seniorNum));
+    ui->lineEdit_intermediateNum->setText(QString::number(curCominfo.intermediateNum));
+    ui->lineEdit_primaryNum->setText(QString::number(curCominfo.primaryNum));
+    ui->lineEdit_noTitleNum->setText(QString::number(curCominfo.noTitleNum));
+    ui->lineEdit_upFiftyOldNum->setText(QString::number(curCominfo.upFiftyOldNum));
+    ui->lineEdit_upThirtyOldNum->setText(QString::number(curCominfo.upThirtyOldNum));
+    ui->lineEdit_downThirtyOldNum->setText(QString::number(curCominfo.downThirtyOldNum));
+    ui->lineEdit_auditNum->setText(QString::number(curCominfo.auditNum));
+    ui->lineEdit_accountingNum->setText(QString::number(curCominfo.accountingNum));
+    ui->lineEdit_economyNum->setText(QString::number(curCominfo.economyNum));
+    ui->lineEdit_lawNum->setText(QString::number(curCominfo.lawNum));
+    ui->lineEdit_managerNum->setText(QString::number(curCominfo.managerNum));
+    ui->lineEdit_itNum->setText(QString::number(curCominfo.itNum));
+    ui->lineEdit_engineeringNum->setText(QString::number(curCominfo.engineeringNum));
+    ui->lineEdit_otherNum->setText(QString::number(curCominfo.otherNum));
+
+    // 鍏朵粬鐨�4涓俊鎭�
+    ui->lineEdit_statisticalConOfficer->setText(QString::fromLocal8Bit(curCominfo.statisticalConOfficer));
+    ui->lineEdit_personFilling->setText(QString::fromLocal8Bit(curCominfo.personFilling));
+    ui->lineEdit_officerTel->setText(QString::fromLocal8Bit(curCominfo.officerTel));
+    ui->lineEdit_fillingDateTime->setText(QString::fromLocal8Bit(curCominfo.fillingDateTime));
 }
 
 void ConverInfo2::readInfo()
@@ -132,16 +206,28 @@
         int index = str.indexOf("鍐呭缁�01琛�");
         qDebug()<<"index:"<<index;
         if(index > 0){
-            QAxObject excel("Excel.Application");
+            QAxObject excel("ket.Application");
+            if(!excel.setControl("ket"
+                                 ".Application")){  // windows鍐呮牳
+                excel.setControl("Excel.Application"); // wps鍐呮牳
+            }
             excel.setProperty("Visible",false);
             excel.setProperty("DisplayAlerts",false);
+
             qDebug()<<"open:"<<str;
             qDebug()<<"excel:"<<excel.className();
             QAxObject * wbs = excel.querySubObject("WorkBooks");
+            qDebug()<<"wbs:"<<wbs->className();
             QAxObject * wb = wbs->querySubObject("Open(QString&)",str);
             //QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook");
             //QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//鑾峰彇宸ヤ綔琛�
-            QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 涔熷彲浠�
+            //QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 涔熷彲浠�
+            QAxObject * shs = wb->querySubObject("WorkSheets"); // WorkSheets 涔熷彲浠�
+//            // 鎸囧畾鍗曞厓鏍兼嬁
+//            QAxObject *cell = shs->querySubObject("Cells(int, int)",82,1);
+//            qDebug()<<"Cells:82-0:"<<shs->querySubObject("Cells(int, int)",82,0)->dynamicCall("Value()").toString();
+//            qDebug()<<"Cells:82-1:"<<cell->dynamicCall("Value()").toString();
+
             int cnt = shs->property("Count").toInt();
             qDebug()<<"cnt="<<cnt;
             for(int i=0;i<cnt;++i){
@@ -155,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;
@@ -181,6 +267,7 @@
                     ui->label_name->setText(name.toString());
                     QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget);
                     top1->setText(0,name.toString());
+                    strcpy(curComInfo.name,name.toString().toLocal8Bit().data());
 
                 }else{
                     ui->label_name->setText("");
@@ -411,8 +498,9 @@
                     strcpy(curComInfo.hasSetSeparateIA,hasSetSeparateIA.toString().toLocal8Bit().data());
                     qDebug()<<"hasSetSeparateIA"<<hasSetSeparateIA;
                 }
-                // 鍚堝苟璁剧疆 璐㈠姟閮ㄩ棬
-                QVariant financeDepartment = valRows[55].toList().at(4);
+                // 鍚堝苟璁剧疆 璐㈠姟閮ㄩ棬   澶嶉�夋
+
+                QVariant financeDepartment = valRows[55].toList().at(1);
                 if(financeDepartment.isValid()){
                     //strcpy(curComInfo.financeDepartment,financeDepartment.toString().toLocal8Bit().data());
                     curComInfo.financeDepartment = financeDepartment.toBool();
@@ -425,6 +513,171 @@
                 if(intavalAuditLeval.isValid()){
                     strcpy(curComInfo.intavalAuditLeval,intavalAuditLeval.toString().toLocal8Bit().data());
                     qDebug()<<"intavalAuditLeval"<<intavalAuditLeval;
+                }
+
+                // 鍥涖�佸唴瀹′汉鍛橀厤澶囧熀鏈儏鍐�
+                // 缂栧埗鏁�
+                QVariant organazationNum = valRows[56].toList().at(4);
+                if(organazationNum.isValid()){
+                    curComInfo.organazationNum = organazationNum.toInt();
+                    qDebug()<<"organazationNum"<<organazationNum;
+                }
+                // 瀹炴湁浜哄憳鏁�
+                QVariant realNum = valRows[56].toList().at(4);
+                if(realNum.isValid()){
+                    curComInfo.realNum = realNum.toInt();
+                    qDebug()<<"realNum"<<realNum;
+                }
+                // 涓撹亴浜哄憳鏁�
+                QVariant professionalNum = valRows[56].toList().at(4);
+                if(professionalNum.isValid()){
+                    curComInfo.professionalNum = professionalNum.toInt();
+                    qDebug()<<"professionalNum"<<professionalNum;
+                }
+                // 鎷ユ湁CIA浜哄憳鏁�
+                QVariant CIANum = valRows[56].toList().at(4);
+                if(CIANum.isValid()){
+                    curComInfo.CIANum = CIANum.toInt();
+                    qDebug()<<"CIANum"<<CIANum;
+                }
+                // 瀛﹀巻锛氱澹強浠ヤ笂 浜哄憳鏁�
+                QVariant masterNum = valRows[56].toList().at(4);
+                if(masterNum.isValid()){
+                    curComInfo.masterNum = masterNum.toInt();
+                    qDebug()<<"masterNum"<<masterNum;
+                }
+                // 澶у鏈
+                QVariant undergraduatesNum = valRows[56].toList().at(4);
+                if(undergraduatesNum.isValid()){
+                    curComInfo.undergraduatesNum = undergraduatesNum.toInt();
+                    qDebug()<<"undergraduatesNum"<<undergraduatesNum;
+                }
+                // 涓撶鍙婁互涓�
+                QVariant juniorNum = valRows[56].toList().at(4);
+                if(juniorNum.isValid()){
+                    curComInfo.juniorNum = juniorNum.toInt();
+                    qDebug()<<"juniorNum"<<juniorNum;
+                }
+
+                // 鑱岀О 楂樼骇鑱岀О
+                QVariant seniorNum = valRows[56].toList().at(4);
+                if(seniorNum.isValid()){
+                    curComInfo.seniorNum = seniorNum.toInt();
+                    qDebug()<<"seniorNum"<<seniorNum;
+                }
+                // 涓骇鑱岀О
+                QVariant intermediateNum = valRows[56].toList().at(4);
+                if(intermediateNum.isValid()){
+                    curComInfo.intermediateNum = intermediateNum.toInt();
+                    qDebug()<<"intermediateNum"<<intermediateNum;
+                }
+                // 鍒濈骇鑱岀О
+                QVariant primaryNum = valRows[56].toList().at(4);
+                if(primaryNum.isValid()){
+                    curComInfo.primaryNum = primaryNum.toInt();
+                    qDebug()<<"primaryNum"<<primaryNum;
+                }
+                // 鏃犺亴绉�
+                QVariant noTitleNum = valRows[56].toList().at(4);
+                if(noTitleNum.isValid()){
+                    curComInfo.noTitleNum = noTitleNum.toInt();
+                    qDebug()<<"noTitleNum"<<noTitleNum;
+                }
+
+                // 骞撮緞缁撴瀯 50宀佷互涓�
+                QVariant upFiftyOldNum = valRows[56].toList().at(4);
+                if(upFiftyOldNum.isValid()){
+                    curComInfo.upFiftyOldNum = upFiftyOldNum.toInt();
+                    qDebug()<<"upFiftyOldNum"<<upFiftyOldNum;
+                }
+                // 30-50宀�
+                QVariant upThirtyOldNum = valRows[56].toList().at(4);
+                if(upThirtyOldNum.isValid()){
+                    curComInfo.upThirtyOldNum = upThirtyOldNum.toInt();
+                    qDebug()<<"upThirtyOldNum"<<upThirtyOldNum;
+                }
+                // 30宀佷互涓�
+                QVariant downThirtyOldNum = valRows[56].toList().at(4);
+                if(downThirtyOldNum.isValid()){
+                    curComInfo.downThirtyOldNum = downThirtyOldNum.toInt();
+                    qDebug()<<"downThirtyOldNum"<<downThirtyOldNum;
+                }
+
+                // 鐭ヨ瘑缁撴瀯 瀹¤
+                QVariant auditNum = valRows[56].toList().at(4);
+                if(auditNum.isValid()){
+                    curComInfo.auditNum = auditNum.toInt();
+                    qDebug()<<"auditNum"<<auditNum;
+                }
+                // 浼氳
+                QVariant accountingNum = valRows[56].toList().at(4);
+                if(accountingNum.isValid()){
+                    curComInfo.accountingNum = accountingNum.toInt();
+                    qDebug()<<"accountingNum"<<accountingNum;
+                }
+                // 缁忔祹
+                QVariant economyNum = valRows[56].toList().at(4);
+                if(economyNum.isValid()){
+                    curComInfo.economyNum = economyNum.toInt();
+                    qDebug()<<"economyNum"<<economyNum;
+                }
+                // 娉曞緥
+                QVariant lawNum = valRows[56].toList().at(4);
+                if(lawNum.isValid()){
+                    curComInfo.lawNum = lawNum.toInt();
+                    qDebug()<<"lawNum"<<lawNum;
+                }
+                // 绠$悊
+                QVariant managerNum = valRows[56].toList().at(4);
+                if(managerNum.isValid()){
+                    curComInfo.managerNum = managerNum.toInt();
+                    qDebug()<<"managerNum"<<managerNum;
+                }
+                // 淇℃伅鎶�鏈�
+                QVariant itNum = valRows[56].toList().at(4);
+                if(itNum.isValid()){
+                    curComInfo.itNum = itNum.toInt();
+                    qDebug()<<"itNum"<<itNum;
+                }
+                // 宸ョ▼
+                QVariant engineeringNum = valRows[56].toList().at(4);
+                if(engineeringNum.isValid()){
+                    curComInfo.engineeringNum = engineeringNum.toInt();
+                    qDebug()<<"engineeringNum"<<engineeringNum;
+                }
+                // 鍏朵粬
+                QVariant otherNum = valRows[56].toList().at(4);
+                if(otherNum.isValid()){
+                    curComInfo.otherNum = otherNum.toInt();
+                    qDebug()<<"otherNum"<<otherNum;
+                }
+
+                // 鍚庨潰鐨�4涓俊鎭�
+                // 缁熻璐熻矗浜�
+                QVariant statisticalConOfficer = valRows[81].toList().at(1);
+                if(statisticalConOfficer.isValid()){
+                    strcpy(curComInfo.statisticalConOfficer,statisticalConOfficer.toString().toLocal8Bit().data());
+                    qDebug()<<"statisticalConOfficer"<<statisticalConOfficer;
+                }else{
+                    qDebug()<<"statisticalConOfficer fail:"<<name.toString();
+                }
+                // 濉〃浜�
+                QVariant personFilling = valRows[81].toList().at(4);
+                if(personFilling.isValid()){
+                    strcpy(curComInfo.personFilling,personFilling.toString().toLocal8Bit().data());
+                    qDebug()<<"personFilling"<<personFilling;
+                }
+                // 鑱旂郴鐢佃瘽
+                QVariant officerTel = valRows[82].toList().at(1);
+                if(officerTel.isValid()){
+                    strcpy(curComInfo.officerTel,officerTel.toString().toLocal8Bit().data());
+                    qDebug()<<"officerTel"<<officerTel;
+                }
+                // 濉姤鏃ユ湡
+                QVariant fillingDateTime = valRows[82].toList().at(4);
+                if(fillingDateTime.isValid()){
+                    strcpy(curComInfo.fillingDateTime,fillingDateTime.toString().toLocal8Bit().data());
+                    qDebug()<<"fillingDateTime"<<fillingDateTime;
                 }
 
                 // 鏈�鍚庡瓨鍒癿ap涓�
@@ -462,3 +715,282 @@
     connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo()));
     connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo()));
 }
+
+void ConverInfo2::on_pushButton_commit_clicked()
+{
+    // 灏嗙紪杈戞鐨勬暟鎹洿鏂板埌map涓拰鏁版嵁搴撲腑锛屽悗鏈熷彲浠ユ洿鏂板埌鏂囦欢涓�
+    // 鍗曚綅鍩烘湰鎯呭喌
+    QString creditCode = ui->lineEdit_creditCode->text();
+    QString name = ui->lineEdit_name->text();
+    QString comType = ui->comboBox_comType->currentText();
+    QString business = ui->lineEdit_business->text();
+    QString businessCode = ui->lineEdit_businessCode->text();
+    QString addr = ui->lineEdit_addr->text();
+    QString areaCode = ui->lineEdit_areaCode->text();
+    QString townCode = ui->lineEdit_townCode->text();
+    QString scale = ui->comboBox_scale->currentText();
+    QString people = ui->lineEdit_people->text();
+    QString representative = ui->lineEdit_representative->text();
+    QString standardType = ui->comboBox_standardType->currentText();
+    QString trunkCode = ui->lineEdit_trunkCode->text();
+    QString fixedTel = ui->lineEdit_fixedTel->text();
+    QString postCode = ui->lineEdit_postCode->text();
+    QString email = ui->lineEdit_email->text();
+    QString webSite = ui->lineEdit_webSite->text();
+
+    // 鍗曚綅缁勭粐缁撴瀯鎯呭喌
+    QString hasUpLegal = ui->comboBox_hasUpLegal->currentText();
+    QString upCreditCode = ui->lineEdit_upCreditCode->text();
+    QString oldCreditCode = ui->lineEdit_oldCreditCode->text();
+    QString upName = ui->lineEdit_upName->text();
+
+    // 鎬诲璁″笀涓庡唴瀹℃満鏋勫熀鏈儏鍐�
+    QString hasChiefDesigner = ui->comboBox_hasChiefDesigner->currentText();
+    QString ChiefDesignerLevel = ui->comboBox_ChiefDesignerLevel->currentText();
+    QString employmentMode = ui->comboBox_employmentMode->currentText();
+    QString hasSetIntervalAudit = ui->comboBox_hasSetIntervalAudit->currentText();
+    QString internalName = ui->lineEdit_internalName->text();
+    QString leadingOrganization = ui->comboBox_leadingOrganization->currentText();
+    QString hasSetSeparateIA = ui->comboBox_hasSetSeparateIA->currentText();
+    bool financeDepartment = ui->checkBox_financeDepartment->isChecked();
+    bool legalDepartment = ui->checkBox_legalDepartment->isChecked();
+    bool internalConDepart = ui->checkBox_internalConDepart->isChecked();
+    bool disceplineInDepart = ui->checkBox_disceplineInDepart->isChecked();
+    bool otherDepart = ui->checkBox_otherDepart->isChecked();
+    QString intavalAuditLeval = ui->comboBox_intavalAuditLeval->currentText();
+
+    // 鍥涖�佸唴瀹′汉鍛橀厤澶囧熀鏈儏鍐�
+    int organazationNum = ui->lineEdit_organazationNum->text().toInt();
+    int realNum = ui->lineEdit_realNum->text().toInt();
+    int professionalNum = ui->lineEdit_professionalNum->text().toInt();
+    int CIANum = ui->lineEdit_CIANum->text().toInt();
+    int masterNum = ui->lineEdit_masterNum->text().toInt();
+    int undergraduatesNum = ui->lineEdit_undergraduatesNum->text().toInt();
+    int juniorNum = ui->lineEdit_juniorNum->text().toInt();
+    int seniorNum = ui->lineEdit_seniorNum->text().toInt();
+    int intermediateNum = ui->lineEdit_intermediateNum->text().toInt();
+    int primaryNum = ui->lineEdit_primaryNum->text().toInt();
+    int noTitleNum = ui->lineEdit_noTitleNum->text().toInt();
+    int upFiftyOldNum = ui->lineEdit_upFiftyOldNum->text().toInt();
+    int upThirtyOldNum = ui->lineEdit_upThirtyOldNum->text().toInt();
+    int downThirtyOldNum = ui->lineEdit_downThirtyOldNum->text().toInt();
+    int auditNum = ui->lineEdit_auditNum->text().toInt();
+    int accountingNum = ui->lineEdit_accountingNum->text().toInt();
+    int economyNum = ui->lineEdit_economyNum->text().toInt();
+    int lawNum = ui->lineEdit_lawNum->text().toInt();
+    int managerNum = ui->lineEdit_managerNum->text().toInt();
+    int itNum = ui->lineEdit_itNum->text().toInt();
+    int engineeringNum = ui->lineEdit_engineeringNum->text().toInt();
+    int otherNum = ui->lineEdit_otherNum->text().toInt();
+
+    // 鍚庨潰鐨�4涓俊鎭�
+    QString statisticalConOfficer = ui->lineEdit_statisticalConOfficer->text();
+    QString personFilling = ui->lineEdit_personFilling->text();
+    QString officerTel = ui->lineEdit_officerTel->text();
+    QString fillingDateTime = ui->lineEdit_fillingDateTime->text();
+
+    qDebug()<<"缁熻璐熻矗浜�"<<statisticalConOfficer;
+
+    // 鏇存柊鍒癿ap涓�
+    if(m_nameAndComInfos.count(name)==0){
+        // 娣诲姞鍒癿ap涓�
+        m_nameAndComInfos[name]=ComInfo();
+        // 娣诲姞鍒板彸杈规爲閮ㄤ欢涓�
+        QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget);
+        top1->setText(0,name);
+    }
+    auto &curComInfo = m_nameAndComInfos[name];
+
+
+
+    strcpy(curComInfo.creditCode,creditCode.toLocal8Bit().data());
+    strcpy(curComInfo.name,name.toLocal8Bit().data());
+    strcpy(curComInfo.comType,comType.toLocal8Bit().data());
+    strcpy(curComInfo.business,business.toLocal8Bit().data());
+    strcpy(curComInfo.businessCode,businessCode.toLocal8Bit().data());
+    strcpy(curComInfo.addr,addr.toLocal8Bit().data());
+    strcpy(curComInfo.areaCode,areaCode.toLocal8Bit().data());
+    strcpy(curComInfo.townCode,townCode.toLocal8Bit().data());
+    strcpy(curComInfo.scale,scale.toLocal8Bit().data());
+    curComInfo.people = people.toInt();  // index 10
+    strcpy(curComInfo.representative,representative.toLocal8Bit().data());
+    strcpy(curComInfo.standardType,standardType.toLocal8Bit().data());
+    strcpy(curComInfo.trunkCode,trunkCode.toLocal8Bit().data());
+    strcpy(curComInfo.fixedTel,fixedTel.toLocal8Bit().data());
+    strcpy(curComInfo.postCode,postCode.toLocal8Bit().data());
+    strcpy(curComInfo.email,email.toLocal8Bit().data());
+    strcpy(curComInfo.webSite,webSite.toLocal8Bit().data());  // index 17
+
+    // 浜�
+    strcpy(curComInfo.hasUpLegal,hasUpLegal.toLocal8Bit().data());
+    strcpy(curComInfo.upCreditCode,upCreditCode.toLocal8Bit().data());
+    strcpy(curComInfo.oldCreditCode,oldCreditCode.toLocal8Bit().data());
+    strcpy(curComInfo.upName,upName.toLocal8Bit().data());  // index 21
+
+    // 涓�
+    strcpy(curComInfo.hasChiefDesigner,hasChiefDesigner.toLocal8Bit().data());
+    strcpy(curComInfo.ChiefDesignerLevel,ChiefDesignerLevel.toLocal8Bit().data());
+    strcpy(curComInfo.employmentMode,employmentMode.toLocal8Bit().data());
+    strcpy(curComInfo.hasSetIntervalAudit,hasSetIntervalAudit.toLocal8Bit().data());
+    strcpy(curComInfo.internalName,internalName.toLocal8Bit().data());
+    strcpy(curComInfo.leadingOrganization,leadingOrganization.toLocal8Bit().data());
+    strcpy(curComInfo.hasSetSeparateIA,hasSetSeparateIA.toLocal8Bit().data());
+    curComInfo.financeDepartment = financeDepartment; // index 29
+    curComInfo.legalDepartment = legalDepartment;
+    curComInfo.internalConDepart = internalConDepart;
+    curComInfo.disceplineInDepart = disceplineInDepart;
+    curComInfo.otherDepart = otherDepart;
+    strcpy(curComInfo.intavalAuditLeval,intavalAuditLeval.toLocal8Bit().data()); // index 34
+
+    // 鍥�
+    curComInfo.organazationNum = organazationNum; // index 35
+    curComInfo.realNum = realNum;
+    curComInfo.professionalNum = professionalNum;
+    curComInfo.CIANum = CIANum;
+    curComInfo.masterNum = masterNum;
+    curComInfo.undergraduatesNum = undergraduatesNum;
+    curComInfo.juniorNum = juniorNum;
+    curComInfo.seniorNum = seniorNum;
+    curComInfo.intermediateNum = intermediateNum;
+    curComInfo.primaryNum = primaryNum;
+    curComInfo.noTitleNum = noTitleNum;
+    curComInfo.upFiftyOldNum = upFiftyOldNum;
+    curComInfo.upThirtyOldNum = upThirtyOldNum;
+    curComInfo.downThirtyOldNum = downThirtyOldNum;
+    curComInfo.auditNum = auditNum;
+    curComInfo.accountingNum = accountingNum;
+    curComInfo.economyNum = economyNum;
+    curComInfo.lawNum = lawNum;
+    curComInfo.managerNum = managerNum;
+    curComInfo.itNum = itNum;
+    curComInfo.engineeringNum = engineeringNum;
+    curComInfo.otherNum = otherNum;  // index 56
+
+    // 鍚�4涓俊鎭�
+    strcpy(curComInfo.statisticalConOfficer,statisticalConOfficer.toLocal8Bit().data());
+    strcpy(curComInfo.personFilling,personFilling.toLocal8Bit().data());
+    strcpy(curComInfo.officerTel,officerTel.toLocal8Bit().data());
+    strcpy(curComInfo.fillingDateTime,fillingDateTime.toLocal8Bit().data()); // index 60
+
+
+    // 鏇存柊鍒版暟鎹簱
+
+    // 鍏堝垽鏂槸涓嶆槸宸茬粡瀛樺湪鍏徃鍚嶄簡锛岃嫢宸插瓨鍦紝鍒欐洿鏂帮紝涓嶅瓨鍦ㄥ垯鎻掑叆
+    QString sql = QString("select id,name from all_company_info where name='%1'").arg(name);
+    qDebug()<<"sql:"<<sql;
+    QSqlQuery query;
+    int rowCnt = 0;
+    if(query.exec(sql)){
+        qDebug()<<"size:"<<query.size();
+
+        while (query.next()) {
+            rowCnt++;
+        }
+    }
+    if(rowCnt == 0){
+        // 涓嶅瓨鍦紝鍒欐彃鍏ヤ竴鏉℃柊鏁版嵁
+        qDebug()<<"涓嶅瓨鍦�:"<<name;
+        sql = QString("insert into all_company_info (name,\
+code,\
+鏈烘瀯绫诲瀷,\
+涓昏涓氬姟娲诲姩,\
+琛屼笟浠g爜,\
+鍗曚綅娉ㄥ唽鍦板強鍖哄煙,\
+鍖哄煙浠g爜,\
+鍩庝埂浠g爜,\
+鍗曚綅瑙勬ā,\
+浠庝笟鏈熸湯浜烘暟,\
+娉曞畾浠h〃浜�,\
+鎵ц浼氳鏍囧噯绫诲埆,\
+闀块�斿尯鍙�,\
+鍥哄畾鐢佃瘽,\
+閭斂缂栫爜,\
+鐢靛瓙閭,\
+缃戝潃,\
+鏄惁鏈変笂涓�绾ф硶浜�,\
+涓婁竴绾х粺淇′唬鐮�,\
+鍘熺粍缁囦唬鐮�,\
+涓婄骇鍗曚綅鍚嶇О,\
+鏄惁璁剧疆鎬诲璁″笀,\
+鎬诲璁″笀鑱屼綅灞傜骇,\
+鎬诲浠昏亴鏂瑰紡,\
+鏄惁璁剧疆鍐呭鏈烘瀯,\
+鍐呭鏈烘瀯鍚嶇О,\
+棰嗗鏈烘瀯,\
+鏄惁鐙珛璁剧疆鍐呭鏈烘瀯,\
+璐㈠姟閮ㄩ棬,\
+娉曞姟閮ㄩ棬,\
+鍐呴儴鎺у埗閮ㄩ棬,\
+绾閮ㄩ棬,\
+鍏朵粬閮ㄩ棬,\
+鍐呭灞傜骇,\
+缂栧埗鏁伴噺,\
+瀹炴湁浜烘暟閲�,\
+涓撹亴浜哄憳鏁伴噺,\
+鎷ユ湁CIA浜烘暟,\
+纭曞+瀛﹀巻浠ヤ笂浜烘暟,\
+鏈浜烘暟,\
+涓撶鍙婁互涓嬩汉鏁�,\
+楂樼骇鑱岀О浜烘暟,\
+涓骇鑱岀О浜烘暟,\
+鍒濈骇鑱岀О浜烘暟,\
+鏃犺亴绉颁汉鏁�,\
+浜斿崄宀佷互涓婁汉鏁�,\
+涓夊崄鑷充簲鍗佸瞾宀佷汉鏁�,\
+涓夊崄宀佷互涓嬩汉鏁�,\
+瀹¤鏁伴噺,\
+浼氳鏁伴噺,\
+缁忔祹鏁伴噺,\
+娉曞緥鏁伴噺,\
+绠$悊鏁伴噺,\
+淇℃伅鎶�鏈暟閲�,\
+宸ョ▼鏁伴噺,\
+鍏朵粬鏁伴噺,\
+缁熻璐熻矗浜�,\
+濉〃浜�,\
+鑱旂郴鐢佃瘽,\
+濉姤鏃ユ湡) 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'\
+)").arg(name).arg(creditCode).arg(comType).arg(business).arg(businessCode).arg(addr).arg(areaCode).arg(townCode).arg(scale).arg(people).
+                arg(representative).arg(standardType).arg(trunkCode).arg(fixedTel).arg(postCode).arg(email).arg(webSite).arg(hasUpLegal).arg(upCreditCode).arg(oldCreditCode).
+                arg(upName).arg(hasChiefDesigner).arg(ChiefDesignerLevel).arg(employmentMode).arg(hasSetIntervalAudit).arg(internalName).arg(leadingOrganization).arg(hasSetSeparateIA).arg(financeDepartment).arg(legalDepartment).
+                arg(internalConDepart).arg(disceplineInDepart).arg(otherDepart).arg(intavalAuditLeval).arg(organazationNum).arg(realNum).arg(professionalNum).arg(CIANum).arg(masterNum).arg(undergraduatesNum).
+                arg(juniorNum).arg(seniorNum).arg(intermediateNum).arg(primaryNum).arg(noTitleNum).arg(upFiftyOldNum).arg(upThirtyOldNum).arg(downThirtyOldNum).arg(auditNum).arg(accountingNum).
+                arg(economyNum).arg(lawNum).arg(managerNum).arg(itNum).arg(engineeringNum).arg(otherNum).arg(statisticalConOfficer).arg(personFilling).arg(officerTel).arg(fillingDateTime);
+
+
+        qDebug()<<"sql insert:"<<sql;
+        if(query.exec(sql)){
+            qDebug()<<"insert ok";
+        }else{
+            qDebug()<<"insert fail:"<<query.lastError().text();
+        }
+
+    }else{
+        // 鏇存柊
+        qDebug()<<"瀛樺湪:"<<name;
+        sql = QString("update all_company_info set name='%1',code='%2',鏈烘瀯绫诲瀷='%3',涓昏涓氬姟娲诲姩='%4',琛屼笟浠g爜='%5',鍗曚綅娉ㄥ唽鍦板強鍖哄煙='%6',鍖哄煙浠g爜='%7',鍩庝埂浠g爜='%8',鍗曚綅瑙勬ā='%9',浠庝笟鏈熸湯浜烘暟=%10\
+,娉曞畾浠h〃浜�='%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,鎷ユ湁CIA浜烘暟=%38,纭曞+瀛﹀巻浠ヤ笂浜烘暟=%39,鏈浜烘暟=%40\
+,涓撶鍙婁互涓嬩汉鏁�=%41,楂樼骇鑱岀О浜烘暟=%42,涓骇鑱岀О浜烘暟=%43,鍒濈骇鑱岀О浜烘暟=%44,鏃犺亴绉颁汉鏁�=%45,浜斿崄宀佷互涓婁汉鏁�=%46,涓夊崄鑷充簲鍗佸瞾宀佷汉鏁�=%47,涓夊崄宀佷互涓嬩汉鏁�=%48,瀹¤鏁伴噺=%49,浼氳鏁伴噺=%50\
+,缁忔祹鏁伴噺=%51,娉曞緥鏁伴噺=%52,绠$悊鏁伴噺=%53,淇℃伅鎶�鏈暟閲�=%54,宸ョ▼鏁伴噺=%55,鍏朵粬鏁伴噺=%56,缁熻璐熻矗浜�='%57',濉〃浜�='%58',鑱旂郴鐢佃瘽='%59',濉姤鏃ユ湡='%60'").
+                arg(name).arg(creditCode).arg(comType).arg(business).arg(businessCode).arg(addr).arg(areaCode).arg(townCode).arg(scale).arg(people).
+                arg(representative).arg(standardType).arg(trunkCode).arg(fixedTel).arg(postCode).arg(email).arg(webSite).arg(hasUpLegal).arg(upCreditCode).arg(oldCreditCode).
+                arg(upName).arg(hasChiefDesigner).arg(ChiefDesignerLevel).arg(employmentMode).arg(hasSetIntervalAudit).arg(internalName).arg(leadingOrganization).arg(hasSetSeparateIA).arg(financeDepartment).arg(legalDepartment).
+                arg(internalConDepart).arg(disceplineInDepart).arg(otherDepart).arg(intavalAuditLeval).arg(organazationNum).arg(realNum).arg(professionalNum).arg(CIANum).arg(masterNum).arg(undergraduatesNum).
+                arg(juniorNum).arg(seniorNum).arg(intermediateNum).arg(primaryNum).arg(noTitleNum).arg(upFiftyOldNum).arg(upThirtyOldNum).arg(downThirtyOldNum).arg(auditNum).arg(accountingNum).
+                arg(economyNum).arg(lawNum).arg(managerNum).arg(itNum).arg(engineeringNum).arg(otherNum).arg(statisticalConOfficer).arg(personFilling).arg(officerTel).arg(fillingDateTime);
+
+        qDebug()<<"update sql:"<<sql;
+        if(query.exec(sql)){
+            qDebug()<<"update ok";
+        }else{
+            qDebug()<<"update fail:"<<query.lastError().text();
+        }
+    }
+}

--
Gitblit v1.8.0