#include "clientmainwindow.h" #include "ui_clientmainwindow.h" #include #include #include #include #include #include #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:"<comboBox_company->addItem(name); } } } void ClientMainWindow::delay(int msec) { QTimer::singleShot(msec, this, [=]{ qDebug()<<"延时完成啦..."; emit loadExcelSignal(); }); qDebug()<<"延时时长..."<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&)),this,SLOT(updateComboList(QMap&))); connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap&)),m_threeMPList,SLOT(updateComboList(QMap&))); // 控制表格只显示四以后的内容,前面的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:"<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="<querySubObject("Item(int)", i+1); QString sheetName = sheet->property("Name").toString(); qDebug()<<"sh name:"<querySubObject("UsedRange"); int rows = usedRange->querySubObject("Rows")->property("Count").toInt(); int columns = usedRange->querySubObject("Columns")->property("Count").toInt(); qDebug()<<"r--c:"<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()<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()<listWidget->addItem(f); } } void ClientMainWindow::on_pushButton_importExcel_clicked() { QString path = QFileDialog::getOpenFileName(this,"选择表格:单位内部审计业务情况表","./","excel(*业务情况表*.xls)"); qDebug()<<"path:"< 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:"<tableWidget->rowCount();++i){ int sum = 0; for(int j=4;jtableWidget->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){ // 审计项目 // 6列都得求和 for(int k=0;k<6;++k){ int val = 0; for(int j = 31;j<=38;++j){ val += ui->tableWidget->item(j,3+k)->text().toInt(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==41){ // 审计发现问题金额 for(int k=0;k<6;++k){ double val = 0; for(int j = 42;j<=43;++j){ val += ui->tableWidget->item(j,3+k)->text().toDouble(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==43){ // 合规性问题金额 for(int k=0;k<6;++k){ double val = 0; for(int j = 44;j<=51;++j){ val += ui->tableWidget->item(j,3+k)->text().toDouble(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==52){ // 审计发现问题个数 for(int k=0;k<6;++k){ int val = 0; for(int j = 53;j<=54;++j){ val += ui->tableWidget->item(j,3+k)->text().toInt(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==54){ // 非金额类问题个数 for(int k=0;k<6;++k){ int val = 0; for(int j = 55;j<=58;++j){ val += ui->tableWidget->item(j,3+k)->text().toInt(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==59){ // 审计发现问题整改(金额类) for(int k=0;k<6;++k){ double val = 0; for(int j = 60;j<=65;++j){ val += ui->tableWidget->item(j,3+k)->text().toDouble(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==66){ // 审计发现问题整改(非金额类) for(int k=0;k<6;++k){ int val = 0; for(int j = 67;j<=70;++j){ val += ui->tableWidget->item(j,3+k)->text().toInt(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } if(i==71){ // 处分 for(int k=0;k<6;++k){ int val = 0; for(int j = 72;j<=74;++j){ val += ui->tableWidget->item(j,3+k)->text().toInt(); } ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } } } } void ClientMainWindow::on_dateEdit_dateChanged(const QDate &date) { g_auditDate = date.toString("yyyy-MM-dd"); qDebug()<tableWidget->rowCount();++i){ qDebug()<<"data:"<tableWidget->item(i,1)->text()<<" "<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:"<comboBox_company->currentText(); break; } }else{ qDebug()<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:"<comboBox_company->currentText())); }else{ qDebug()<<"comprehensive_entry_info insert sql fail:"<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:"<comboBox_company->currentText())); }else{ qDebug()<<"update fail:comprehensive_entry_info"<comboBox_company->currentText())); } } } void ClientMainWindow::on_comboBox_currentIndexChanged(const QString &arg1) { qDebug()<<"当前"<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); } // 修改背景色 QColor selectColor(142,213,213); QColor unSelectColor(255,255,255); QMap index={{"企业(不含金融企业)",4},{"金融企业",5},{"机关",6},{"事业单位",7},{"其他",8}}; for(int i=4;i<9;++i){ for(int j=0;jtableWidget->rowCount();++j){ if(i==index[arg1]){ ui->tableWidget->item(j,i)->setBackgroundColor(selectColor); }else{ ui->tableWidget->item(j,i)->setBackgroundColor(unSelectColor); } } } } 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()<<"重置列索引:"<tableWidget->rowCount();++i){ ui->tableWidget->item(i,index)->setData(Qt::EditRole,"0"); } qDebug()<<"重置"; }else{ qDebug()<<"不重置"; } } void ClientMainWindow::updateComboList(QMap &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()<<"保存导出:"<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); }