From 71c27f9ead97e52e50a59495c6955756e21004cf Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期五, 01 十一月 2024 00:16:13 +0800
Subject: [PATCH] 1101

---
 internal_system_v1/clientmainwindow.cpp      |  193 +++++++++++++++++++++++++++
 internal_system_v1/threemergeproblemlist.cpp |    9 +
 internal_system_v1/clientmainwindow.ui       |    7 +
 internal_system_v1/struct_data.h             |   71 ++++++++++
 internal_system_v1/clientmainwindow.h        |    5 
 internal_system_v1/converinfo2.h             |    2 
 修改_241015/内审系统存在问题反馈1015.docx                |    0 
 internal_system_v1/exporttofile.h            |    2 
 internal_system_v1/converinfo2.cpp           |   38 +++++
 internal_system_v1/threemergeproblemlist.h   |    3 
 internal_system_v1/exporttofile.cpp          |   73 ++++++++++
 11 files changed, 398 insertions(+), 5 deletions(-)

diff --git a/internal_system_v1/clientmainwindow.cpp b/internal_system_v1/clientmainwindow.cpp
index 940cad8..aa67295 100644
--- a/internal_system_v1/clientmainwindow.cpp
+++ b/internal_system_v1/clientmainwindow.cpp
@@ -159,6 +159,16 @@
     //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)
@@ -737,3 +747,186 @@
 
 
 }
+
+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);
+}
diff --git a/internal_system_v1/clientmainwindow.h b/internal_system_v1/clientmainwindow.h
index d36e45f..3640fca 100644
--- a/internal_system_v1/clientmainwindow.h
+++ b/internal_system_v1/clientmainwindow.h
@@ -23,6 +23,7 @@
 #include <QItemDelegate>
 #include "threemergeproblemlist.h"
 
+
 namespace Ui {
 class ClientMainWindow;
 }
@@ -89,6 +90,10 @@
 
     void on_pushButton_reset_clicked();
 
+    void updateComboList(QMap<QString,ComInfo> & nameAndComInfos); // 鏇存柊涓嬫媺妗嗗垪琛�
+
+    void on_pushButton_save_export_clicked();
+
 signals:
     void sendDataToAuditProject(QVariantList);
     void sendDataToAuditWorkLoad(QVariantList);
diff --git a/internal_system_v1/clientmainwindow.ui b/internal_system_v1/clientmainwindow.ui
index 27d84c9..1cf1f9b 100644
--- a/internal_system_v1/clientmainwindow.ui
+++ b/internal_system_v1/clientmainwindow.ui
@@ -4218,6 +4218,13 @@
             </property>
            </widget>
           </item>
+          <item>
+           <widget class="QPushButton" name="pushButton_save_export">
+            <property name="text">
+             <string>瀵煎嚭淇濆瓨</string>
+            </property>
+           </widget>
+          </item>
          </layout>
         </item>
        </layout>
diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp
index 0afa25e..c19c391 100644
--- a/internal_system_v1/converinfo2.cpp
+++ b/internal_system_v1/converinfo2.cpp
@@ -64,12 +64,14 @@
     m_menu = new QMenu(this);
     m_menu->addAction("鍒犻櫎");
     m_menu->addAction("澧炲姞");
+    m_menu->addAction("淇濆瓨瀵煎嚭");
 
     ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
     connect(ui->treeWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenu(QPoint)));
 
     connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo()));
     connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo()));
+    connect(m_menu->actions().at(2),SIGNAL(triggered(bool)),this,SLOT(saveInfo()));
             // 鍗曚綅鍐呭淇敼
 
     // 鍙宠竟鍙紪杈戝唴瀹�
@@ -103,11 +105,30 @@
     qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size();
 }
 
