wumu
2023-09-20 332ab3cdf6fd91e5cee4f0a773ab2b270df2ed66
internal_system_v1/problemmoney.cpp
@@ -1,14 +1,88 @@
#include "problemmoney.h"
#include "ui_problemmoney.h"
#include <QPushButton>
#include <QDebug>
#include <QSqlQuery>
extern int g_comId;
extern QString g_auditDate;
ProblemMoney::ProblemMoney(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::ProblemMoney)
{
    ui->setupUi(this);
    ui->tableWidget->setColumnWidth(0,300);
    m_comId = g_comId;
    for(int i=0;i<ui->tableWidget->rowCount();++i){
        QPushButton *btn = new QPushButton("上传",this);
        ui->tableWidget->setCellWidget(i,3,btn);
        connect(btn,&QPushButton::clicked,this,[=]{
            QStringList files = QFileDialog::getOpenFileNames();
            QString str;
            for(auto f:files){
                str += f + " ";
            }
            ui->tableWidget->setItem(i,4,new QTableWidgetItem(str));
        });
    }
}
ProblemMoney::~ProblemMoney()
{
    delete ui;
}
void ProblemMoney::on_pushButton_clicked()
{
    // 统计
    on_tableWidget_activated(QModelIndex());
    QString values = "";
    for(int i=0;i<ui->tableWidget->rowCount();++i){
        values += QString("('%1','%2',%3,'%4',%5,'%6'),").arg(ui->tableWidget->item(i,0)->text())
                .arg(ui->tableWidget->item(i,1)->text()).arg(ui->tableWidget->item(i,2)->text().toInt())
                .arg(ui->tableWidget->item(i,4)->text())
                .arg(g_comId).arg(g_auditDate);
    }
    values = values.left(values.length()-1);
    QString sql = QString("insert into problem_money (kpi_name,code,num,evidences,com_id,time) values %1").arg(values);
    qDebug()<<sql;
    QSqlQuery query;
    if(query.exec(sql)){
        qDebug()<<"OK sql"<<__FUNCTION__;
    }else{
        qDebug()<<"fail sql"<<__FUNCTION__;
    }
    static int cnt=1;
    ui->pushButton->setText(QString("提交--问题金额_%1次").arg(cnt++));
}
void ProblemMoney::showData(QVariantList vlist)
{
    for(int i=0;i<vlist.size();++i){
        if(vlist.at(i).isValid()){
            ui->tableWidget->setItem(i,2,new QTableWidgetItem(vlist.at(i).toString()));
        }
    }
    // 统计
    on_tableWidget_activated(QModelIndex());
}
void ProblemMoney::on_tableWidget_activated(const QModelIndex &index)
{
    // 先计算合规性问题金额
    double allComSum = 0;
    for(int i=3;i<11;++i){
        allComSum += ui->tableWidget->item(i,2)->text().toDouble();
    }
    ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(allComSum)));
    allComSum += ui->tableWidget->item(1,2)->text().toDouble();
    ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allComSum)));
}
void ProblemMoney::on_tableWidget_clicked(const QModelIndex &index)
{
    // 统计
    on_tableWidget_activated(QModelIndex());
}