From bbacbbede6a3c7265f165642ab19afb61bbcac8d Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期一, 02 十二月 2024 23:31:57 +0800
Subject: [PATCH] 1202

---
 internal_system_v1/searchinfo.cpp            |   16 +
 internal_system_v1/threemergeproblemlist.cpp |  131 +++++++++++++++--
 internal_system_v1/struct_data.h             |   81 +++++++++++
 internal_system_v1/threemergeproblemlist.ui  |    8 
 Data/三合一.xlsx                                |    0 
 修改_241015/内审系统存在问题反馈1015.docx                |    0 
 internal_system_v1/exporttofile.h            |    2 
 internal_system_v1/threemergeproblemlist.h   |    3 
 internal_system_v1/exporttofile.cpp          |  128 ++++++++++++++++++
 9 files changed, 337 insertions(+), 32 deletions(-)

diff --git "a/Data/\344\270\211\345\220\210\344\270\200.xlsx" "b/Data/\344\270\211\345\220\210\344\270\200.xlsx"
new file mode 100644
index 0000000..bb291a3
--- /dev/null
+++ "b/Data/\344\270\211\345\220\210\344\270\200.xlsx"
Binary files differ
diff --git a/internal_system_v1/exporttofile.cpp b/internal_system_v1/exporttofile.cpp
index 89cc27a..1f5e8db 100644
--- a/internal_system_v1/exporttofile.cpp
+++ b/internal_system_v1/exporttofile.cpp
@@ -214,8 +214,134 @@
 
 }
 
