From 332ab3cdf6fd91e5cee4f0a773ab2b270df2ed66 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期三, 20 九月 2023 23:18:51 +0800
Subject: [PATCH] 0921

---
 internal_system_v1/problemcount.cpp |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/internal_system_v1/problemcount.cpp b/internal_system_v1/problemcount.cpp
index 9a68b3e..d7e89e1 100644
--- a/internal_system_v1/problemcount.cpp
+++ b/internal_system_v1/problemcount.cpp
@@ -1,14 +1,101 @@
 #include "problemcount.h"
 #include "ui_problemcount.h"
+#include <QDebug>
+#include <QFileDialog>
+#include <QPushButton>
+#include <QSqlQuery>
+
+extern int g_comId;
+extern QString g_auditDate;
 
 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,'%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_count (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 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()));
+        }
+    }
+    // 鍐嶇粺璁′竴鎶�
+    on_tableWidget_activated(QModelIndex());
+}

--
Gitblit v1.8.0