+void ConverInfo2::saveInfo()
+{
+    if(m_curItem==nullptr)return;
+    qDebug()<<"淇濆瓨鍏徃淇℃伅,鑺傜偣锛�"<<m_curItem->text(0);
+    QString name = m_curItem->text(0);
+    if(name.contains("(鏈骇)")){
+        name = name.split("(鏈骇)").at(0);
+    }else if(name.contains("(姹囨��)")){
+        name = name.split("(姹囨��)").at(0);
+        name = name + "(姹囨��)";
+    }
+    qDebug()<<"淇濆瓨鍏徃鍚�:"<<name;
+    ComInfo cif = m_nameAndComInfos[name];
+    ExportToFile etf(this);
+    etf.saveToExcelFromComInfo(cif);
+
+}
+
 void ConverInfo2::on_treeWidget_doubleClicked(const QModelIndex &index)
 {
     QString name = index.model()->data(index).toString();
     qDebug()<<"鍙屽嚮"<<index<<name;
-    ComInfo curCominfo = m_nameAndComInfos[name];
+
+    ComInfo curCominfo; // 涓嶈鐩存帴缁欏�硷紝鍙兘浼氬鑷村娣诲姞鏂扮殑鍚嶅瓧杩涙潵
     if(name.contains("(鏈骇)")){
         QStringList sps = name.split("(鏈骇)");
         name = sps.at(0);
@@ -146,7 +167,16 @@
 
         }
         curCominfo = allCominfo;
+        // 澶勭悊瀹屼簡涔嬪悗锛岃繕闇�瑕佸崟鐙捣涓�涓眹鎬荤殑鍚嶅瓧
+        name = name + "(姹囨��)";
+        strcpy(curCominfo.name,name.toLocal8Bit().data());
+        m_nameAndComInfos[name] = curCominfo;
 
+        // 鍒锋柊缁勫悎涓嬫媺妗嗙殑鍒楄〃
+        emit updateComboListSignal(m_nameAndComInfos);
+
+    }else{
+        curCominfo = m_nameAndComInfos[name];
     }
     //ComInfo curCominfo = m_nameAndComInfos[name];
     // 涓�銆佸崟浣嶅熀鏈儏鍐�
@@ -769,6 +799,9 @@
     // 鍙戝皠 鍔犺浇瀹屾垚鐨勪俊鍙�
     emit loadFinished();
 
+    // 鏇存柊鍏朵粬鐣岄潰鐨勫叕鍙镐俊鎭笅鎷夋
+    emit updateComboListSignal(m_nameAndComInfos);
+
 //    QAxObject excel("./debug/Data/闄勪欢2_鍐呭缁�01琛╛鍗曚綅鍙婂唴閮ㄥ璁℃満鏋勫熀鏈儏鍐佃〃-1.301鐗�(1).xls");
 //    excel.setProperty("Visible",true);
 //    excel.setProperty("DisplayAlerts",false);
@@ -785,12 +818,14 @@
 
     m_menu->addAction("鍒犻櫎");
     m_menu->addAction("澧炲姞");
+    m_menu->addAction("淇濆瓨瀵煎嚭");
 
     ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
     connect(ui->treeWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenu(QPoint)));
 
     connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo()));
     connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo()));
+    connect(m_menu->actions().at(2),SIGNAL(triggered(bool)),this,SLOT(saveInfo()));
 }
 
 void ConverInfo2::on_pushButton_commit_clicked()
@@ -1600,6 +1635,7 @@
     excel.dynamicCall("Quit(void)");
 
     qDebug()<<"鍗曚綅淇℃伅鏁伴噺锛�"<<m_nameAndComInfos.size();