-int ExportToFile::saveToExcelFromThreeMergePro()
+int ExportToFile::saveToExcelFromThreeMergePro(QString name,QVector<ThreeMergeInfo> &threeMergeInfos)
 {
+    qDebug()<<"涓夊悎涓�鍙版湰淇濆瓨瀵煎嚭";
+
+    if(threeMergeInfos.size() == 0) {
+        QMessageBox::information(nullptr,"鍐呭涓虹┖","璇锋煡璇㈠埌鏁版嵁鍐嶅鍑轰繚瀛�");
+        return -1; // 鏂囦欢涓虹┖
+    }
+
+    if(name.size() == 0) {
+        QMessageBox::information(nullptr,"鍏徃鍚嶄负绌�","璇烽�夋嫨涓�涓叕鍙稿啀瀵煎嚭淇濆瓨");
+        return -1; // 鏂囦欢涓虹┖
+    }
+
+    QString demoPath = QDir::currentPath()+"/Data/涓夊悎涓�.xlsx";
+    QDir dir(demoPath);
+    if(!dir.exists()){
+        demoPath = QDir::currentPath()+"/release/Data/涓夊悎涓�.xlsx";
+    }
+    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;
+
+        // 淇敼鍐呭
+        for(int i=0;i<threeMergeInfos.size();++i){
+            // 鍙戠幇闂
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('A').arg(4+i))->setProperty("Value2", threeMergeInfos[i].id); // 搴忓彿
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('B').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_type)); // 瀹¤绫诲埆
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('C').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_year)); // 瀹¤骞村害
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('D').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_unit)); // 瀹¤鍗曚綅
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('E').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_method)); // 瀹¤鏂瑰紡
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('F').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].responsible_subject_name)); // 璐d换涓讳綋鍚嶇О
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('G').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_item)); // 瀹¤椤圭洰
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('H').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_item_name)); // 瀹¤椤圭洰鍚嶇О
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('I').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].pro_type)); // 闂绫诲埆
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('J').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].problem_qualification)); // 闂瀹氭��
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('K').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].problem_desript)); // 闂鎻忚堪
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('L').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].problem_qualifi_basis)); // 闂瀹氭�ф硶瑙勪緷鎹�
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('M').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].problem_money_basis)); // 瀹¤鍙戠幇闂閲戦瀹氭��
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('N').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].problem_num_basis)); // 瀹¤鍙戠幇闂涓暟瀹氭��
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('O').arg(4+i))->setProperty("Value2", threeMergeInfos[i].money_involved); // 娑夊強閲戦锛堜竾鍏冿級
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('P').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].problem_desript_evidence_material)); // 闂鎻忚堪浣愯瘉璧勬枡
+
+            // 鏁存敼鎯呭喌
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('Q').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].audit_rectified)); // 瀹¤鏈熼棿宸叉暣鏀�
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('R').arg(4+i))->setProperty("Value2", threeMergeInfos[i].rectify_money); // 鏁存敼閲戦锛堜竾鍏冿級
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('S').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_situation_1)); // 鏁存敼鎯呭喌1
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('T').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_situation_evidence_mat_1)); // 鏁存敼鎯呭喌浣愯瘉璧勬枡1
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('U').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_res)); // 鏁存敼缁撴灉
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('V').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_complete_time)); // 鏁存敼瀹屾垚鏃堕棿
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('W').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_not_over_reason)); // 灏氭湭鏁存敼鍒颁綅鐨勫師鍥�
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('X').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_will_complete_time)); // 鏁存敼棰勮瀹屾垚鏃堕棿
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('Y').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_situation_2)); // 鏁存敼鎯呭喌2
+            sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('Z').arg(4+i))->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_situation_evidence_mat_2)); // 鏁存敼鎯呭喌浣愯瘉璧勬枡2
+
+            // 澶勫垎缁撴灉
+            sheet->querySubObject("Cells(int,int)", 4+i,27)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].punish_type)); // 澶勫垎绫诲瀷
+            //sheet->querySubObject("Range(QVariant, QVariant)", QString("%1%2").arg('AA').arg(4+i))->setProperty("Value2", threeMergeInfos[i].punish_person_num); // 澶勫垎浜烘暟锛堝崟浣嶏細浜猴級
+            sheet->querySubObject("Cells(int,int)", 4+i,27+1)->setProperty("Value2", threeMergeInfos[i].punish_person_num); // 澶勫垎浜烘暟锛堝崟浣嶏細浜猴級 // 瓒呰繃Z浜嗭紝寰楀畨涓嬫爣鏉ュ鐞嗕簡
+
+
+//            // 绉婚�佷俊鎭�
+            sheet->querySubObject("Cells(int,int)", 4+i,28+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].transfer_info)); // 绉婚�佽缁嗕俊鎭�
+            sheet->querySubObject("Cells(int,int)", 4+i,29+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].punish_res)); // 澶勭悊缁撴灉
+            sheet->querySubObject("Cells(int,int)", 4+i,30+1)->setProperty("Value2", threeMergeInfos[i].involved_person_num); // 娑夋浜哄憳锛堝崟浣嶏細浜猴級
+
+            // 鏁存敼妫�鏌ョ粨鏋�
+            sheet->querySubObject("Cells(int,int)", 4+i,31+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_check_time)); // 妫�鏌ユ椂闂�
+            sheet->querySubObject("Cells(int,int)", 4+i,32+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_check_mothod)); // 妫�鏌ユ柟寮�
+            sheet->querySubObject("Cells(int,int)", 4+i,33+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].rectify_check_res)); // 妫�鏌ョ粨鏋�
+
+            // 鏁存敼绫诲瀷-宸叉暣鏀�
+            sheet->querySubObject("Cells(int,int)", 4+i,34+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].correct_problem)); // 绾犳闂
+            sheet->querySubObject("Cells(int,int)", 4+i,35+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].improve_the_system)); // 瀹屽杽鍒跺害
+            sheet->querySubObject("Cells(int,int)", 4+i,36+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].complete_time)); // 瀹屾垚鏃堕棿
+
+            // 鏁存敼绫诲瀷-姝e湪鏁存敼
+            sheet->querySubObject("Cells(int,int)", 4+i,37+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].during_main_reason)); // 涓昏鍘熷洜
+            sheet->querySubObject("Cells(int,int)", 4+i,38+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].during_end_complete_time)); // 瀹屾垚鏃堕檺
+
+            // 鏁存敼绫诲瀷-灏氭湭鏁存敼
+            sheet->querySubObject("Cells(int,int)", 4+i,39+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].not_main_reason)); // 涓昏鍘熷洜
+            sheet->querySubObject("Cells(int,int)", 4+i,40+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].departen_or_person)); // 璐d换閮ㄩ棬鎴栬矗浠讳汉
+            sheet->querySubObject("Cells(int,int)", 4+i,41+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].not_end_complete_time)); // 瀹屾垚鏃堕檺
+
+            // 鏁存敼缁撴灉-闂鏁存敼(閲戦绫�)
+            sheet->querySubObject("Cells(int,int)", 4+i,42+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].money_res)); // 閲戦绫绘暣鏀规垚鏋�
+            sheet->querySubObject("Cells(int,int)", 4+i,43+1)->setProperty("Value2", threeMergeInfos[i].money_res_money); // 閲戦锛堝厓锛�
+
+            // 鏁存敼缁撴灉-闂鏁存敼(闈為噾棰濈被)
+            sheet->querySubObject("Cells(int,int)", 4+i,44+1)->setProperty("Value2", QString::fromLocal8Bit(threeMergeInfos[i].no_money_res)); // 闈為噾棰濈被鏁存敼鎴愭灉
+            sheet->querySubObject("Cells(int,int)", 4+i,45+1)->setProperty("Value2", threeMergeInfos[i].no_money_res_num); // 鏁伴噺锛堜釜锛�
+
+
+        }
+
+
+
+        // 瀹屼簨浜嗭紝缁撴潫锛屼繚瀛樻垨鑰呴��鍑�
+        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 5b67299..dbae261 100644
--- a/internal_system_v1/exporttofile.h
+++ b/internal_system_v1/exporttofile.h
@@ -13,7 +13,7 @@
 
 
     int saveToExcelFromComInfo(ComInfo &info); // 灏侀潰淇℃伅瀵煎嚭
-    int saveToExcelFromThreeMergePro(); // 3鍜�1瀵煎嚭
+    int saveToExcelFromThreeMergePro(QString name,QVector<ThreeMergeInfo> &threeMergeInfos); // 3鍜�1瀵煎嚭
     int saveToExcelFromNeiShenZonghe(QString name,NeiShenZongHeInfo &nszh); // 鍐呭缁煎悎瀵煎嚭
 signals:
 
diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp
index e372090..4f25da6 100644
--- a/internal_system_v1/searchinfo.cpp
+++ b/internal_system_v1/searchinfo.cpp
@@ -391,6 +391,8 @@
             闂瀹氭��     TEXT,\
             闂鎻忚堪     TEXT,\
             闂瀹氭�ф硶瑙勪緷鎹�     TEXT,\
+瀹¤鍙戠幇闂閲戦瀹氭��     TEXT,\
+瀹¤鍙戠幇闂涓暟瀹氭��     TEXT,\
             娑夊強閲戦     REAL,\
             闂鎻忚堪浣愯瘉璧勬枡     TEXT,\
             瀹¤鏈熼棿宸叉暣鏀�     TEXT,\
@@ -403,6 +405,11 @@
             鏁存敼棰勮瀹屾垚鏃堕棿     TEXT,\
             鏁存敼鎯呭喌2     TEXT,\
             鏁存敼鎯呭喌浣愯瘉璧勬枡2     TEXT,\
+澶勫垎绫诲瀷     TEXT,\
+澶勫垎浜烘暟     INTEGER,\
+绉婚�佽缁嗕俊鎭�     TEXT,\
+澶勭悊缁撴灉     TEXT,\
+娑夋浜哄憳     INTEGER,\
             鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�     TEXT,\
             鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�     TEXT,\
             鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�     TEXT,\
@@ -414,11 +421,10 @@
             灏氭湭鏁存敼_涓昏鍘熷洜     TEXT,\
             灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉     TEXT,\
             灏氭湭鏁存敼_瀹屾垚鏃堕檺     TEXT,\
-            鍒跺害寤鸿_淇鍒跺害     TEXT,\
-            鍒跺害寤鸿_鏂板鍒跺害     TEXT,\
-            璧勯噾鏀跺洖_鎸藉洖鎹熷け     TEXT,\
-            璧勯噾鏀跺洖_鍏朵粬     TEXT,\
-            璧勯噾鏀跺洖_瀹″噺     TEXT,\
+            鏁存敼鎴愭灉_閲戦绫绘暣鏀规垚鏋�     TEXT,\
+            鏁存敼鎴愭灉_閲戦     REAL,\
+            鏁存敼鎴愭灉_闈為噾棰濈被鏁存敼鎴愭灉     TEXT,\
+            鏁存敼鎴愭灉_鏁伴噺     INTEGER,\
             log_time  TEXT\
         )").arg(tableName);
     QSqlQuery query;
diff --git a/internal_system_v1/struct_data.h b/internal_system_v1/struct_data.h
index 347301c..c59a7cd 100644
--- a/internal_system_v1/struct_data.h
+++ b/internal_system_v1/struct_data.h
@@ -146,4 +146,85 @@
 
 };
 
+
+// 涓夊悎涓�鍐呭缁撴瀯浣�
+
+struct ThreeMergeInfo
+{
+    // 鍙戠幇闂
+    int id;
+    char audit_type[12]; // 瀹¤绫诲埆
+    char audit_year[12]; // 瀹¤骞村害
+    char audit_unit[20]; // 瀹¤鍗曚綅
+    char audit_method[20]; // 瀹¤鏂瑰紡
+    char responsible_subject_name[64]; // 璐d换涓讳綋鍚嶇О
+    char audit_item[64]; // 瀹¤椤圭洰
+    char audit_item_name[64]; // 瀹¤椤圭洰鍚嶇О
+    char pro_type[32]; // 闂绫诲埆
+    char problem_qualification[32]; // 闂瀹氭��
+    char problem_desript[128]; // 闂鎻忚堪
+    char problem_qualifi_basis[64]; // 闂瀹氭�ф硶瑙勪緷鎹�
+    char problem_money_basis[64]; // 瀹¤鍙戠幇闂閲戦瀹氭��
+    char problem_num_basis[64]; // 瀹¤鍙戠幇闂涓暟瀹氭��
+    double money_involved; // 娑夊強閲戦(涓囧厓)
+    char problem_desript_evidence_material[128]; // 闂鎻忚堪浣愯瘉璧勬枡
+
+    // 鏁存敼鎯呭喌
+    char audit_rectified[32]; // 瀹¤鏈熼棿宸叉暣鏀�
+    double rectify_money; // 鏁存敼閲戦锛堜竾鍏冿級
+    char rectify_situation_1[32]; // 鏁存敼鎯呭喌1
+    char rectify_situation_evidence_mat_1[128]; // 鏁存敼鎯呭喌浣愯瘉璧勬枡1
+    char rectify_res[32]; // 鏁存敼缁撴灉
+    char rectify_complete_time[32]; // 鏁存敼瀹屾垚鏃堕棿
+    char rectify_not_over_reason[32]; // 灏氭湭鏁存敼鍒颁綅鐨勫師鍥�
+    char rectify_will_complete_time[32]; // 鏁存敼棰勮瀹屾垚鏃堕棿
+    char rectify_situation_2[32]; // 鏁存敼鎯呭喌2
+    char rectify_situation_evidence_mat_2[128]; // 鏁存敼鎯呭喌浣愯瘉璧勬枡2
+
+
+    // 澶勫垎缁撴灉
+    char punish_type[32]; // 澶勫垎绫诲瀷
+    int punish_person_num; // 澶勫垎浜烘暟(鍗曚綅:浜�)
+
+    // 绉婚�佷俊鎭�
+    char transfer_info[64]; // 绉婚�佽缁嗕俊鎭�
+    char punish_res[32]; // 澶勭悊缁撴灉
+    int involved_person_num; // 娑夋浜哄憳(鍗曚綅:浜�)
+
+    // 鏁存敼妫�鏌ョ粨鏋�
+    char rectify_check_time[32]; // 鏁存敼妫�鏌ョ粨鏋�-妫�鏌ユ椂闂�
+    char rectify_check_mothod[32]; // 妫�鏌ユ柟寮�
+    char rectify_check_res[32]; // 妫�鏌ョ粨鏋�
+
+    // 鏁存敼绫诲瀷-宸叉暣鏀�
+    char correct_problem[32]; // 绾犳闂
+    char improve_the_system[32]; // 瀹屽杽鍒跺害
+    char complete_time[32]; // 瀹屾垚鏃堕棿
+
+
+    // 鏁存敼绫诲瀷-姝e湪鏁存敼
+    char during_main_reason[32]; // 姝e湪鏁存敼-涓昏鍘熷洜
+    char during_end_complete_time[32]; // 瀹屾垚鏃堕檺
+
+
+    // 鏁存敼绫诲瀷-灏氭湭鏁存敼
+    char not_main_reason[32]; // 灏氭湭鏁存敼-涓昏鍘熷洜
+    char departen_or_person[32]; // 璐d换閮ㄩ棬鎴栬矗浠讳汉
+    char not_end_complete_time[32]; // 瀹屾垚鏃堕檺
+
+
+    // 鏁存敼缁撴灉-闂鏁存敼锛堥噾棰濈被锛�
+    char money_res[32]; // 閲戦绫绘暣鏀规垚鏋�
+    double money_res_money; // 閲戦(鍏�)
+
+
+    // 鏁存敼缁撴灉-闂鏁存敼锛堥潪閲戦绫伙級
+    char no_money_res[32]; // 闈為噾棰濈被鏁存敼鎴愭灉
+    int no_money_res_num; // 鏁伴噺(涓�)
+
+
+
+};
+
+
 #endif // STRUCT_DATA_H
diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp
index 1a0290e..406cf6a 100644
--- a/internal_system_v1/threemergeproblemlist.cpp
+++ b/internal_system_v1/threemergeproblemlist.cpp
@@ -122,17 +122,17 @@
         // 瀛樺湪锛屽垯鏇存柊鍐呭鍗冲彲
         qDebug()<<"id宸插瓨鍦紝闇�鏇存柊鏁版嵁鍗冲彲";
         sql = QString("update standing_book_info set 瀹¤绫诲埆='%1',瀹¤骞村害='%2',瀹¤鍗曚綅='%3',瀹¤鏂瑰紡='%4',璐d换涓讳綋鍚嶇О='%5'"
-                      ",瀹¤椤圭洰='%6',瀹¤椤圭洰鍚嶇О='%7',闂绫诲埆='%8',闂瀹氭��='%9',闂鎻忚堪='%10',闂瀹氭�ф硶瑙勪緷鎹�='%11',娑夊強閲戦='%12',闂鎻忚堪浣愯瘉璧勬枡='%13'"
-                      ",瀹¤鏈熼棿宸叉暣鏀�='%14',鏁存敼閲戦='%15',鏁存敼鎯呭喌1='%16',鏁存敼鎯呭喌浣愯瘉璧勬枡1='%17',鏁存敼缁撴灉='%18',鏁存敼瀹屾垚鏃堕棿='%19',灏氭湭鏁存敼鍒颁綅鐨勫師鍥�='%20',鏁存敼棰勮瀹屾垚鏃堕棿='%21'"
-                      ",鏁存敼鎯呭喌2='%22',鏁存敼鎯呭喌浣愯瘉璧勬枡2='%23',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�='%24',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�='%25',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�='%26',宸叉暣鏀筥绾犳闂='%27',宸叉暣鏀筥瀹屽杽鍒跺害='%28',宸叉暣鏀筥瀹屾垚鏃堕棿='%29'"
-                      ",姝e湪鏁存敼_涓昏鍘熷洜='%30',姝e湪鏁存敼_瀹屾垚鏃堕檺='%31',灏氭湭鏁存敼_涓昏鍘熷洜='%32',灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉='%33',灏氭湭鏁存敼_瀹屾垚鏃堕檺='%34',鍒跺害寤鸿_淇鍒跺害='%35',鍒跺害寤鸿_鏂板鍒跺害='%36',璧勯噾鏀跺洖_鎸藉洖鎹熷け='%37'"
-                      ",璧勯噾鏀跺洖_鍏朵粬='%38',璧勯噾鏀跺洖_瀹″噺='%39' where id=%40").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text())
+                      ",瀹¤椤圭洰='%6',瀹¤椤圭洰鍚嶇О='%7',闂绫诲埆='%8',闂瀹氭��='%9',闂鎻忚堪='%10',闂瀹氭�ф硶瑙勪緷鎹�='%11',瀹¤鍙戠幇闂閲戦瀹氭��='%12',瀹¤鍙戠幇闂涓暟瀹氭��='%13',娑夊強閲戦='%14',闂鎻忚堪浣愯瘉璧勬枡='%15'"
+                      ",瀹¤鏈熼棿宸叉暣鏀�='%16',鏁存敼閲戦='%17',鏁存敼鎯呭喌1='%18',鏁存敼鎯呭喌浣愯瘉璧勬枡1='%19',鏁存敼缁撴灉='%20',鏁存敼瀹屾垚鏃堕棿='%21',灏氭湭鏁存敼鍒颁綅鐨勫師鍥�='%22',鏁存敼棰勮瀹屾垚鏃堕棿='%23'"
+                      ",鏁存敼鎯呭喌2='%24',鏁存敼鎯呭喌浣愯瘉璧勬枡2='%25',澶勫垎绫诲瀷='%26',澶勫垎浜烘暟=%27,绉婚�佽缁嗕俊鎭�='%28',澶勭悊缁撴灉='%29',娑夋浜哄憳=%30,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�='%31',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�='%32',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�='%33',宸叉暣鏀筥绾犳闂='%34',宸叉暣鏀筥瀹屽杽鍒跺害='%35',宸叉暣鏀筥瀹屾垚鏃堕棿='%36'"
+                      ",姝e湪鏁存敼_涓昏鍘熷洜='%37',姝e湪鏁存敼_瀹屾垚鏃堕檺='%38',灏氭湭鏁存敼_涓昏鍘熷洜='%39',灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉='%40',灏氭湭鏁存敼_瀹屾垚鏃堕檺='%41',鏁存敼鎴愭灉_閲戦绫绘暣鏀规垚鏋�='%42',鏁存敼鎴愭灉_閲戦=%43,鏁存敼鎴愭灉_闈為噾棰濈被鏁存敼鎴愭灉='%44'"
+                      ",鏁存敼鎴愭灉_鏁伴噺=%43, where id=%44").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text())
                 .arg(ui->tableWidget->item(row,5)->text()).arg(ui->tableWidget->item(row,6)->text()).arg(ui->tableWidget->item(row,7)->text()).arg(ui->tableWidget->item(row,8)->text()).arg(ui->tableWidget->item(row,9)->text()).arg(ui->tableWidget->item(row,10)->text())
