#include "problemcount.h"
|
#include "ui_problemcount.h"
|
#include <QDebug>
|
#include <QFileDialog>
|
#include <QPushButton>
|
#include <QSqlQuery>
|
|
extern int g_comId;
|
|
ProblemCount::ProblemCount(QWidget *parent) :
|
QMainWindow(parent),
|
ui(new Ui::ProblemCount)
|
{
|
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));
|
});
|
}
|
}
|
|
ProblemCount::~ProblemCount()
|
{
|
delete ui;
|
}
|
|
void ProblemCount::on_tableWidget_clicked(const QModelIndex &index)
|
{
|
qDebug()<<"index"<<index;
|
int noMonCnt = 0;
|
for(int i=3;i<=6;++i){
|
noMonCnt += ui->tableWidget->item(i,2)->text().toInt();
|
}
|
ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(noMonCnt)));
|
|
int allCnt = ui->tableWidget->item(1,2)->text().toInt()+ui->tableWidget->item(2,2)->text().toInt();
|
ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt)));
|
|
|
}
|
|
void ProblemCount::on_tableWidget_activated(const QModelIndex &index)
|
{
|
qDebug()<<"activated index"<<index;
|
int noMonCnt = 0;
|
for(int i=3;i<=6;++i){
|
noMonCnt += ui->tableWidget->item(i,2)->text().toInt();
|
}
|
ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(noMonCnt)));
|
|
int allCnt = ui->tableWidget->item(1,2)->text().toInt()+ui->tableWidget->item(2,2)->text().toInt();
|
ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt)));
|
|
}
|
|
void ProblemCount::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),").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);
|
}
|
values = values.left(values.length()-1);
|
QString sql = QString("insert into problem_count (kpi_name,code,num,evidences,com_id) values %1").arg(values);
|
qDebug()<<sql;
|
QSqlQuery query;
|
if(query.exec(sql)){
|
qDebug()<<"OK sql"<<__FUNCTION__;
|
}else{
|
qDebug()<<"fail sql"<<__FUNCTION__;
|
}
|
}
|
|
void ProblemCount::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()));
|
}
|
}
|
}
|