+    emit updateComboListSignal(m_nameAndComInfos); // 鏇存柊缁勫悎涓嬫媺妗嗙殑鍗曚綅淇℃伅
 }
 
 void ConverInfo2::createTreeNode(){
diff --git a/internal_system_v1/converinfo2.h b/internal_system_v1/converinfo2.h
index 0aadf91..c683c90 100644
--- a/internal_system_v1/converinfo2.h
+++ b/internal_system_v1/converinfo2.h
@@ -37,11 +37,13 @@
 signals:
     void loadFinished(); // 鍔犺浇瀹屾垚鐨勪俊鍙�
     void loadProgress(int); // 鍔犺浇杩涘害
+    void updateComboListSignal(QMap<QString,ComInfo> &); // 鏇存柊涓嬫媺妗嗙殑淇″彿
 
 private slots:
     void showMenu(QPoint p);
     void addInfo();
     void deleteInfo();
+    void saveInfo(); // 瀵煎嚭淇濆瓨
     void on_treeWidget_doubleClicked(const QModelIndex &index);
 
     void on_pushButton_commit_clicked();
diff --git a/internal_system_v1/exporttofile.cpp b/internal_system_v1/exporttofile.cpp
index b4b9a46..8a7533b 100644
--- a/internal_system_v1/exporttofile.cpp
+++ b/internal_system_v1/exporttofile.cpp
@@ -3,6 +3,8 @@
 #include <QDebug>
 #include <QAxObject>
 #include <QFile>
+#include <QDateTime>
+#include <QMessageBox>
 
 #pragma execution_character_set("utf-8")
 ExportToFile::ExportToFile(QObject *parent) : QObject(parent)
@@ -22,8 +24,8 @@
     if(!dir.exists()){
         demoPath = QDir::currentPath()+"/release/Data/闄勪欢2_鍐呭缁�01琛╛鍗曚綅鍙婂唴閮ㄥ璁℃満鏋勫熀鏈儏鍐佃〃-1.301鐗坃demo.xls";
     }
-
-    QString savePath = QFileDialog::getSaveFileName(nullptr,"淇濆瓨鏂囦欢",QDir::currentPath()+"/鍐呭缁�01琛�.xls","Excel File(*.xls,*.xlsx)");
+    QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss");
+    QString savePath = QFileDialog::getSaveFileName(nullptr,"淇濆瓨鏂囦欢",QDir::currentPath()+QString("/鍐呭缁�01琛╛%1_%2.xls").arg(QString::fromLocal8Bit(info.name)).arg(dt),"Excel File(*.xls;*.xlsx)");
     qDebug()<<"savepath:"<<savePath <<endl << "demoPath:"<<demoPath;
 
 
@@ -205,6 +207,7 @@
         wbs->dynamicCall("Close()");
         excel.dynamicCall("Quit(void)");
 
+        QMessageBox::information(nullptr,"瀵煎嚭瀹屾垚","鏂囦欢浣嶇疆:"+savePath);
 
     }
     return 0;
@@ -216,7 +219,71 @@
     return 0;
 }
 