-                .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,14)->text()).arg(ui->tableWidget->item(row,15)->text()).arg(ui->tableWidget->item(row,16)->text())
-                .arg(ui->tableWidget->item(row,17)->text()).arg(ui->tableWidget->item(row,18)->text()).arg(ui->tableWidget->item(row,19)->text()).arg(ui->tableWidget->item(row,20)->text()).arg(ui->tableWidget->item(row,21)->text()).arg(ui->tableWidget->item(row,22)->text())
-                .arg(ui->tableWidget->item(row,23)->text()).arg(ui->tableWidget->item(row,24)->text()).arg(ui->tableWidget->item(row,25)->text()).arg(ui->tableWidget->item(row,26)->text()).arg(ui->tableWidget->item(row,27)->text()).arg(ui->tableWidget->item(row,28)->text())
-                .arg(ui->tableWidget->item(row,29)->text()).arg(ui->tableWidget->item(row,30)->text()).arg(ui->tableWidget->item(row,31)->text()).arg(ui->tableWidget->item(row,32)->text()).arg(ui->tableWidget->item(row,33)->text()).arg(ui->tableWidget->item(row,34)->text())
-                .arg(ui->tableWidget->item(row,35)->text()).arg(ui->tableWidget->item(row,36)->text()).arg(ui->tableWidget->item(row,37)->text()).arg(ui->tableWidget->item(row,38)->text()).arg(ui->tableWidget->item(row,39)->text()).arg(ui->tableWidget->item(row,0)->text());
+                .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text()).arg(ui->tableWidget->item(row,16+2)->text())
+                .arg(ui->tableWidget->item(row,17+2)->text()).arg(ui->tableWidget->item(row,18+2)->text()).arg(ui->tableWidget->item(row,19+2)->text()).arg(ui->tableWidget->item(row,20+2)->text()).arg(ui->tableWidget->item(row,21+2)->text()).arg(ui->tableWidget->item(row,22+2)->text())
+                .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text())
+                .arg(ui->tableWidget->item(row,29+5+2)->text()).arg(ui->tableWidget->item(row,30+5+2)->text()).arg(ui->tableWidget->item(row,31+5+2)->text()).arg(ui->tableWidget->item(row,32+5+2)->text()).arg(ui->tableWidget->item(row,33+5+2)->text()).arg(ui->tableWidget->item(row,34+5+2)->text())
+                .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text()).arg(ui->tableWidget->item(row,0)->text());
         qDebug()<<sql;
         rows = changeSQL(sql);
         if(rows > 0){
@@ -149,18 +149,18 @@
         // 涓嶅瓨鍦紝鍒欓渶瑕佹柊澧炴彃鍏�
         qDebug()<<"涓嶅瓨鍦╥d锛屾彃鍏ユ暟鎹�";
         sql = QString("insert into standing_book_info (瀹¤绫诲埆,瀹¤骞村害,瀹¤鍗曚綅,瀹¤鏂瑰紡,璐d换涓讳綋鍚嶇О"
-                      ",瀹¤椤圭洰,瀹¤椤圭洰鍚嶇О,闂绫诲埆,闂瀹氭��,闂鎻忚堪,闂瀹氭�ф硶瑙勪緷鎹�,娑夊強閲戦,闂鎻忚堪浣愯瘉璧勬枡"
+                      ",瀹¤椤圭洰,瀹¤椤圭洰鍚嶇О,闂绫诲埆,闂瀹氭��,闂鎻忚堪,闂瀹氭�ф硶瑙勪緷鎹�,瀹¤鍙戠幇闂閲戦瀹氭��,瀹¤鍙戠幇闂涓暟瀹氭��,娑夊強閲戦,闂鎻忚堪浣愯瘉璧勬枡"
                       ",瀹¤鏈熼棿宸叉暣鏀�,鏁存敼閲戦,鏁存敼鎯呭喌1,鏁存敼鎯呭喌浣愯瘉璧勬枡1,鏁存敼缁撴灉,鏁存敼瀹屾垚鏃堕棿,灏氭湭鏁存敼鍒颁綅鐨勫師鍥�,鏁存敼棰勮瀹屾垚鏃堕棿"
-                      ",鏁存敼鎯呭喌2,鏁存敼鎯呭喌浣愯瘉璧勬枡2,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�,宸叉暣鏀筥绾犳闂,宸叉暣鏀筥瀹屽杽鍒跺害,宸叉暣鏀筥瀹屾垚鏃堕棿"
-                      ",姝e湪鏁存敼_涓昏鍘熷洜,姝e湪鏁存敼_瀹屾垚鏃堕檺,灏氭湭鏁存敼_涓昏鍘熷洜,灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉,灏氭湭鏁存敼_瀹屾垚鏃堕檺,鍒跺害寤鸿_淇鍒跺害,鍒跺害寤鸿_鏂板鍒跺害,璧勯噾鏀跺洖_鎸藉洖鎹熷け"
-                      ",璧勯噾鏀跺洖_鍏朵粬,璧勯噾鏀跺洖_瀹″噺,log_time) 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')").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text())
+                      ",鏁存敼鎯呭喌2,鏁存敼鎯呭喌浣愯瘉璧勬枡2,澶勫垎绫诲瀷,澶勫垎浜烘暟,绉婚�佽缁嗕俊鎭�,澶勭悊缁撴灉,娑夋浜哄憳,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�,宸叉暣鏀筥绾犳闂,宸叉暣鏀筥瀹屽杽鍒跺害,宸叉暣鏀筥瀹屾垚鏃堕棿"
+                      ",姝e湪鏁存敼_涓昏鍘熷洜,姝e湪鏁存敼_瀹屾垚鏃堕檺,灏氭湭鏁存敼_涓昏鍘熷洜,灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉,灏氭湭鏁存敼_瀹屾垚鏃堕檺,鏁存敼鎴愭灉_閲戦绫绘暣鏀规垚鏋�,鏁存敼鎴愭灉_閲戦,鏁存敼鎴愭灉_闈為噾棰濈被鏁存敼鎴愭灉"
+                      ",鏁存敼鎴愭灉_鏁伴噺,log_time) 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')").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text())
                 .arg(ui->tableWidget->item(row,5)->text()).arg(ui->tableWidget->item(row,6)->text()).arg(ui->tableWidget->item(row,7)->text()).arg(ui->tableWidget->item(row,8)->text()).arg(ui->tableWidget->item(row,9)->text()).arg(ui->tableWidget->item(row,10)->text())
