#include "clientmainwindow.h"
|
#include "ui_clientmainwindow.h"
|
#include <QDebug>
|
#include <QFileDialog>
|
#include <QMessageBox>
|
#include <QSqlQuery>
|
#include <QSqlRecord>
|
#include <QTimer>
|
|
#pragma execution_character_set("utf-8")
|
|
extern int g_comId;
|
extern QString g_dataRootPath;
|
QString g_auditDate;
|
|
ClientMainWindow::ClientMainWindow(QWidget *parent) :
|
QMainWindow(parent),
|
ui(new Ui::ClientMainWindow)
|
{
|
ui->setupUi(this);
|
|
ui->dateEdit->setDate(QDate::currentDate());
|
g_auditDate = QDate::currentDate().toString("yyyy-MM-dd");
|
ui->tableWidget->setColumnWidth(0,200);
|
ui->tableWidget->setColumnWidth(1,80);
|
ui->tableWidget->setColumnWidth(2,80);
|
ui->tableWidget->setColumnWidth(4,ui->tableWidget->columnWidth(4)+15);
|
initUi();
|
searchComName();
|
|
ui->statusBar->showMessage("封面信息加载中...");
|
}
|
|
ClientMainWindow::~ClientMainWindow()
|
{
|
delete ui;
|
}
|
void ClientMainWindow::searchComName()
|
{
|
QSqlQuery query;
|
QString sql = QString("select id,name,code from company_info");
|
if(query.exec(sql)){
|
qDebug()<<"size:"<<query.numRowsAffected();
|
while(query.next()){
|
int id = query.value(0).toInt();
|
QString name = query.value(1).toString();
|
QString code = query.value(2).toString();
|
qDebug()<<"com select:"<<id<<name;
|
m_comInfo[name] = id;
|
//m_comCode[name] = code;
|
ui->comboBox_company->addItem(name);
|
}
|
}
|
}
|
|
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,"信息查询"); // 不显示
|
|
m_coverInfo = new CoverInfo(this);
|
m_coverInfo->setParent(ui->tab);
|
|
m_auditPro = new AuditProject(this);
|
m_auditworkload = new AuditWorkload(this);
|
m_problemMon = new ProblemMoney(this);
|
m_problemCnt = new ProblemCount(this);
|
m_probleRect = new ProblemRectification(this);
|
m_problemNotMon = new ProblemNotMoney(this);
|
m_punish = new Punish(this);
|
m_caseClue = new CaseClue(this);
|
|
ui->stackedWidget->addWidget(m_auditPro);
|
ui->stackedWidget->addWidget(m_auditworkload);
|
ui->stackedWidget->addWidget(m_problemMon);
|
ui->stackedWidget->addWidget(m_problemCnt);
|
ui->stackedWidget->addWidget(m_probleRect);
|
ui->stackedWidget->addWidget(m_problemNotMon);
|
ui->stackedWidget->addWidget(m_punish);
|
ui->stackedWidget->addWidget(m_caseClue);
|
|
ui->stackedWidget->setCurrentIndex(0);
|
|
// m_searchInfo = new SearchInfo(this);
|
// ui->tabWidget->addTab(m_searchInfo,"信息查询");
|
|
// m_coverInfo = new CoverInfo(this);
|
// m_coverInfo->setParent(ui->tab);
|
|
// 隐藏掉某个选项
|
// 按索引来,从大到小
|
ui->tabWidget->removeTab(3); // OK
|
ui->tabWidget->removeTab(1); // OK 老业务情况表
|
ui->tabWidget->removeTab(0); // OK 老封面
|
|
|
|
// 问题整改台账
|
m_proRecStandingBook = new ProblemRectStandingBook(this);
|
//ui->tabWidget->addTab(m_proRecStandingBook,"问题整改台账");
|
|
// 关联各个功能槽
|
connect(m_coverInfo,SIGNAL(sendComName(QString)),m_searchInfo,SLOT(addComName(QString)));
|
|
connect(this,SIGNAL(sendDataToAuditProject(QVariantList)),m_auditPro,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToAuditWorkLoad(QVariantList)),m_auditworkload,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToProblemMoney(QVariantList)),m_problemMon,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToProblemCount(QVariantList)),m_problemCnt,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToProblemRectification(QVariantList)),m_probleRect,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToProblemNoMoney(QVariantList)),m_problemNotMon,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToPunish(QVariantList)),m_punish,SLOT(showData(QVariantList)));
|
connect(this,SIGNAL(sendDataToCaseClue(QVariantList)),m_caseClue,SLOT(showData(QVariantList)));
|
|
// 新版本
|
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,"问题清单");
|
|
m_problemRectifResult = new ProblemRectificationResult(this);
|
//ui->tabWidget->addTab(m_problemRectifResult,"整改成果");
|
|
m_tableItemDelegate = new TableItemDelegate(); // 代理 禁用编辑
|
m_editDelegate = new QItemDelegate(this); // 可编辑
|
|
ui->tableWidget->setItemDelegateForColumn(0,m_tableItemDelegate);
|
ui->tableWidget->setItemDelegateForColumn(1,m_tableItemDelegate);
|
ui->tableWidget->setItemDelegateForColumn(2,m_tableItemDelegate);
|
|
// 3和1
|
m_threeMPList = new ThreeMergeProblemList(this);
|
ui->tabWidget->addTab(m_threeMPList,"三合一问题处理");
|
|
// 默认调用一下下拉框的触发操作
|
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)
|
{
|
QAxObject excel("Excel.Application");
|
excel.setProperty("Visible",false);
|
excel.setProperty("DisplayAlerts",false);
|
qDebug()<<"open:"<<path;
|
qDebug()<<"excel:"<<excel.className();
|
QAxObject * wbs = excel.querySubObject("WorkBooks");
|
QAxObject * wb = wbs->querySubObject("Open(QString&)",path);
|
//QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook");
|
//QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//获取工作表
|
QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 也可以
|
int cnt = shs->property("Count").toInt();
|
qDebug()<<"cnt="<<cnt;
|
for(int i=0;i<cnt;++i){
|
QAxObject * sheet = shs->querySubObject("Item(int)", i+1);
|
QString sheetName = sheet->property("Name").toString();
|
qDebug()<<"sh name:"<<sheetName;
|
QAxObject *usedRange = sheet->querySubObject("UsedRange");
|
int rows = usedRange->querySubObject("Rows")->property("Count").toInt();
|
int columns = usedRange->querySubObject("Columns")->property("Count").toInt();
|
qDebug()<<"r--c:"<<rows<<columns;
|
QVariant val = usedRange->dynamicCall("Value"); // 拿到二维表格
|
QVariantList valRows = val.toList();
|
// 公司名、统一信用代码
|
QVariant uniCode = valRows[5].toList().at(1);
|
QVariant comName = valRows[6].toList().at(1);
|
if(comName.isValid()){
|
if(!readDataFromSQL(comName.toString())){
|
QMessageBox::information(this,"导入中断","请确认公司基本信息已经存在");
|
break;
|
//return;
|
}
|
qDebug()<<comName<<g_comId;
|
}
|
|
// 审计项目
|
QVariantList audit_project;
|
for(int i=10;i<20;++i){
|
audit_project.append(valRows[i].toList().at(4));
|
}
|
qDebug()<<audit_project;
|
|
// 审计工作量
|
QVariantList audit_workload;
|
for(int i=20;i<21;++i){
|
audit_workload.append(valRows[i].toList().at(4));
|
}
|
|
// 问题金额
|
QVariantList problem_money;
|
for(int i=21;i<32;++i){
|
problem_money.append(valRows[i].toList().at(4));
|
}
|
|
// 问题个数
|
QVariantList problem_count;
|
for(int i=32;i<39;++i){
|
problem_count.append(valRows[i].toList().at(4));
|
}
|
|
// 问题整改(金额类)
|
QVariantList problem_rectification;
|
for(int i=39;i<46;++i){
|
problem_rectification.append(valRows[i].toList().at(4));
|
}
|
|
// 问题整改(非金额类)
|
QVariantList problem_nomoney;
|
for(int i=46;i<51;++i){
|
problem_nomoney.append(valRows[i].toList().at(4));
|
}
|
|
// 处分
|
QVariantList punish;
|
for(int i=51;i<55;++i){
|
punish.append(valRows[i].toList().at(4));
|
}
|
|
// 案件线索
|
QVariantList case_clue;
|
for(int i=55;i<57;++i){
|
case_clue.append(valRows[i].toList().at(4));
|
}
|
qDebug()<<case_clue;
|
|
emit sendDataToAuditProject(audit_project);
|
emit sendDataToAuditWorkLoad(audit_workload);
|
emit sendDataToProblemMoney(problem_money);
|
emit sendDataToProblemCount(problem_count);
|
emit sendDataToProblemRectification(problem_rectification);
|
emit sendDataToProblemNoMoney(problem_nomoney);
|
emit sendDataToPunish(punish);
|
emit sendDataToCaseClue(case_clue);
|
|
}
|
wbs->dynamicCall("Close()");
|
excel.dynamicCall("Quit(void)");
|
}
|
|
void ClientMainWindow::on_pushButton_auditPro_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(0);
|
}
|
|
void ClientMainWindow::on_pushButton_auditWorkload_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(1);
|
}
|
|
void ClientMainWindow::on_pushButton_problemMoney_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(2);
|
}
|
|
void ClientMainWindow::on_pushButton_problemCount_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(3);
|
}
|
|
void ClientMainWindow::on_pushButton_problemRectification_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(4);
|
}
|
|
void ClientMainWindow::on_pushButton_problemNotMoney_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(5);
|
}
|
|
void ClientMainWindow::on_pushButton_punish_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(6);
|
}
|
|
void ClientMainWindow::on_pushButton_caseClue_clicked()
|
{
|
ui->stackedWidget->setCurrentIndex(7);
|
}
|
|
void ClientMainWindow::on_pushButton_clicked()
|
{
|
QXlsx::Document doc;
|
doc.write(1,2,"mayibase");
|
doc.write(2,2,"is good");
|
doc.write("A1","码蚁软件");
|
doc.mergeCells("A1:A4");
|
doc.mergeCells("B1:C1");
|
if(doc.saveAs("Data/test.xlsx"))
|
{
|
qDebug()<<"save is ok";
|
}else{
|
qDebug()<<"save is fail";
|
}
|
|
}
|
|
void ClientMainWindow::on_pushButton_2_clicked()
|
{
|
QXlsx::Document doc("test.xlsx");
|
qDebug()<<doc.read("A1");
|
qDebug()<<doc.read("B1");
|
qDebug()<<doc.read("C1");
|
}
|
|
void ClientMainWindow::on_pushButton_openXlsxFile_clicked()
|
{
|
QStringList files = QFileDialog::getOpenFileNames(this,"打开电子文档","./","*.xlsx *.xls");
|
qDebug()<<"files:"<<files;
|
for(auto f:files){
|
ui->listWidget->addItem(f);
|
}
|
}
|
|
void ClientMainWindow::on_pushButton_importExcel_clicked()
|
{
|
QString path = QFileDialog::getOpenFileName(this,"选择表格:单位内部审计业务情况表","./","excel(*业务情况表*.xls)");
|
qDebug()<<"path:"<<path;
|
if(path.size() > 1){
|
readDataFromExcel(path);
|
}
|
}
|
|
bool ClientMainWindow::readDataFromSQL(QString name)
|
{
|
QSqlQuery query;
|
QString sql;
|
if(name.size() > 1){
|
sql = QString("select id,name from company_info where name='%1'").arg(name);
|
qDebug()<<"查询公司sql:"<<sql;
|
if(query.exec(sql)){
|
qDebug()<<"OK sql"<<__FUNCTION__;
|
QSqlRecord res = query.record();
|
qDebug()<<query.size()<<query.numRowsAffected()<<res.count();
|
if(!query.next()){
|
QMessageBox::information(this,"导入失败","公司名不存在库中,请先导入基本信息表");
|
}else{
|
g_comId = query.value(0).toInt();
|
return true;
|
}
|
}else{
|
qDebug()<<"fail sql"<<__FUNCTION__;
|
}
|
}
|
return false;
|
|
}
|
|
void ClientMainWindow::calc()
|
{
|
for(int i=1;i<ui->tableWidget->rowCount();++i){
|
int sum = 0;
|
for(int j=4;j<ui->tableWidget->columnCount();++j){
|
sum += ui->tableWidget->item(i,j)->text().toInt();
|
}
|
ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(sum)));
|
|
if(i==7){ // 学历
|
int val = 0;
|
for(int j = 8;j<=10;++j){
|
val += ui->tableWidget->item(j,3)->text().toInt();
|
}
|
ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
|
ui->tableWidget->setItem(5,3,new QTableWidgetItem(QString::number(val))); // 内部审计人员数量
|
}
|
|
if(i==11){ // 职称
|
int val = 0;
|
for(int j = 12;j<=15;++j){
|
val += ui->tableWidget->item(j,3)->text().toInt();
|
}
|
ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
|
|
}
|
|
if(i==20){ // 知识结构
|
int val = 0;
|
for(int j = 21;j<=28;++j){
|
val += ui->tableWidget->item(j,3)->text().toInt();
|
}
|
ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
|
}
|
|
if(i==30){ // 审计项目
|
int val = 0;
|
for(int j = 31;j<=38;++j){
|
val += ui->tableWidget->item(j,3)->text().toInt();
|
}
|
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();
|
}
|
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();
|
}
|
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();
|
}
|
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();
|
}
|
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();
|
}
|
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();
|
}
|
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();
|
}
|
ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
|
}
|
}
|
}
|
|
void ClientMainWindow::on_dateEdit_dateChanged(const QDate &date)
|
{
|
g_auditDate = date.toString("yyyy-MM-dd");
|
qDebug()<<g_auditDate;
|
}
|
|
void ClientMainWindow::on_tableWidget_activated(const QModelIndex &index)
|
{
|
qDebug()<<__FUNCTION__<<index;
|
}
|
|
void ClientMainWindow::on_tableWidget_clicked(const QModelIndex &index)
|
{
|
qDebug()<<__FUNCTION__<<index;
|
}
|
|
void ClientMainWindow::on_tableWidget_itemEntered(QTableWidgetItem *item)
|
{
|
qDebug()<<__FUNCTION__<<item;
|
}
|
|
void ClientMainWindow::on_tableWidget_cellEntered(int row, int column)
|
{
|
qDebug()<<__FUNCTION__<<row<<column;
|
calc();
|
}
|
|
void ClientMainWindow::on_tableWidget_cellClicked(int row, int column)
|
{
|
qDebug()<<__FUNCTION__<<row<<column;
|
calc();
|
}
|
|
void ClientMainWindow::on_pushButton_save_clicked()
|
{
|
// 保存数据,结构比较特殊,需要多行多列同时写入
|
// 得考虑分段单表处理方可
|
// 获取写到文件里面,每个单位一个文件
|
// 把单位类型作为一个列即可
|
qDebug()<<"保存数据";
|
for(int i=1;i<ui->tableWidget->rowCount();++i){
|
qDebug()<<"data:"<<ui->tableWidget->item(i,1)->text()<<" "<<ui->tableWidget->item(i,3)->text();
|
}
|
// 先判断公司在不在,不在则新增,在则修改
|
QString sql = QString("select name from comprehensive_entry_info where name='%1'").arg(ui->comboBox_company->currentText());
|
qDebug()<<"sql select:"<<sql;
|
QSqlQuery query;
|
bool nameExsit = false;
|
if(query.exec(sql))
|
{
|
qDebug()<<QString("select comprehensive_entry_info ok...");
|
while (query.next()) {
|
nameExsit = true;
|
qDebug()<<"公司名存在:"<<ui->comboBox_company->currentText();
|
break;
|
}
|
}else{
|
qDebug()<<QString("select comprehensive_entry_info fail...")<<query.lastError().text();
|
}
|
if(!nameExsit){
|
qDebug()<<"公司名不存在:"<<ui->comboBox_company->currentText();
|
// 插入
|
sql = QString("insert into comprehensive_entry_info (name,_030000,_030001,_030100,_030101,_030200,_030210,_030220,_030221,_030222,_030223,_030230,\
|
_030231,\
|
_030232,\
|
_030233,\
|
_030234,\
|
_030240,\
|
_030241,\
|
_030242,\
|
_030243,\
|
_030250,\
|
_030251,\
|
_030252,\
|
_030253,\
|
_030254,\
|
_030255,\
|
_030256,\
|
_030257,\
|
_030258,\
|
_030260,\
|
_030300,\
|
_030301,\
|
_030302,\
|
_030303,\
|
_030304,\
|
_030305,\
|
_030306,\
|
_030307,\
|
_030308,\
|
_030310,\
|
_030400,\
|
_030500,\
|
_030510,\
|
_030520,\
|
_030521,\
|
_030522,\
|
_030523,\
|
_030524,\
|
_030525,\
|
_030526,\
|
_030527,\
|
_030528,\
|
_030600,\
|
_030610,\
|
_030620,\
|
_030621,\
|
_030622,\
|
_030623,\
|
_030624,\
|
_030700,\
|
_030701,\
|
_030702,\
|
_030703,\
|
_030704,\
|
_030705,\
|
_030706,\
|
_030800,\
|
_030801,\
|
_030802,\
|
_030803,\
|
_030804,\
|
_030900,\
|
_030901,\
|
_030902,\
|
_030903,\
|
_031000,\
|
_031001,\
|
company_type\
|
) values ('%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')").arg(ui->comboBox_company->currentText()).arg(ui->tableWidget->item(1,3)->text())
|
.arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
|
.arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
|
.arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
|
.arg(ui->tableWidget->item(17,3)->text()).arg(ui->tableWidget->item(18,3)->text()).arg(ui->tableWidget->item(19,3)->text()).arg(ui->tableWidget->item(20,3)->text()).arg(ui->tableWidget->item(21,3)->text())
|
.arg(ui->tableWidget->item(22,3)->text()).arg(ui->tableWidget->item(23,3)->text()).arg(ui->tableWidget->item(24,3)->text()).arg(ui->tableWidget->item(25,3)->text()).arg(ui->tableWidget->item(26,3)->text())
|
.arg(ui->tableWidget->item(27,3)->text()).arg(ui->tableWidget->item(28,3)->text()).arg(ui->tableWidget->item(29,3)->text()).arg(ui->tableWidget->item(30,3)->text()).arg(ui->tableWidget->item(31,3)->text())
|
.arg(ui->tableWidget->item(32,3)->text()).arg(ui->tableWidget->item(33,3)->text()).arg(ui->tableWidget->item(34,3)->text()).arg(ui->tableWidget->item(35,3)->text()).arg(ui->tableWidget->item(36,3)->text())
|
.arg(ui->tableWidget->item(37,3)->text()).arg(ui->tableWidget->item(38,3)->text()).arg(ui->tableWidget->item(39,3)->text()).arg(ui->tableWidget->item(40,3)->text()).arg(ui->tableWidget->item(41,3)->text())
|
.arg(ui->tableWidget->item(42,3)->text()).arg(ui->tableWidget->item(43,3)->text()).arg(ui->tableWidget->item(44,3)->text()).arg(ui->tableWidget->item(45,3)->text()).arg(ui->tableWidget->item(46,3)->text())
|
.arg(ui->tableWidget->item(47,3)->text()).arg(ui->tableWidget->item(48,3)->text()).arg(ui->tableWidget->item(49,3)->text()).arg(ui->tableWidget->item(50,3)->text()).arg(ui->tableWidget->item(51,3)->text())
|
.arg(ui->tableWidget->item(52,3)->text()).arg(ui->tableWidget->item(53,3)->text()).arg(ui->tableWidget->item(54,3)->text()).arg(ui->tableWidget->item(55,3)->text()).arg(ui->tableWidget->item(56,3)->text())
|
.arg(ui->tableWidget->item(57,3)->text()).arg(ui->tableWidget->item(58,3)->text()).arg(ui->tableWidget->item(59,3)->text()).arg(ui->tableWidget->item(60,3)->text()).arg(ui->tableWidget->item(61,3)->text())
|
.arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
|
.arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
|
.arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
|
.arg(ui->comboBox->currentText());
|
|
qDebug()<<"comprehensive_entry_info insert sql:"<<sql;
|
if(query.exec(sql)){
|
qDebug()<<"comprehensive_entry_info insert sql ok";
|
QMessageBox::information(this,"新数据录入成功",QString("新录入公司:%1 信息成功。").arg(ui->comboBox_company->currentText()));
|
}else{
|
qDebug()<<"comprehensive_entry_info insert sql fail:"<<query.lastError().text();
|
QMessageBox::information(this,"新数据录入失败",QString("新录入公司:%1 信息失败。").arg(ui->comboBox_company->currentText()));
|
}
|
|
}else{
|
// 更新
|
|
sql = QString("update comprehensive_entry_info set _030000='%1',_030001='%2',_030100='%3',_030101='%4',_030200='%5',_030210='%6',_030220='%7',_030221='%8',_030222='%9',_030223='%10',_030230='%11'"
|
",_030231='%12',_030232='%13',_030233='%14',_030234='%15',_030240='%16',_030241='%17',_030242='%18',_030243='%19',_030250='%20',_030251='%21'"
|
",_030252='%22',_030253='%23',_030254='%24',_030255='%25',_030256='%26',_030257='%27',_030258='%28',_030260='%29',_030300='%30',_030301='%31'"
|
",_030302='%32',_030303='%33',_030304='%34',_030305='%35',_030306='%36',_030307='%37',_030308='%38',_030310='%39',_030400='%40',_030500='%41'"
|
",_030510='%42',_030520='%43',_030521='%44',_030522='%45',_030523='%46',_030524='%47',_030525='%48',_030526='%49',_030527='%50',_030528='%51'"
|
",_030600='%52',_030610='%53',_030620='%54',_030621='%55',_030622='%56',_030623='%57',_030624='%58',_030700='%59',_030701='%60',_030702='%61'"
|
",_030703='%62',_030704='%63',_030705='%64',_030706='%65',_030800='%66',_030801='%67',_030802='%68',_030803='%69',_030804='%70',_030900='%71'"
|
",_030901='%72',_030902='%73',_030903='%74',_031000='%75',_031001='%76',company_type='%77' where name='%78'").arg(ui->tableWidget->item(1,3)->text())
|
.arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
|
.arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
|
.arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
|
.arg(ui->tableWidget->item(17,3)->text()).arg(ui->tableWidget->item(18,3)->text()).arg(ui->tableWidget->item(19,3)->text()).arg(ui->tableWidget->item(20,3)->text()).arg(ui->tableWidget->item(21,3)->text())
|
.arg(ui->tableWidget->item(22,3)->text()).arg(ui->tableWidget->item(23,3)->text()).arg(ui->tableWidget->item(24,3)->text()).arg(ui->tableWidget->item(25,3)->text()).arg(ui->tableWidget->item(26,3)->text())
|
.arg(ui->tableWidget->item(27,3)->text()).arg(ui->tableWidget->item(28,3)->text()).arg(ui->tableWidget->item(29,3)->text()).arg(ui->tableWidget->item(30,3)->text()).arg(ui->tableWidget->item(31,3)->text())
|
.arg(ui->tableWidget->item(32,3)->text()).arg(ui->tableWidget->item(33,3)->text()).arg(ui->tableWidget->item(34,3)->text()).arg(ui->tableWidget->item(35,3)->text()).arg(ui->tableWidget->item(36,3)->text())
|
.arg(ui->tableWidget->item(37,3)->text()).arg(ui->tableWidget->item(38,3)->text()).arg(ui->tableWidget->item(39,3)->text()).arg(ui->tableWidget->item(40,3)->text()).arg(ui->tableWidget->item(41,3)->text())
|
.arg(ui->tableWidget->item(42,3)->text()).arg(ui->tableWidget->item(43,3)->text()).arg(ui->tableWidget->item(44,3)->text()).arg(ui->tableWidget->item(45,3)->text()).arg(ui->tableWidget->item(46,3)->text())
|
.arg(ui->tableWidget->item(47,3)->text()).arg(ui->tableWidget->item(48,3)->text()).arg(ui->tableWidget->item(49,3)->text()).arg(ui->tableWidget->item(50,3)->text()).arg(ui->tableWidget->item(51,3)->text())
|
.arg(ui->tableWidget->item(52,3)->text()).arg(ui->tableWidget->item(53,3)->text()).arg(ui->tableWidget->item(54,3)->text()).arg(ui->tableWidget->item(55,3)->text()).arg(ui->tableWidget->item(56,3)->text())
|
.arg(ui->tableWidget->item(57,3)->text()).arg(ui->tableWidget->item(58,3)->text()).arg(ui->tableWidget->item(59,3)->text()).arg(ui->tableWidget->item(60,3)->text()).arg(ui->tableWidget->item(61,3)->text())
|
.arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
|
.arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
|
.arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
|
.arg(ui->comboBox->currentText()).arg(ui->comboBox_company->currentText());
|
|
qDebug()<<"update sql:"<<sql;
|
if(query.exec(sql)){
|
qDebug()<<"update ok:comprehensive_entry_info";
|
QMessageBox::information(this,"更新录入成功",QString("录入公司:%1 信息成功。").arg(ui->comboBox_company->currentText()));
|
}else{
|
qDebug()<<"update fail:comprehensive_entry_info"<<query.lastError().text();
|
QMessageBox::information(this,"更新录入失败",QString("新录入公司:%1 信息失败。").arg(ui->comboBox_company->currentText()));
|
}
|
}
|
|
|
}
|
|
void ClientMainWindow::on_comboBox_currentIndexChanged(const QString &arg1)
|
{
|
qDebug()<<"当前"<<arg1;
|
if(arg1 == "企业(不含金融企业)"){
|
ui->tableWidget->setItemDelegateForColumn(4,m_editDelegate);
|
|
}else {
|
ui->tableWidget->setItemDelegateForColumn(4,m_tableItemDelegate);
|
}
|
|
if(arg1 == "金融企业"){
|
ui->tableWidget->setItemDelegateForColumn(5,m_editDelegate);
|
}else {
|
ui->tableWidget->setItemDelegateForColumn(5,m_tableItemDelegate);
|
}
|
if(arg1 == "机关"){
|
ui->tableWidget->setItemDelegateForColumn(6,m_editDelegate);
|
}else {
|
ui->tableWidget->setItemDelegateForColumn(6,m_tableItemDelegate);
|
}
|
if(arg1 == "事业单位"){
|
ui->tableWidget->setItemDelegateForColumn(7,m_editDelegate);
|
}else{
|
ui->tableWidget->setItemDelegateForColumn(7,m_tableItemDelegate);
|
}
|
if(arg1 == "其他"){
|
ui->tableWidget->setItemDelegateForColumn(8,m_editDelegate);
|
}else{
|
ui->tableWidget->setItemDelegateForColumn(8,m_tableItemDelegate);
|
}
|
|
}
|
|
void ClientMainWindow::on_pushButton_reset_clicked()
|
{
|
// 重置某一列数据
|
QString curText = ui->comboBox_2->currentText();
|
int index = 4;
|
if(curText == "企业(不含金融企业)"){
|
index = 4;
|
}else if(curText == "金融企业"){
|
index = 5;
|
}else if(curText == "机关"){
|
index = 6;
|
}else if(curText == "事业单位"){
|
index = 7;
|
}else if(curText == "其他"){
|
index = 8;
|
}
|
qDebug()<<"重置列索引:"<<index;
|
|
QMessageBox::StandardButton rb = QMessageBox::question ( \
|
this, "重要提示", QString("你确定要重置:%1 当前列数据吗").arg(curText), \
|
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes );
|
|
if ( rb == QMessageBox::Yes ) {
|
for(int i=1;i<ui->tableWidget->rowCount();++i){
|
ui->tableWidget->item(i,index)->setData(Qt::EditRole,"0");
|
}
|
qDebug()<<"重置";
|
}else{
|
qDebug()<<"不重置";
|
}
|
|
|
|
}
|
|
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);
|
}
|