-int ExportToFile::saveToExcelFromNeiShenZonghe()
+int ExportToFile::saveToExcelFromNeiShenZonghe(QString name,NeiShenZongHeInfo &nszh)
 {
+    qDebug()<<"鍐呭缁煎悎淇濆瓨瀵煎嚭";
+
+    if(name.size() == 0) return -1; // 鏂囦欢涓虹┖
+
+    QString demoPath = QDir::currentPath()+"/Data/闄勪欢4_鍐呭缁�03琛╛鍐呴儴瀹¤缁熻缁煎悎琛╛demo.xls";
+    QDir dir(demoPath);
+    if(!dir.exists()){
+        demoPath = QDir::currentPath()+"/release/Data/闄勪欢4_鍐呭缁�03琛╛鍐呴儴瀹¤缁熻缁煎悎琛╛demo.xls";
+    }
+    QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss");
+    QString savePath = QFileDialog::getSaveFileName(nullptr,"淇濆瓨鏂囦欢",QDir::currentPath()+QString("/缁煎悎琛╛%1_%2.xls").arg(name).arg(dt),"Excel File(*.xls;*.xlsx)");
+    qDebug()<<"savepath:"<<savePath << endl << "demoPath:"<<demoPath;
+
+
+
+    if(savePath.size() > 0){
+        QAxObject excel("ket.Application");
+        if(!excel.setControl("ket"
+                             ".Application")){  // windows鍐呮牳
+            excel.setControl("Excel.Application"); // wps鍐呮牳
+        }
+
+        excel.setProperty("Visible",false);
+        excel.setProperty("DisplayAlerts",false);
+        QAxObject * wbs = excel.querySubObject("WorkBooks");
+        qDebug()<<"wbs:"<<wbs->className();
+        QAxObject * wb = wbs->querySubObject("Open(QString&)",demoPath);
+        qDebug()<<"wb open ok";
+        QAxObject * shs = wb->querySubObject("WorkSheets"); // WorkSheets 涔熷彲浠�
+        // 鑾峰彇鍏蜂綋琛ㄦ牸锛岃鍒�
+        QAxObject * sheet = shs->querySubObject("Item(int)", 1); // 绗竴涓〃
+        QAxObject *usedRange = sheet->querySubObject("UsedRange");
+        int rows = usedRange->querySubObject("Rows")->property("Count").toInt();
+        int columns = usedRange->querySubObject("Columns")->property("Count").toInt();
+        qDebug()<<"r--c:"<<rows<<columns;
+
+        // 淇敼鍐呭
+
+        // 鍥� 椤圭洰瀹¤  鍗曚綅 涓�
+        char index[5]={'G','H','I','J','K'};
+
+        for(int i=0;i<5;++i){
+            QString cellStr = QString("%1%2").arg(index[i]).arg(40);
+            qDebug()<<cellStr<<nszh.code_030300[i];
+            qDebug()<<"淇敼涔嬪墠:"<<sheet->querySubObject("Range(QVariant, QVariant)", cellStr)->property("Value2").toInt();
+            sheet->querySubObject("Range(QVariant, QVariant)", cellStr)->setProperty("Value2", nszh.code_030300[i]); // 瀹¤椤圭洰
+            qDebug()<<"淇敼缁撴灉:"<<sheet->querySubObject("Range(QVariant, QVariant)", cellStr)->property("Value2").toInt();
+        }
+        for(int i=0;i<5;++i){
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg(index[i]).arg(41))->setProperty("Value2", nszh.code_030301[i]); // 鍏朵腑锛氳疮褰昏惤瀹炲浗瀹堕噸澶ф斂绛栨帾鏂藉璁�
+        }
+
+        qDebug()<<40;
+
+
+        // 瀹屼簨浜嗭紝缁撴潫锛屼繚瀛樻垨鑰呴��鍑�
+        wb->dynamicCall("SaveAs(const QString&)",QDir::toNativeSeparators(savePath));
+        wbs->dynamicCall("Close()");
+        excel.dynamicCall("Quit(void)");
+
+        QMessageBox::information(nullptr,"瀵煎嚭瀹屾垚","鏂囦欢浣嶇疆:"+savePath);
+
+    }
+
     return 0;
 }
diff --git a/internal_system_v1/exporttofile.h b/internal_system_v1/exporttofile.h
index 72ca76e..5b67299 100644
--- a/internal_system_v1/exporttofile.h
+++ b/internal_system_v1/exporttofile.h
@@ -14,7 +14,7 @@
 
     int saveToExcelFromComInfo(ComInfo &info); // 灏侀潰淇℃伅瀵煎嚭
     int saveToExcelFromThreeMergePro(); // 3鍜�1瀵煎嚭
-    int saveToExcelFromNeiShenZonghe(); // 鍐呭缁煎悎瀵煎嚭
+    int saveToExcelFromNeiShenZonghe(QString name,NeiShenZongHeInfo &nszh); // 鍐呭缁煎悎瀵煎嚭
 signals:
 
 public slots:
diff --git a/internal_system_v1/struct_data.h b/internal_system_v1/struct_data.h
index 93179a0..347301c 100644
--- a/internal_system_v1/struct_data.h
+++ b/internal_system_v1/struct_data.h
@@ -1,6 +1,8 @@
 锘�#ifndef STRUCT_DATA_H
 #define STRUCT_DATA_H
 
+#include <QString>
+
 // 鍗曚綅鍩烘湰淇℃伅
 struct ComInfo{
     // 鍩烘湰鎯呭喌
@@ -75,4 +77,73 @@
 
 };
 