-                .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,14)->text()).arg(ui->tableWidget->item(row,15)->text()).arg(ui->tableWidget->item(row,16)->text())
-                .arg(ui->tableWidget->item(row,17)->text()).arg(ui->tableWidget->item(row,18)->text()).arg(ui->tableWidget->item(row,19)->text()).arg(ui->tableWidget->item(row,20)->text()).arg(ui->tableWidget->item(row,21)->text()).arg(ui->tableWidget->item(row,22)->text())
-                .arg(ui->tableWidget->item(row,23)->text()).arg(ui->tableWidget->item(row,24)->text()).arg(ui->tableWidget->item(row,25)->text()).arg(ui->tableWidget->item(row,26)->text()).arg(ui->tableWidget->item(row,27)->text()).arg(ui->tableWidget->item(row,28)->text())
-                .arg(ui->tableWidget->item(row,29)->text()).arg(ui->tableWidget->item(row,30)->text()).arg(ui->tableWidget->item(row,31)->text()).arg(ui->tableWidget->item(row,32)->text()).arg(ui->tableWidget->item(row,33)->text()).arg(ui->tableWidget->item(row,34)->text())
-                .arg(ui->tableWidget->item(row,35)->text()).arg(ui->tableWidget->item(row,36)->text()).arg(ui->tableWidget->item(row,37)->text()).arg(ui->tableWidget->item(row,38)->text()).arg(ui->tableWidget->item(row,39)->text()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"));
+                .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text()).arg(ui->tableWidget->item(row,16+2)->text())
+                .arg(ui->tableWidget->item(row,17+2)->text()).arg(ui->tableWidget->item(row,18+2)->text()).arg(ui->tableWidget->item(row,19+2)->text()).arg(ui->tableWidget->item(row,20+2)->text()).arg(ui->tableWidget->item(row,21+2)->text()).arg(ui->tableWidget->item(row,22+2)->text())
+                .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text())
+                .arg(ui->tableWidget->item(row,29+5+2)->text()).arg(ui->tableWidget->item(row,30+5+2)->text()).arg(ui->tableWidget->item(row,31+5+2)->text()).arg(ui->tableWidget->item(row,32+5+2)->text()).arg(ui->tableWidget->item(row,33+5+2)->text()).arg(ui->tableWidget->item(row,34+5+2)->text())
+                .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss"));
         qDebug()<<sql;
         rows = changeSQL(sql);
         if(rows > 0){
@@ -1055,6 +1055,17 @@
         QString condition= QString(" 鏁存敼棰勮瀹屾垚鏃堕棿='%1' ").arg(ui->dateEdit_change_expected_time->text());
         vecCon.append(condition);
     }
