wumu
2024-11-15 3742570d134bf007c454413fc834e15b4f8843e8
internal_system_v1/clientmainwindow.cpp
@@ -5,6 +5,9 @@
#include <QMessageBox>
#include <QSqlQuery>
#include <QSqlRecord>
#include <QTimer>
#pragma execution_character_set("utf-8")
extern int g_comId;
extern QString g_dataRootPath;
@@ -24,6 +27,8 @@
    ui->tableWidget->setColumnWidth(4,ui->tableWidget->columnWidth(4)+15);
    initUi();
    searchComName();
    ui->statusBar->showMessage("封面信息加载中...");
}
ClientMainWindow::~ClientMainWindow()
@@ -48,10 +53,19 @@
    }
}
void ClientMainWindow::delay(int msec)
{
    QTimer::singleShot(msec, this, [=]{
        qDebug()<<"延时完成啦...";
        emit loadExcelSignal();
    });
    qDebug()<<"延时时长..."<<msec;
}
void ClientMainWindow::initUi()
{
    m_searchInfo = new SearchInfo(this);
    ui->tabWidget->addTab(m_searchInfo,"信息查询");
    //ui->tabWidget->addTab(m_searchInfo,"信息查询"); // 不显示
    m_coverInfo = new CoverInfo(this);
    m_coverInfo->setParent(ui->tab);
@@ -110,6 +124,15 @@
    m_conInfo2 = new ConverInfo2(this);
    //ui->tabWidget->addTab(m_conInfo2,"基本信息");
    ui->tabWidget->insertTab(0,m_conInfo2,"封面信息");
    connect(this,SIGNAL(loadExcelSignal()),m_conInfo2,SLOT(showExcelSlot()),Qt::QueuedConnection);
    // 控制显示状态栏的信息
    connect(m_conInfo2,&ConverInfo2::loadFinished,this,[=]{
        ui->statusBar->showMessage("封面信息加载完成",10*1000);
    });
    // 控制显示加载进度的信息
    connect(m_conInfo2,&ConverInfo2::loadProgress,this,[=](int val){
        ui->statusBar->showMessage(QString("封面信息加载已完成 %1 %").arg(val));
    });
    m_problemList = new ProblemList(this);
    //ui->tabWidget->addTab(m_problemList,"问题清单");
@@ -131,6 +154,21 @@
    // 默认调用一下下拉框的触发操作
    on_comboBox_currentIndexChanged("企业(不含金融企业)");
    // 最后触发加载电子表格的信号
    //emit loadExcelSignal();
    //qDebug()<<"发射加载电子表格的信号";
    delay(1000);
    // 关联更新公司名下拉框的信息表
    connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap<QString,ComInfo>&)),this,SLOT(updateComboList(QMap<QString,ComInfo>&)));
    connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap<QString,ComInfo>&)),m_threeMPList,SLOT(updateComboList(QMap<QString,ComInfo>&)));
    // 控制表格只显示四以后的内容,前面的1-3部分给隐藏掉
    for(int i=1;i<=29;++i){
        ui->tableWidget->hideRow(i);
    }
    ui->tableWidget->hideRow(40);
}
void ClientMainWindow::readDataFromExcel(QString path)
@@ -377,67 +415,92 @@
        }
        if(i==30){ // 审计项目
            int val = 0;
            for(int j = 31;j<=38;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            // 6列都得求和
            for(int k=0;k<6;++k){
                int val = 0;
                for(int j = 31;j<=38;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toInt();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==41){ // 审计发现问题金额
            int val = 0;
            for(int j = 42;j<=43;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                double val = 0;
                for(int j = 42;j<=43;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toDouble();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==43){ // 合规性问题金额
            int val = 0;
            for(int j = 44;j<=51;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                double val = 0;
                for(int j = 44;j<=51;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toDouble();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==52){ // 审计发现问题个数
            int val = 0;
            for(int j = 53;j<=54;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                int val = 0;
                for(int j = 53;j<=54;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toInt();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==54){ // 非金额类问题个数
            int val = 0;
            for(int j = 55;j<=58;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                int val = 0;
                for(int j = 55;j<=58;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toInt();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==59){ // 审计发现问题整改(金额类)
            int val = 0;
            for(int j = 60;j<=65;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                double val = 0;
                for(int j = 60;j<=65;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toDouble();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==66){ // 审计发现问题整改(非金额类)
            int val = 0;
            for(int j = 67;j<=70;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                int val = 0;
                for(int j = 67;j<=70;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toInt();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==71){ // 处分
            int val = 0;
            for(int j = 72;j<=74;++j){
                val += ui->tableWidget->item(j,3)->text().toInt();
            for(int k=0;k<6;++k){
                int val = 0;
                for(int j = 72;j<=74;++j){
                    val += ui->tableWidget->item(j,3+k)->text().toInt();
                }
                ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val)));
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
    }
}
@@ -673,6 +736,20 @@
        ui->tableWidget->setItemDelegateForColumn(8,m_tableItemDelegate);
    }
    // 修改背景色
    QColor selectColor(142,213,213);
    QColor unSelectColor(255,255,255);
    QMap<QString,int> index={{"企业(不含金融企业)",4},{"金融企业",5},{"机关",6},{"事业单位",7},{"其他",8}};
    for(int i=4;i<9;++i){
        for(int j=0;j<ui->tableWidget->rowCount();++j){
            if(i==index[arg1]){
                ui->tableWidget->item(j,i)->setBackgroundColor(selectColor);
            }else{
                ui->tableWidget->item(j,i)->setBackgroundColor(unSelectColor);
            }
        }
    }
}
void ClientMainWindow::on_pushButton_reset_clicked()
@@ -709,3 +786,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);
}