+// 鍐呭缁煎悎琛ㄦ儏鍐�  瀵瑰簲5绉嶇被鍨嬶紝鍓嶉潰鐨勬�昏浼氳嚜鍔ㄦ眰鍜岋紝涓嶇敤瀵煎嚭
+struct NeiShenZongHeInfo
+{
+    // 鍏徃淇℃伅
+    QString name;
+    // 涓� 浜� 涓�  闅愯棌
+    // 鍥� 椤圭洰瀹¤  鍗曚綅 涓�
+    int code_030300[5];  // 瀹¤椤圭洰
+    int code_030301[5];  // 鍏朵腑锛氳疮褰昏惤瀹炲浗瀹堕噸澶ф斂绛栨帾鏂藉璁�
+    int code_030302[5];  // 璐㈡斂璐㈠姟鏀舵敮瀹¤
+    int code_030303[5];  // 鍥哄畾璧勪骇鎶曡祫瀹¤
+    int code_030304[5];  // 鍐呴儴鎺у埗鍜岄闄╃鐞嗗璁�
+    int code_030305[5];  // 缁忔祹璐d换瀹¤
+    int code_030306[5];  // 淇℃伅绯荤粺瀹¤
+    int code_030307[5];  // 澧冨瀹¤
+    int code_030308[5];  // 鍏朵粬
+    int code_030310[5];  // 鍏朵腑锛氬鎵樺鍖呴」鐩�
+
+    // 浜� 鏈~鎶ュ懆鏈熷唴閮ㄥ璁″伐浣滈噺  闅愯棌
+
+    // 鍏�佸璁″彂鐜伴棶棰橀噾棰� 鍗曚綅 鍏�
+    double code_030500[5];  // 瀹¤鍙戠幇闂閲戦
+    double code_030510[5];  // 鍏朵腑锛氱哗鏁堢被闂閲戦
+    double code_030520[5];  // 鍚堣鎬ч棶棰橀噾棰�
+    double code_030521[5];  // 鍏朵腑锛氫細璁℃牳绠楁柟闈�
+    double code_030522[5];  // 杩濊浣跨敤璧勯噾
+    double code_030523[5];  // 鎴暀銆佹矇娣�璧勯噾
+    double code_030524[5];  // 鎹熷け娴垂
+    double code_030525[5];  // 鎸敤璧勯噾
+    double code_030526[5];  // 鍋锋紡绋庤垂
+    double code_030527[5];  // 杩濊鍙栧緱鏀跺叆
+    double code_030528[5];  // 鍏朵粬
+
+    // 涓冦�佸璁″彂鐜伴棶棰樹釜鏁�
+    int code_030600[5];  // 瀹¤鍙戠幇闂涓暟
+    int code_030610[5];  // 鍏朵腑锛氶噾棰濈被闂涓暟
+    int code_030620[5];  // 闈為噾棰濈被闂涓暟
+    int code_030621[5];  // 鍏朵腑锛氬浗瀹舵斂绛栨帾鏂借惤瀹炴柟闈�
+    int code_030622[5];  // 鍙戝睍瑙勫垝涓庢垬鐣ュ喅绛栨柟闈�
+    int code_030623[5];  // 鍐呴儴鎺у埗涓庨闄╃鐞嗘柟闈�
+    int code_030624[5];  // 鍏朵粬
+
+    // 鍏�佸璁″彂鐜伴棶棰樻暣鏀癸紙閲戦绫伙級  鍗曚綅 鍏�
+    double code_030700[5];  // 瀹¤鍙戠幇闂鏁存敼锛堥噾棰濈被锛�
+    double code_030701[5];  // 鍏朵腑锛氳皟鏁翠細璁¤处鐩�
+    double code_030702[5];  // 鏀跺洖璧勯噾
+    double code_030703[5];  // 鎸藉洖鎹熷け
+    double code_030704[5];  // 褰掕繕鍘熻祫閲戞笭閬�
+    double code_030705[5];  // 琛ョ即绋庤垂
+    double code_030706[5];  // 鍏朵粬
+
+    // 涔濄�佸璁″彂鐜伴棶棰樻暣鏀癸紙闈為噾棰濈被锛�  鍗曚綅 涓�
+    int code_030800[5];  // 瀹¤鍙戠幇闂鏁存敼锛堥潪閲戦绫伙級
+    int code_030801[5];  // 鍏朵腑锛氭柊鍒跺畾鍒跺害
+    int code_030802[5];  // 淇瀹屽杽鍒跺害
+    int code_030803[5];  // 浼樺寲瀹屽杽涓氬姟娴佺▼
+    int code_030804[5];  // 鍏朵粬
+
+    // 鍗併�佹牴鎹璁″缓璁粰浜堝厷绾�佹斂鍔″拰鍐呴儴绾緥澶勫垎  鍗曚綅 浜�
+    int code_030900[5];  // 鏍规嵁瀹¤寤鸿缁欎簣鍏氱邯銆佹斂鍔″拰鍐呴儴绾緥澶勫垎
+    int code_030901[5];  // 鍏朵腑锛氬厷绾鍒�
+    int code_030902[5];  // 鏀垮姟澶勫垎
+    int code_030903[5];  // 鍐呴儴绾緥澶勫垎
+    // 鍗佷竴銆佸悜鍙告硶鏈哄叧绉婚�佹垨鎶ュ憡妗堜欢绾跨储
+    int code_031000[5];  // 鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储 浠�
+    int code_031001[5];  // 鍏朵腑锛氭秹妗堜汉鍛�  浜�
+
+};
+
 #endif // STRUCT_DATA_H
diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp
index 6e10620..d1d5289 100644
--- a/internal_system_v1/threemergeproblemlist.cpp
+++ b/internal_system_v1/threemergeproblemlist.cpp
@@ -997,3 +997,12 @@
         }
     }
 }
+
+void ThreeMergeProblemList::updateComboList(QMap<QString, ComInfo> & nameAndComInfos)
+{
+    ui->comboBox_company->clear();
+
+    for(auto it = nameAndComInfos.begin();it != nameAndComInfos.end();++it){
+        ui->comboBox_company->addItem(it.key());
+    }
+}
diff --git a/internal_system_v1/threemergeproblemlist.h b/internal_system_v1/threemergeproblemlist.h
index 5266b86..fb1bcec 100644
--- a/internal_system_v1/threemergeproblemlist.h
+++ b/internal_system_v1/threemergeproblemlist.h
@@ -11,6 +11,7 @@
 
 #include "comboboxdelegate.h"
 #include "datedelegate.h"
+#include "struct_data.h"
 
 #include <QPdfWriter>
 //#include <QtWebEngineWidgets/QtWebEngineWidgets>
@@ -80,6 +81,8 @@
 
     void showSaveFile(); // 鏄剧ず宸茬粡淇濆瓨鐨勪綈璇佹枃浠�
 
+    void updateComboList(QMap<QString,ComInfo> &); // 鏇存柊涓嬫媺妗嗗叕鍙稿悕
+
 private:
     Ui::ThreeMergeProblemList *ui;
     QMenu *m_menu; // 闂娓呭崟鑿滃崟
diff --git "a/\344\277\256\346\224\271_241015/\345\206\205\345\256\241\347\263\273\347\273\237\345\255\230\345\234\250\351\227\256\351\242\230\345\217\215\351\246\2101015.docx" "b/\344\277\256\346\224\271_241015/\345\206\205\345\256\241\347\263\273\347\273\237\345\255\230\345\234\250\351\227\256\351\242\230\345\217\215\351\246\2101015.docx"
index 8555491..c4c9902 100644
--- "a/\344\277\256\346\224\271_241015/\345\206\205\345\256\241\347\263\273\347\273\237\345\255\230\345\234\250\351\227\256\351\242\230\345\217\215\351\246\2101015.docx"
+++ "b/\344\277\256\346\224\271_241015/\345\206\205\345\256\241\347\263\273\347\273\237\345\255\230\345\234\250\351\227\256\351\242\230\345\217\215\351\246\2101015.docx"
Binary files differ

--
Gitblit v1.8.0