+
+    if(ui->checkBox_punish_type->isChecked()){
+        QString condition= QString(" 澶勫垎绫诲瀷='%1' ").arg(ui->comboBox_punish_type->currentText());
+        vecCon.append(condition);
+    }
+    if(ui->checkBox_transfer->isChecked()){
+        QString condition= QString(" 绉婚�佽缁嗕俊鎭�='%1' ").arg(ui->comboBox_transfer->currentText());
+        vecCon.append(condition);
+    }
+
+
     QString condition;
     if(vecCon.size() == 1){
         condition += QString(" where %1").arg(vecCon.at(0));
@@ -1139,4 +1150,84 @@
 void ThreeMergeProblemList::on_pushButton_save_export_clicked()
 {
     qDebug()<<"涓夊悎涓�瀵煎嚭淇濆瓨";
+    QVector<ThreeMergeInfo> infos;
+    QString name = ui->comboBox_company->currentText();
+
+    // 鑾峰彇琛ㄦ牸鏁版嵁锛屾坊鍔犲埌淇℃伅涓�
+    for(int i=3;i<ui->tableWidget->rowCount();++i){ // 浠庣涓夎寮�濮�
+        ThreeMergeInfo rowInfo;
+        rowInfo.id = ui->tableWidget->item(i,0)->text().toInt();
+        // 鍙戠幇闂
+        strcpy(rowInfo.audit_type,ui->tableWidget->item(i,1)->text().toLocal8Bit().data());
+        strcpy(rowInfo.audit_year,ui->tableWidget->item(i,2)->text().toLocal8Bit().data());
+        strcpy(rowInfo.audit_unit,ui->tableWidget->item(i,3)->text().toLocal8Bit().data());
+        strcpy(rowInfo.audit_method,ui->tableWidget->item(i,4)->text().toLocal8Bit().data());
+        strcpy(rowInfo.responsible_subject_name,ui->tableWidget->item(i,5)->text().toLocal8Bit().data());
+        strcpy(rowInfo.audit_item,ui->tableWidget->item(i,6)->text().toLocal8Bit().data());
+        strcpy(rowInfo.audit_item_name,ui->tableWidget->item(i,7)->text().toLocal8Bit().data());
+        strcpy(rowInfo.pro_type,ui->tableWidget->item(i,8)->text().toLocal8Bit().data());
+        strcpy(rowInfo.problem_qualification,ui->tableWidget->item(i,9)->text().toLocal8Bit().data());
+        strcpy(rowInfo.problem_desript,ui->tableWidget->item(i,10)->text().toLocal8Bit().data());
+        strcpy(rowInfo.problem_qualifi_basis,ui->tableWidget->item(i,11)->text().toLocal8Bit().data());
+        strcpy(rowInfo.problem_money_basis,ui->tableWidget->item(i,12)->text().toLocal8Bit().data());
+        strcpy(rowInfo.problem_num_basis,ui->tableWidget->item(i,13)->text().toLocal8Bit().data());
+        rowInfo.money_involved = ui->tableWidget->item(i,14)->text().toDouble();
+        strcpy(rowInfo.problem_desript_evidence_material,ui->tableWidget->item(i,15)->text().toLocal8Bit().data());
+
+        // 鏁存敼鎯呭喌
+        strcpy(rowInfo.audit_rectified,ui->tableWidget->item(i,16)->text().toLocal8Bit().data());
+        rowInfo.rectify_money = ui->tableWidget->item(i,17)->text().toDouble();
+        strcpy(rowInfo.rectify_situation_1,ui->tableWidget->item(i,18)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_situation_evidence_mat_1,ui->tableWidget->item(i,19)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_res,ui->tableWidget->item(i,20)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_complete_time,ui->tableWidget->item(i,21)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_not_over_reason,ui->tableWidget->item(i,22)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_will_complete_time,ui->tableWidget->item(i,23)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_situation_2,ui->tableWidget->item(i,24)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_situation_evidence_mat_2,ui->tableWidget->item(i,25)->text().toLocal8Bit().data());
+
+        // 澶勫垎缁撴灉
+        strcpy(rowInfo.punish_type,ui->tableWidget->item(i,26)->text().toLocal8Bit().data());
+        rowInfo.punish_person_num = ui->tableWidget->item(i,27)->text().toInt();
+
+        // 绉婚�佷俊鎭�
+        strcpy(rowInfo.transfer_info,ui->tableWidget->item(i,28)->text().toLocal8Bit().data());
+        strcpy(rowInfo.punish_res,ui->tableWidget->item(i,29)->text().toLocal8Bit().data());
+        rowInfo.involved_person_num = ui->tableWidget->item(i,30)->text().toInt();
+
+        // 鏁翠釜妫�鏌ョ粨鏋�
+        strcpy(rowInfo.rectify_check_time,ui->tableWidget->item(i,31)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_check_mothod,ui->tableWidget->item(i,32)->text().toLocal8Bit().data());
+        strcpy(rowInfo.rectify_check_res,ui->tableWidget->item(i,33)->text().toLocal8Bit().data());
+
+        // 鏁存敼绫诲瀷-宸叉暣鏀�
+        strcpy(rowInfo.correct_problem,ui->tableWidget->item(i,34)->text().toLocal8Bit().data());
+        strcpy(rowInfo.improve_the_system,ui->tableWidget->item(i,35)->text().toLocal8Bit().data());
+        strcpy(rowInfo.complete_time,ui->tableWidget->item(i,36)->text().toLocal8Bit().data());
+
+        // 鏁存敼绫诲瀷-姝e湪鏁存敼
+        strcpy(rowInfo.during_main_reason,ui->tableWidget->item(i,37)->text().toLocal8Bit().data());
+        strcpy(rowInfo.during_end_complete_time,ui->tableWidget->item(i,38)->text().toLocal8Bit().data());
+
+        // 鏁存敼绫诲瀷-灏氭湭鏁存敼
+        strcpy(rowInfo.not_main_reason,ui->tableWidget->item(i,39)->text().toLocal8Bit().data());
+        strcpy(rowInfo.departen_or_person,ui->tableWidget->item(i,40)->text().toLocal8Bit().data());
+        strcpy(rowInfo.not_end_complete_time,ui->tableWidget->item(i,41)->text().toLocal8Bit().data());
+
+        // 鏁存敼缁撴灉-闂鏁存敼锛堥噾棰濈被锛�
+        strcpy(rowInfo.money_res,ui->tableWidget->item(i,42)->text().toLocal8Bit().data());
+        rowInfo.money_res_money = ui->tableWidget->item(i,43)->text().toDouble();
+
+        // 鏁存敼缁撴灉-闂鏁存敼锛堥潪閲戦绫伙級
+        strcpy(rowInfo.no_money_res,ui->tableWidget->item(i,44)->text().toLocal8Bit().data());
+        rowInfo.no_money_res_num = ui->tableWidget->item(i,45)->text().toInt();
+
+        // 鏀惧埌vector涓�
+        infos.append(rowInfo);
+
+    }
+
+
+    ExportToFile etf;
+    etf.saveToExcelFromThreeMergePro(name,infos);
 }
diff --git a/internal_system_v1/threemergeproblemlist.h b/internal_system_v1/threemergeproblemlist.h
index 71ae7ac..6b60c14 100644
--- a/internal_system_v1/threemergeproblemlist.h
+++ b/internal_system_v1/threemergeproblemlist.h
@@ -12,8 +12,9 @@
 #include "comboboxdelegate.h"
 #include "datedelegate.h"
 #include "struct_data.h"
-//#include "threecombobox.h"
+
 #include "tableitemdelegate.h"
+#include "exporttofile.h"
 
 
 #include <QPdfWriter>
diff --git a/internal_system_v1/threemergeproblemlist.ui b/internal_system_v1/threemergeproblemlist.ui
index e818070..e9d7d19 100644
--- a/internal_system_v1/threemergeproblemlist.ui
+++ b/internal_system_v1/threemergeproblemlist.ui
@@ -272,14 +272,14 @@
        <item row="4" column="1" rowspan="2">
         <layout class="QHBoxLayout" name="horizontalLayout_14">
          <item>
-          <widget class="QCheckBox" name="checkBox_qtype_2">
+          <widget class="QCheckBox" name="checkBox_punish_type">
            <property name="text">
             <string>澶勫垎绫诲瀷</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QComboBox" name="comboBox_qtype_2">
+          <widget class="QComboBox" name="comboBox_punish_type">
            <property name="editable">
             <bool>true</bool>
            </property>
@@ -365,14 +365,14 @@
        <item row="6" column="1" rowspan="2">
         <layout class="QHBoxLayout" name="horizontalLayout_15">
          <item>
-          <widget class="QCheckBox" name="checkBox_qtype_3">
+          <widget class="QCheckBox" name="checkBox_transfer">
            <property name="text">
             <string>绉婚�佷俊鎭�</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QComboBox" name="comboBox_qtype_3">
+          <widget class="QComboBox" name="comboBox_transfer">
            <property name="editable">
             <bool>true</bool>
            </property>
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 cd6c789..9b8d78c 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