| | |
| | | #include <QMessageBox> |
| | | #include <QDir> |
| | | #include <QFileDevice> |
| | | #include <QDesktopServices> |
| | | #include <QFileDialog> |
| | | |
| | | #include "noedititemdelegate.h" |
| | | |
| | | #pragma execution_character_set("utf-8") |
| | |
| | | // 存在,则更新内容即可 |
| | | qDebug()<<"id已存在,需更新数据即可"; |
| | | sql = QString("update standing_book_info set 审计类别='%1',审计年度='%2',审计单位='%3',审计方式='%4',责任主体名称='%5'" |
| | | ",审计项目='%6',审计项目名称='%7',问题类别='%8',问题定性='%9',问题描述='%10',问题定性法规依据='%11',审计发现问题金额定性='%12',审计发现问题个数定性='%13',涉及金额='%14',问题描述佐证资料='%15'" |
| | | ",审计期间已整改='%16',整改金额='%17',整改情况1='%18',整改情况佐证资料1='%19',整改结果='%20',整改完成时间='%21',尚未整改到位的原因='%22',整改预计完成时间='%23'" |
| | | ",审计项目='%6',审计项目名称='%7',问题类别='%8',问题定性='%9',问题描述='%10',问题定性法规依据='%11',审计发现问题金额定性='%12',审计发现问题个数定性='%13',涉及金额=%14,问题描述佐证资料='%15'" |
| | | ",审计期间已整改='%16',整改金额=%17,整改情况1='%18',整改情况佐证资料1='%19',整改结果='%20',整改完成时间='%21',尚未整改到位的原因='%22',整改预计完成时间='%23'" |
| | | ",整改情况2='%24',整改情况佐证资料2='%25',处分类型='%26',处分人数=%27,移送详细信息='%28',处理结果='%29',涉案人员=%30,整改检查结果_检查时间='%31',整改检查结果_检查方式='%32',整改检查结果_检查结果='%33',已整改_纠正问题='%34',已整改_完善制度='%35',已整改_完成时间='%36'" |
| | | ",正在整改_主要原因='%37',正在整改_完成时限='%38',尚未整改_主要原因='%39',尚未整改_责任部门或责任人='%40',尚未整改_完成时限='%41',整改成果_金额类整改成果='%42',整改成果_金额=%43,整改成果_非金额类整改成果='%44'" |
| | | ",整改成果_数量=%43, where id=%44").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text()) |
| | | ",整改成果_数量=%45 where id=%46").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text()) |
| | | .arg(ui->tableWidget->item(row,5)->text()).arg(ui->tableWidget->item(row,6)->text()).arg(ui->tableWidget->item(row,7)->text()).arg(ui->tableWidget->item(row,8)->text()).arg(ui->tableWidget->item(row,9)->text()).arg(ui->tableWidget->item(row,10)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text().toDouble()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text().toDouble()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,17+2)->text()).arg(ui->tableWidget->item(row,18+2)->text()).arg(ui->tableWidget->item(row,19+2)->text()).arg(ui->tableWidget->item(row,20+2)->text()).arg(ui->tableWidget->item(row,21+2)->text()).arg(ui->tableWidget->item(row,22+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text().toInt()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text().toInt()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,29+5+2)->text()).arg(ui->tableWidget->item(row,30+5+2)->text()).arg(ui->tableWidget->item(row,31+5+2)->text()).arg(ui->tableWidget->item(row,32+5+2)->text()).arg(ui->tableWidget->item(row,33+5+2)->text()).arg(ui->tableWidget->item(row,34+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text()).arg(ui->tableWidget->item(row,0)->text()); |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text().toDouble()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text().toInt()).arg(ui->tableWidget->item(row,0)->text()); |
| | | qDebug()<<sql; |
| | | rows = changeSQL(sql); |
| | | if(rows > 0){ |
| | |
| | | ",审计期间已整改,整改金额,整改情况1,整改情况佐证资料1,整改结果,整改完成时间,尚未整改到位的原因,整改预计完成时间" |
| | | ",整改情况2,整改情况佐证资料2,处分类型,处分人数,移送详细信息,处理结果,涉案人员,整改检查结果_检查时间,整改检查结果_检查方式,整改检查结果_检查结果,已整改_纠正问题,已整改_完善制度,已整改_完成时间" |
| | | ",正在整改_主要原因,正在整改_完成时限,尚未整改_主要原因,尚未整改_责任部门或责任人,尚未整改_完成时限,整改成果_金额类整改成果,整改成果_金额,整改成果_非金额类整改成果" |
| | | ",整改成果_数量,log_time) 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'" |
| | | ",整改成果_数量,log_time) 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')").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text()) |
| | | .arg(ui->tableWidget->item(row,5)->text()).arg(ui->tableWidget->item(row,6)->text()).arg(ui->tableWidget->item(row,7)->text()).arg(ui->tableWidget->item(row,8)->text()).arg(ui->tableWidget->item(row,9)->text()).arg(ui->tableWidget->item(row,10)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text().toDouble()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text().toDouble()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,17+2)->text()).arg(ui->tableWidget->item(row,18+2)->text()).arg(ui->tableWidget->item(row,19+2)->text()).arg(ui->tableWidget->item(row,20+2)->text()).arg(ui->tableWidget->item(row,21+2)->text()).arg(ui->tableWidget->item(row,22+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text().toInt()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text().toInt()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,29+5+2)->text()).arg(ui->tableWidget->item(row,30+5+2)->text()).arg(ui->tableWidget->item(row,31+5+2)->text()).arg(ui->tableWidget->item(row,32+5+2)->text()).arg(ui->tableWidget->item(row,33+5+2)->text()).arg(ui->tableWidget->item(row,34+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss")); |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text().toDouble()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text().toInt()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss")); |
| | | qDebug()<<sql; |
| | | rows = changeSQL(sql); |
| | | if(rows > 0){ |
| | |
| | | typeLabels<<"其中:党纪处分"<<"政务处分"<<"内部纪律处分"<<"无处分"; |
| | | m_cbb_type = new ComboBoxDelegate(typeLabels,this); |
| | | ui->tableWidget->setItemDelegateForColumn(26,m_cbb_type); |
| | | |
| | | |
| | | |
| | | // 检查结果 |
| | | QStringList checkResLabels; |
| | |
| | | hasContentRow++; |
| | | |
| | | // 需要将文件拷贝到id目录 |
| | | QString fpath = ui->tableWidget->item(i,13)->text(); |
| | | QString spath = ui->tableWidget->item(i,17)->text(); |
| | | QString tpath = ui->tableWidget->item(i,23)->text(); |
| | | QString fpath = ui->tableWidget->item(i,13+2)->text(); |
| | | QString spath = ui->tableWidget->item(i,17+2)->text(); |
| | | QString tpath = ui->tableWidget->item(i,23+2)->text(); |
| | | QString fid = ui->tableWidget->item(i,0)->text(); |
| | | QString proName = ui->tableWidget->item(i,7)->text(); // 项目名称 |
| | | qDebug()<<"拷贝文件:"<<fid<<proName<<fpath; |
| | |
| | | |
| | | } |
| | | } |
| | | QMessageBox::information(this,"保存提示",QString("总行数为%1,成功%2行,失败%3行。").arg(ui->tableWidget->rowCount()) |
| | | .arg(hasContentRow).arg(ui->tableWidget->rowCount()-hasContentRow)); |
| | | QMessageBox::information(this,"保存提示",QString("总行数为%1,成功%2行,失败%3行。").arg(ui->tableWidget->rowCount()-3) |
| | | .arg(hasContentRow).arg(ui->tableWidget->rowCount()-3-hasContentRow)); |
| | | } |
| | | |
| | | void ThreeMergeProblemList::on_pushButton_moreSearch_clicked() |
| | |
| | | qDebug()<<item_23->text(); |
| | | } |
| | | } |
| | | |
| | | // 以系统默认的方式打开指定的文件 |
| | | QUrl file_path = QFileDialog::getOpenFileUrl(); |
| | | if(QDesktopServices::openUrl(file_path)){ |
| | | qDebug()<<"open ok:"<<file_path; |
| | | }else{ |
| | | qDebug()<<"open fail:"<<file_path; |
| | | } |
| | | } |
| | | |
| | | void ThreeMergeProblemList::updateComboList(QMap<QString, ComInfo> & nameAndComInfos) |
| | |
| | | |
| | | // 获取表格数据,添加到信息中 |
| | | for(int i=3;i<ui->tableWidget->rowCount();++i){ // 从第三行开始 |
| | | |
| | | // 先对空项进行特殊处理 |
| | | for(int j=0;j<ui->tableWidget->columnCount();++j){ |
| | | if(ui->tableWidget->item(i,j) == nullptr){ |
| | | ui->tableWidget->setItem(i,j,new QTableWidgetItem(" ")); |
| | | qDebug()<<"save find out empty:"<<i<<j; |
| | | } |
| | | } |
| | | ThreeMergeInfo rowInfo; |
| | | rowInfo.id = ui->tableWidget->item(i,0)->text().toInt(); |
| | | // 发现问题 |
| | |
| | | ExportToFile etf; |
| | | etf.saveToExcelFromThreeMergePro(name,infos); |
| | | } |
| | | |
| | | void ThreeMergeProblemList::on_tableWidget_cellChanged(int row, int column) |
| | | { |
| | | qDebug()<<"cellChanged:"<<row<<column; |
| | | QTableWidgetItem *item = ui->tableWidget->item(row,5); |
| | | if(row < 3 || !item) return; // 防止异常 |
| | | if(column == 26) // 表示是处分类型被修改了,那就可以自动去获取数据库中的数据出来,同步到同一行去了 |
| | | { |
| | | QString rectify_type = ui->tableWidget->item(row,column)->text(); |
| | | QString name = ui->tableWidget->item(row,5)->text(); |
| | | QMap<QString,QString> typeInfos; |
| | | typeInfos["其中:党纪处分"] = "_030901"; |
| | | typeInfos["政务处分"] = "_030902"; |
| | | typeInfos["内部纪律处分"] = "_030903"; |
| | | |
| | | QString sql = QString("select %1,_031001 from comprehensive_entry_info where name='%2'").arg(typeInfos[rectify_type]).arg(name); |
| | | qDebug()<<"sql:"<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | | qDebug()<<"执行成果,记录结果 处分类型:"<<rectify_type; |
| | | int cnt=0; |
| | | int involved_person_cnt = 0; |
| | | while(query.next()){ |
| | | cnt += query.value(0).toInt(); |
| | | involved_person_cnt += query.value(1).toInt(); |
| | | } |
| | | qDebug()<<"查到cnt="<<cnt <<" 涉案人员:"<<involved_person_cnt; |
| | | ui->tableWidget->setItem(row,27,new QTableWidgetItem(QString::number(cnt))); |
| | | ui->tableWidget->setItem(row,30,new QTableWidgetItem(QString::number(involved_person_cnt))); |
| | | }else { |
| | | qDebug()<<"查询失败 处分类型"<<rectify_type; |
| | | } |
| | | |
| | | }else if(column == 42) // 表示是金额类整改成果触发了 |
| | | { |
| | | QMap<QString,QString> moneyInfos; |
| | | moneyInfos["其中:调整会计账目"] = "_030701"; |
| | | moneyInfos["收回资金"] = "_030702"; |
| | | moneyInfos["挽回损失"] = "_030703"; |
| | | moneyInfos["归还原资金渠道"] = "_030704"; |
| | | moneyInfos["补缴税费"] = "_030705"; |
| | | moneyInfos["其他"] = "_030706"; |
| | | |
| | | QString currentText = ui->tableWidget->item(row,42)->text(); |
| | | QString name = ui->tableWidget->item(row,5)->text(); |
| | | QString sql = QString("select %1 from comprehensive_entry_info where name='%2'").arg(moneyInfos[currentText]).arg(name); |
| | | qDebug()<<"sql:"<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | | double cnt=0; |
| | | while (query.next()) { |
| | | cnt += query.value(0).toDouble(); |
| | | } |
| | | ui->tableWidget->setItem(row,43,new QTableWidgetItem(QString::number(cnt))); |
| | | }else{ |
| | | qDebug()<<"执行sql失败 审计发现问题整改(金额类)"; |
| | | } |
| | | |
| | | |
| | | }else if(column == 44) // 表示是非金额类整改成果触发了 |
| | | { |
| | | |
| | | QMap<QString,QString> noMoneyInfos; |
| | | noMoneyInfos["其中:新制定制度"] = "_030801"; |
| | | noMoneyInfos["修订完善制度"] = "_030802"; |
| | | noMoneyInfos["优化完善业务流程"] = "_030803"; |
| | | noMoneyInfos["其他"] = "_030804"; |
| | | |
| | | QString currentText = ui->tableWidget->item(row,44)->text(); |
| | | QString name = ui->tableWidget->item(row,5)->text(); |
| | | QString sql = QString("select %1 from comprehensive_entry_info where name='%2'").arg(noMoneyInfos[currentText]).arg(name); |
| | | qDebug()<<"sql:"<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | | int cnt=0; |
| | | while (query.next()) { |
| | | cnt += query.value(0).toInt(); |
| | | } |
| | | ui->tableWidget->setItem(row,45,new QTableWidgetItem(QString::number(cnt))); |
| | | }else{ |
| | | qDebug()<<"执行sql失败 审计发现问题整改(金额类)"; |
| | | } |
| | | } |
| | | } |