| | |
| | | #include "clientmainwindow.h" |
| | | #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) : |
| | |
| | | |
| | | 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,"信息查询"); |
| | | //ui->tabWidget->addTab(m_searchInfo,"信息查询"); // 不显示 |
| | | |
| | | m_coverInfo = new CoverInfo(this); |
| | | m_coverInfo->setParent(ui->tab); |
| | |
| | | // 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(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) |
| | |
| | | if(comName.isValid()){ |
| | | if(!readDataFromSQL(comName.toString())){ |
| | | QMessageBox::information(this,"导入中断","请确认公司基本信息已经存在"); |
| | | return; |
| | | break; |
| | | //return; |
| | | } |
| | | qDebug()<<comName<<g_comId; |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | 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){ // 审计项目 |
| | | // 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()<<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 year = ui->dateEdit_year->text(); |
| | | QString name = ui->comboBox_company->currentText(); |
| | | QString sql = QString("select name from comprehensive_entry_info where name='%1' and year='%2'").arg(name).arg(year); |
| | | 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,\ |
| | | year\ |
| | | ) 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','%79')").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()).arg(ui->dateEdit_year->text()); |
| | | |
| | | 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' and year='%79'").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()).arg(ui->dateEdit_year->text()); |
| | | |
| | | 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) |
| | | { |
| | | // 是否自动清除 |
| | | if(ui->checkBox->isChecked()){ |
| | | qDebug()<<"自动清除值"; |
| | | for(int i=30;i<ui->tableWidget->rowCount();++i){ |
| | | for(int j=4;j<ui->tableWidget->columnCount();++j){ |
| | | ui->tableWidget->setItem(i,j,new QTableWidgetItem("0")); |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | |
| | | // 修改背景色 |
| | | QColor selectColor(142,213,213); |
| | | QColor unSelectColor(255,255,255); |
| | | QMap<QString,int> index={{"企业(不含金融企业)",4},{"金融企业",5},{"机关",6},{"事业单位",7},{"其他",8}}; |
| | | for(int i=4;i<9;++i){ |
| | | for(int j=0;j<ui->tableWidget->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()<<"重置列索引:"<<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); |
| | | } |
| | | |
| | | void ClientMainWindow::on_comboBox_company_currentTextChanged(const QString &arg1) |
| | | { |
| | | qDebug()<<"公司名字发生了变化:"<<arg1; |
| | | // 根据公司名来、年份查询所有的数据,根据查询到的企业类型来给指定的列写入数据 |
| | | QString year = ui->dateEdit_year->text(); |
| | | QString sql = QString("select * from comprehensive_entry_info where name='%1' and year='%2'").arg(arg1).arg(year); |
| | | |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | | { |
| | | qDebug()<<"查询到综合表信息:"<<arg1; |
| | | int row=0; |
| | | while(query.next()){ // 添加结果集 |
| | | row++; |
| | | QString com_type = query.value(78).toString(); |
| | | int column_index = 4; |
| | | if(com_type == "企业(不含金融企业)"){ |
| | | column_index = 4; |
| | | }else if(com_type == "金融企业"){ |
| | | column_index = 5; |
| | | }else if(com_type == "机关"){ |
| | | column_index = 6; |
| | | }else if(com_type == "事业单位"){ |
| | | column_index = 7; |
| | | }else if(com_type == "其他"){ |
| | | column_index = 8; |
| | | } |
| | | // 给每项赋值 |
| | | for(int i=31;i<78;++i){ |
| | | ui->tableWidget->setItem(i-1,column_index,new QTableWidgetItem(query.value(i).toString())); |
| | | } |
| | | } |
| | | qDebug()<<"row:"<<row; |
| | | if(row == 0){ |
| | | // 就要清空目前所有的内容,都置为0 |
| | | for(int i=4;i<9;++i){ |
| | | for(int j=30;j<78;++j){ |
| | | ui->tableWidget->setItem(j,i,new QTableWidgetItem("0")); |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | qDebug()<<"没有查询到综合表信息:"<<arg1; |
| | | } |
| | | } |
| | | |
| | | void ClientMainWindow::on_pushButton_merge_3And1_clicked() |
| | | { |
| | | // 按年度和公司名,进行全部的合并,合并的时候需要查询出字段来,按字段合并 |
| | | // 查询三合一的表,合并到综合表,合并之前把内容全部都存储一遍,然后再统一插入或者更新进表格中 |
| | | QString name = ui->comboBox_company->currentText(); |
| | | QString year = ui->dateEdit_year->text(); |
| | | |
| | | qDebug()<<"name:"<<ui->comboBox_company->currentText()<<" year:"<<ui->dateEdit_year->text(); |
| | | |
| | | QString sql = QString("select * from standing_book_info where 责任主体名称='%1' and 审计年度='%2'").arg(name).arg(year); |
| | | |
| | | qDebug()<<"sql:"<<sql; |
| | | |
| | | // 准备键值对,来保存字段名和三合一的结果,通过结果拿字段名,接着再拿出对应的值来组sql语句 |
| | | QMap<QString,QString> names_map; |
| | | QMap<QString,double> infos_map; |
| | | // 四 审计项目 |
| | | names_map["贯彻落实国家重大政策措施审计"] = "_030301"; |
| | | names_map["财政财务收支审计"] = "_030302"; |
| | | names_map["固定资产投资审计"] = "_030303"; |
| | | names_map["内部控制和风险管理审计"] = "_030304"; |
| | | names_map["经济责任审计"] = "_030305"; |
| | | names_map["信息责任审计"] = "_030306"; |
| | | names_map["境外审计"] = "_030307"; |
| | | names_map["其他"] = "_030308"; |
| | | names_map["外拓外包项目"] = "_030310"; |
| | | |
| | | // 六 审计发现问题金额 |
| | | names_map["其中:绩效类问题金额"] = "_030510"; |
| | | names_map["合规性问题金额"] = "_030520"; |
| | | names_map["其中:会计核算方面"] = "_030521"; |
| | | names_map["违规使用资金"] = "_030522"; |
| | | names_map["截留、沉淀资金"] = "_030523"; |
| | | names_map["损失浪费"] = "_030524"; |
| | | names_map["挪用资金"] = "_030525"; |
| | | names_map["透漏税费"] = "_030526"; |
| | | names_map["违规取得收入"] = "_030527"; |
| | | names_map["其他"] = "_030528"; |
| | | |
| | | // 七 审计发现问题个数 |
| | | names_map["其中:金额类问题个数"] = "_030610"; |
| | | names_map["非金额类问题个数"] = "_030620"; |
| | | names_map["其中:国家政策措施落实方面"] = "_030621"; |
| | | names_map["发展规划与战略决策方面"] = "_030622"; |
| | | names_map["内部控制与风险管理方面"] = "_030623"; |
| | | names_map["其他"] = "_030624"; |
| | | |
| | | // 八 审计发现问题整改(金额类) |
| | | names_map["其中:调整会计账目"] = "_030701"; |
| | | names_map["收回资金"] = "_030702"; |
| | | names_map["挽回损失"] = "_030703"; |
| | | names_map["归还原资金渠道"] = "_030704"; |
| | | names_map["补缴税费"] = "_030705"; |
| | | names_map["其他"] = "_030706"; |
| | | |
| | | // 九 审计发现问题整改(非金额类) |
| | | names_map["其中:新制定制度"] = "_030801"; |
| | | names_map["修订完善制度"] = "_030802"; |
| | | names_map["优化完善业务流程"] = "_030803"; |
| | | names_map["其他"] = "_030804"; |
| | | |
| | | // 十 根据审计建议基于党纪、政务和内部纪律处分 |
| | | names_map["其中:党纪处分"] = "_030901"; |
| | | names_map["政务处分"] = "_030902"; |
| | | names_map["内部纪律处分"] = "_030903"; |
| | | |
| | | // 十一 向司法机关移送或报告案件线索 |
| | | names_map["向司法机关移送或报告案件线索"] = "_031000"; |
| | | names_map["涉案人员"] = "_031001"; |
| | | |
| | | |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | | { |
| | | // 获取字段信息 |
| | | int row=0; |
| | | while(query.next()){ |
| | | // 取特定字段 |
| | | for(int i=0;i<47;++i){ |
| | | qDebug()<<"i="<< i <<query.record().fieldName(i) <<"内容:"<<query.value(i); |
| | | } |
| | | // 审计项目 |
| | | infos_map[names_map[query.value(6).toString()]]++; |
| | | // 审计发现问题金额 |
| | | infos_map[names_map[query.value(12).toString()]] += query.value(14).toDouble(); |
| | | // 审计发现问题个数 |
| | | infos_map[names_map[query.value(13).toString()]] ++; |
| | | // 整改成果—问题整改(金额类) |
| | | infos_map[names_map[query.value(42).toString()]] += query.value(43).toDouble(); |
| | | // 整改成果——问题整改(非金额类) |
| | | infos_map[names_map[query.value(44).toString()]] += query.value(45).toLongLong(); |
| | | // 移送信息-处分结果 |
| | | infos_map[names_map[query.value(26).toString()]] += query.value(27).toLongLong(); |
| | | |
| | | // 移送信息-涉案人员(单位:人) |
| | | infos_map["_031001"] += query.value(30).toLongLong(); |
| | | |
| | | |
| | | row++; |
| | | |
| | | } |
| | | qDebug()<<"row:"<<row<<" infos_map size:"<<infos_map.size(); |
| | | |
| | | // 输出记录信息 |
| | | for(auto it = infos_map.begin();it != infos_map.end();++it){ |
| | | qDebug()<<it.key()<<it.value(); |
| | | } |
| | | |
| | | // 如果统计不到数据,直接跳过 |
| | | if(row==0){ |
| | | qDebug()<<"合并数据无,直接返回"; |
| | | return; |
| | | } |
| | | |
| | | // 写到数据库中 |
| | | // 先获取机构类型 |
| | | QString typeSql = QString("select 机构类型 from all_company_info where name='%1'").arg(name); |
| | | qDebug()<<"typeSql:"<<typeSql; |
| | | QString comType; |
| | | if(query.exec(typeSql)){ |
| | | while (query.next()) { |
| | | comType = query.value(0).toString(); |
| | | qDebug()<<"find type:"<<comType; |
| | | } |
| | | } |
| | | int typeIndex=0; |
| | | QStringList typeList = comType.split(" "); |
| | | if(typeList.size() > 1){ |
| | | if(typeList.at(0) == "30"){ |
| | | typeIndex = 2; |
| | | }else if(typeList.at(0) == "20"){ |
| | | typeIndex = 3; |
| | | }else if(typeList.at(0) == "10"){ |
| | | typeIndex = 0; |
| | | }else{ |
| | | typeIndex = 4; |
| | | } |
| | | } |
| | | ui->comboBox->setCurrentIndex(typeIndex); // 设置单位类型为可编辑 |
| | | // 接着往表格里面写入整体数据 |
| | | comType = ui->comboBox->currentText(); |
| | | QString mergeSQLSearch = QString("select * from comprehensive_entry_info where name='%1' and year='%2' and company_type='%3'").arg(name).arg(year).arg(comType); |
| | | qDebug()<<"mergeSQLSearch"<<mergeSQLSearch; |
| | | if(query.exec(mergeSQLSearch)){ |
| | | int row = 0; |
| | | while (query.next()) { |
| | | row++; |
| | | } |
| | | qDebug()<<"search row:"<<row; |
| | | if(row == 0){ |
| | | //还没有数据,插入即可 |
| | | QString mergeSQLInser = QString("insert into comprehensive_entry_info (name,\ |
| | | _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,\ |
| | | year\ |
| | | ) 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')").arg(name).arg(QString::number(infos_map["_030300"])) |
| | | .arg(QString::number(infos_map["_030301"])).arg(QString::number(infos_map["_030302"])).arg(QString::number(infos_map["_030303"])).arg(QString::number(infos_map["_030304"])).arg(QString::number(infos_map["_030305"])) |
| | | .arg(QString::number(infos_map["_030306"])).arg(QString::number(infos_map["_030307"])).arg(QString::number(infos_map["_030308"])).arg(QString::number(infos_map["_030310"])).arg(QString::number(infos_map["_030400"])) |
| | | .arg(QString::number(infos_map["_030500"])).arg(QString::number(infos_map["_030510"])).arg(QString::number(infos_map["_030520"])).arg(QString::number(infos_map["_030521"])).arg(QString::number(infos_map["_030522"])) |
| | | .arg(QString::number(infos_map["_030523"])).arg(QString::number(infos_map["_030524"])).arg(QString::number(infos_map["_030525"])).arg(QString::number(infos_map["_030526"])).arg(QString::number(infos_map["_030527"])) |
| | | .arg(QString::number(infos_map["_030528"])).arg(QString::number(infos_map["_030600"])).arg(QString::number(infos_map["_030610"])).arg(QString::number(infos_map["_030620"])).arg(QString::number(infos_map["_030621"])) |
| | | .arg(QString::number(infos_map["_030622"])).arg(QString::number(infos_map["_030623"])).arg(QString::number(infos_map["_030624"])).arg(QString::number(infos_map["_030700"])).arg(QString::number(infos_map["_030701"])) |
| | | .arg(QString::number(infos_map["_030702"])).arg(QString::number(infos_map["_030703"])).arg(QString::number(infos_map["_030704"])).arg(QString::number(infos_map["_030705"])).arg(QString::number(infos_map["_030706"])) |
| | | .arg(QString::number(infos_map["_030800"])).arg(QString::number(infos_map["_030801"])).arg(QString::number(infos_map["_030802"])).arg(QString::number(infos_map["_030803"])).arg(QString::number(infos_map["_030804"])) |
| | | .arg(QString::number(infos_map["_030900"])).arg(QString::number(infos_map["_030901"])).arg(QString::number(infos_map["_030902"])).arg(QString::number(infos_map["_030903"])).arg(QString::number(infos_map["_031000"])) |
| | | .arg(QString::number(infos_map["_031001"])).arg(comType).arg(year); |
| | | |
| | | qDebug()<<"mergeSQLInser:"<<mergeSQLInser; |
| | | |
| | | if(query.exec(mergeSQLInser)){ |
| | | qDebug()<<"mergeSQLInser 成功"; |
| | | // 成功了,调用查询来刷新表格查看 |
| | | on_pushButton_search_clicked(); |
| | | }else{ |
| | | qDebug()<<"mergeSQLInser 失败"; |
| | | } |
| | | |
| | | }else{ |
| | | // 已经有数据了,需要更新 |
| | | QString mergeSQLUpdate = QString("update comprehensive_entry_info set _030300='%1',_030301='%2'" |
| | | ",_030302='%3',_030303='%4',_030304='%5',_030305='%6',_030306='%7',_030307='%8',_030308='%9',_030310='%10',_030400='%11',_030500='%12'" |
| | | ",_030510='%13',_030520='%14',_030521='%15',_030522='%16',_030523='%17',_030524='%18',_030525='%19',_030526='%20',_030527='%21',_030528='%22'" |
| | | ",_030600='%23',_030610='%24',_030620='%25',_030621='%26',_030622='%27',_030623='%28',_030624='%29',_030700='%30',_030701='%31',_030702='%32'" |
| | | ",_030703='%33',_030704='%34',_030705='%35',_030706='%36',_030800='%37',_030801='%38',_030802='%39',_030803='%40',_030804='%41',_030900='%42'" |
| | | ",_030901='%43',_030902='%44',_030903='%45',_031000='%46',_031001='%47' where name='%48' and year='%49' and company_type='%50'").arg(QString::number(infos_map["_030300"])) |
| | | .arg(QString::number(infos_map["_030301"])).arg(QString::number(infos_map["_030302"])).arg(QString::number(infos_map["_030303"])).arg(QString::number(infos_map["_030304"])).arg(QString::number(infos_map["_030305"])) |
| | | .arg(QString::number(infos_map["_030306"])).arg(QString::number(infos_map["_030307"])).arg(QString::number(infos_map["_030308"])).arg(QString::number(infos_map["_030310"])).arg(QString::number(infos_map["_030400"])) |
| | | .arg(QString::number(infos_map["_030500"])).arg(QString::number(infos_map["_030510"])).arg(QString::number(infos_map["_030520"])).arg(QString::number(infos_map["_030521"])).arg(QString::number(infos_map["_030522"])) |
| | | .arg(QString::number(infos_map["_030523"])).arg(QString::number(infos_map["_030524"])).arg(QString::number(infos_map["_030525"])).arg(QString::number(infos_map["_030526"])).arg(QString::number(infos_map["_030527"])) |
| | | .arg(QString::number(infos_map["_030528"])).arg(QString::number(infos_map["_030600"])).arg(QString::number(infos_map["_030610"])).arg(QString::number(infos_map["_030620"])).arg(QString::number(infos_map["_030621"])) |
| | | .arg(QString::number(infos_map["_030622"])).arg(QString::number(infos_map["_030623"])).arg(QString::number(infos_map["_030624"])).arg(QString::number(infos_map["_030700"])).arg(QString::number(infos_map["_030701"])) |
| | | .arg(QString::number(infos_map["_030702"])).arg(QString::number(infos_map["_030703"])).arg(QString::number(infos_map["_030704"])).arg(QString::number(infos_map["_030705"])).arg(QString::number(infos_map["_030706"])) |
| | | .arg(QString::number(infos_map["_030800"])).arg(QString::number(infos_map["_030801"])).arg(QString::number(infos_map["_030802"])).arg(QString::number(infos_map["_030803"])).arg(QString::number(infos_map["_030804"])) |
| | | .arg(QString::number(infos_map["_030900"])).arg(QString::number(infos_map["_030901"])).arg(QString::number(infos_map["_030902"])).arg(QString::number(infos_map["_030903"])).arg(QString::number(infos_map["_031000"])) |
| | | .arg(QString::number(infos_map["_031001"])).arg(name).arg(year).arg(comType); |
| | | |
| | | qDebug()<<"mergeSQLUpdate:"<<mergeSQLUpdate; |
| | | if(query.exec(mergeSQLUpdate)){ |
| | | qDebug()<<"mergeSQLUpdate 成功"; |
| | | // 成功了,调用查询来刷新表格查看 |
| | | on_pushButton_search_clicked(); |
| | | }else{ |
| | | qDebug()<<"mergeSQLUpdate 失败"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | void ClientMainWindow::on_pushButton_search_clicked() |
| | | { |
| | | // 查询综合表,进行展示 条件是 名字和年份 |
| | | // 根据公司名来、年份查询所有的数据,根据查询到的企业类型来给指定的列写入数据 |
| | | QString name = ui->comboBox_company->currentText(); |
| | | QString year = ui->dateEdit_year->text(); |
| | | QString sql = QString("select * from comprehensive_entry_info where name='%1' and year='%2'").arg(name).arg(year); |
| | | |
| | | // 先清空表格 |
| | | for(int i=4;i<9;++i){ |
| | | for(int j=30;j<78;++j){ |
| | | ui->tableWidget->setItem(j,i,new QTableWidgetItem("0")); |
| | | } |
| | | } |
| | | |
| | | // 再执行查询 |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | | { |
| | | qDebug()<<"查询到综合表信息:"<<name; |
| | | int row=0; |
| | | while(query.next()){ // 添加结果集 |
| | | row++; |
| | | QString com_type = query.value(78).toString(); |
| | | int column_index = 4; |
| | | if(com_type == "企业(不含金融企业)"){ |
| | | column_index = 4; |
| | | }else if(com_type == "金融企业"){ |
| | | column_index = 5; |
| | | }else if(com_type == "机关"){ |
| | | column_index = 6; |
| | | }else if(com_type == "事业单位"){ |
| | | column_index = 7; |
| | | }else if(com_type == "其他"){ |
| | | column_index = 8; |
| | | } |
| | | qDebug()<<"所在列:"<<column_index; |
| | | // 给每项赋值 |
| | | for(int i=31;i<78;++i){ |
| | | ui->tableWidget->setItem(i-1,column_index,new QTableWidgetItem(query.value(i).toString())); |
| | | } |
| | | } |
| | | qDebug()<<"row:"<<row; |
| | | if(row == 0){ |
| | | // 就要清空目前所有的内容,都置为0 |
| | | for(int i=4;i<9;++i){ |
| | | for(int j=30;j<78;++j){ |
| | | ui->tableWidget->setItem(j,i,new QTableWidgetItem("0")); |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | qDebug()<<"没有查询到综合表信息:"<<name; |
| | | } |
| | | } |