wumu
2024-12-02 bbacbbede6a3c7265f165642ab19afb61bbcac8d
1202
8个文件已修改
1个文件已添加
369 ■■■■■ 已修改文件
Data/三合一.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/exporttofile.cpp 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/exporttofile.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/searchinfo.cpp 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/struct_data.h 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/threemergeproblemlist.cpp 131 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/threemergeproblemlist.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/threemergeproblemlist.ui 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
修改_241015/内审系统存在问题反馈1015.docx 补丁 | 查看 | 原始文档 | blame | 历史
Data/ÈýºÏÒ».xlsx
Binary files differ
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)); // è´£ä»»ä¸»ä½“名称
            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)); // å®Œæˆæ—¶é—´
            // æ•´æ”¹ç±»åž‹-正在整改
            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)); // è´£ä»»éƒ¨é—¨æˆ–责任人
            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;
}
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:
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,\
            å°šæœªæ•´æ”¹_责任部门或责任人     TEXT,\
            å°šæœªæ•´æ”¹_完成时限     TEXT,\
            åˆ¶åº¦å»ºè®¾_修订制度     TEXT,\
            åˆ¶åº¦å»ºè®¾_新增制度     TEXT,\
            èµ„金收回_挽回损失     TEXT,\
            èµ„金收回_其他     TEXT,\
            èµ„金收回_审减     TEXT,\
            æ•´æ”¹æˆæžœ_金额类整改成果     TEXT,\
            æ•´æ”¹æˆæžœ_金额     REAL,\
            æ•´æ”¹æˆæžœ_非金额类整改成果     TEXT,\
            æ•´æ”¹æˆæžœ_数量     INTEGER,\
            log_time  TEXT\
        )").arg(tableName);
    QSqlQuery query;
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]; // è´£ä»»ä¸»ä½“名称
    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]; // å®Œæˆæ—¶é—´
    // æ•´æ”¹ç±»åž‹-正在整改
    char during_main_reason[32]; // æ­£åœ¨æ•´æ”¹-主要原因
    char during_end_complete_time[32]; // å®Œæˆæ—¶é™
    // æ•´æ”¹ç±»åž‹-尚未整改
    char not_main_reason[32]; // å°šæœªæ•´æ”¹-主要原因
    char departen_or_person[32]; // è´£ä»»éƒ¨é—¨æˆ–责任人
    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
internal_system_v1/threemergeproblemlist.cpp
@@ -122,17 +122,17 @@
        // å­˜åœ¨ï¼Œåˆ™æ›´æ–°å†…容即可
        qDebug()<<"id已存在,需更新数据即可";
        sql = QString("update standing_book_info set å®¡è®¡ç±»åˆ«='%1',审计年度='%2',审计单位='%3',审计方式='%4',责任主体名称='%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'"
                      ",正在整改_主要原因='%30',正在整改_完成时限='%31',尚未整改_主要原因='%32',尚未整改_责任部门或责任人='%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'"
                      ",正在整改_主要原因='%37',正在整改_完成时限='%38',尚未整改_主要原因='%39',尚未整改_责任部门或责任人='%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()<<"不存在id,插入数据";
        sql = QString("insert into standing_book_info (审计类别,审计年度,审计单位,审计方式,责任主体名称"
                      ",审计项目,审计项目名称,问题类别,问题定性,问题描述,问题定性法规依据,涉及金额,问题描述佐证资料"
                      ",审计项目,审计项目名称,问题类别,问题定性,问题描述,问题定性法规依据,审计发现问题金额定性,审计发现问题个数定性,涉及金额,问题描述佐证资料"
                      ",审计期间已整改,整改金额,整改情况1,整改情况佐证资料1,整改结果,整改完成时间,尚未整改到位的原因,整改预计完成时间"
                      ",整改情况2,整改情况佐证资料2,整改检查结果_检查时间,整改检查结果_检查方式,整改检查结果_检查结果,已整改_纠正问题,已整改_完善制度,已整改_完成时间"
                      ",正在整改_主要原因,正在整改_完成时限,尚未整改_主要原因,尚未整改_责任部门或责任人,尚未整改_完成时限,制度建设_修订制度,制度建设_新增制度,资金收回_挽回损失"
                      ",资金收回_其他,资金收回_审减,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,处分类型,处分人数,移送详细信息,处理结果,涉案人员,整改检查结果_检查时间,整改检查结果_检查方式,整改检查结果_检查结果,已整改_纠正问题,已整改_完善制度,已整改_完成时间"
                      ",正在整改_主要原因,正在整改_完成时限,尚未整改_主要原因,尚未整改_责任部门或责任人,尚未整改_完成时限,整改成果_金额类整改成果,整改成果_金额,整改成果_非金额类整改成果"
                      ",整改成果_数量,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());
        // æ•´æ”¹ç±»åž‹-正在整改
        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);
}
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>
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>
ÐÞ¸Ä_241015/ÄÚÉóϵͳ´æÔÚÎÊÌâ·´À¡1015.docx
Binary files differ