wumu
2023-09-20 332ab3cdf6fd91e5cee4f0a773ab2b270df2ed66
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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());
}