From 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期日, 27 四月 2025 22:13:53 +0800 Subject: [PATCH] 0427 --- internal_system_v1/threemergeproblemlist.cpp | 259 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 228 insertions(+), 31 deletions(-) diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp index 6c1f835..72b25cd 100644 --- a/internal_system_v1/threemergeproblemlist.cpp +++ b/internal_system_v1/threemergeproblemlist.cpp @@ -6,6 +6,9 @@ #include <QMessageBox> #include <QDir> #include <QFileDevice> +#include <QDesktopServices> +#include <QFileDialog> + #include "noedititemdelegate.h" #pragma execution_character_set("utf-8") @@ -105,7 +108,7 @@ return 0; } // 澶勭悊涓虹┖鐨勯潪棣栧垪鍗曞厓锛岃嚜鍔ㄨˉ闆� - for(int i=1;i<ui->tableWidget->columnCount();++i){ + for(int i=3;i<ui->tableWidget->columnCount();++i){ if(ui->tableWidget->item(row,i) == nullptr){ qDebug()<<"鍙戠幇绌洪」:"<<row<<i; ui->tableWidget->setItem(row,i,new QTableWidgetItem(" ")); @@ -122,17 +125,17 @@ // 瀛樺湪锛屽垯鏇存柊鍐呭鍗冲彲 qDebug()<<"id宸插瓨鍦紝闇�鏇存柊鏁版嵁鍗冲彲"; sql = QString("update standing_book_info set 瀹¤绫诲埆='%1',瀹¤骞村害='%2',瀹¤鍗曚綅='%3',瀹¤鏂瑰紡='%4',璐d换涓讳綋鍚嶇О='%5'" - ",瀹¤椤圭洰='%6',瀹¤椤圭洰鍚嶇О='%7',闂绫诲埆='%8',闂瀹氭��='%9',闂鎻忚堪='%10',闂瀹氭�ф硶瑙勪緷鎹�='%11',娑夊強閲戦='%12',闂鎻忚堪浣愯瘉璧勬枡='%13'" - ",瀹¤鏈熼棿宸叉暣鏀�='%14',鏁存敼閲戦='%15',鏁存敼鎯呭喌1='%16',鏁存敼鎯呭喌浣愯瘉璧勬枡1='%17',鏁存敼缁撴灉='%18',鏁存敼瀹屾垚鏃堕棿='%19',灏氭湭鏁存敼鍒颁綅鐨勫師鍥�='%20',鏁存敼棰勮瀹屾垚鏃堕棿='%21'" - ",鏁存敼鎯呭喌2='%22',鏁存敼鎯呭喌浣愯瘉璧勬枡2='%23',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�='%24',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�='%25',鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�='%26',宸叉暣鏀筥绾犳闂='%27',宸叉暣鏀筥瀹屽杽鍒跺害='%28',宸叉暣鏀筥瀹屾垚鏃堕棿='%29'" - ",姝e湪鏁存敼_涓昏鍘熷洜='%30',姝e湪鏁存敼_瀹屾垚鏃堕檺='%31',灏氭湭鏁存敼_涓昏鍘熷洜='%32',灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉='%33',灏氭湭鏁存敼_瀹屾垚鏃堕檺='%34',鍒跺害寤鸿_淇鍒跺害='%35',鍒跺害寤鸿_鏂板鍒跺害='%36',璧勯噾鏀跺洖_鎸藉洖鎹熷け='%37'" - ",璧勯噾鏀跺洖_鍏朵粬='%38',璧勯噾鏀跺洖_瀹″噺='%39' where id=%40").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()) + ",瀹¤椤圭洰='%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'" + ",姝e湪鏁存敼_涓昏鍘熷洜='%37',姝e湪鏁存敼_瀹屾垚鏃堕檺='%38',灏氭湭鏁存敼_涓昏鍘熷洜='%39',灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉='%40',灏氭湭鏁存敼_瀹屾垚鏃堕檺='%41',鏁存敼鎴愭灉_閲戦绫绘暣鏀规垚鏋�='%42',鏁存敼鎴愭灉_閲戦=%43,鏁存敼鎴愭灉_闈為噾棰濈被鏁存敼鎴愭灉='%44'" + ",鏁存敼鎴愭灉_鏁伴噺=%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,14)->text()).arg(ui->tableWidget->item(row,15)->text()).arg(ui->tableWidget->item(row,16)->text()) - .arg(ui->tableWidget->item(row,17)->text()).arg(ui->tableWidget->item(row,18)->text()).arg(ui->tableWidget->item(row,19)->text()).arg(ui->tableWidget->item(row,20)->text()).arg(ui->tableWidget->item(row,21)->text()).arg(ui->tableWidget->item(row,22)->text()) - .arg(ui->tableWidget->item(row,23)->text()).arg(ui->tableWidget->item(row,24)->text()).arg(ui->tableWidget->item(row,25)->text()).arg(ui->tableWidget->item(row,26)->text()).arg(ui->tableWidget->item(row,27)->text()).arg(ui->tableWidget->item(row,28)->text()) - .arg(ui->tableWidget->item(row,29)->text()).arg(ui->tableWidget->item(row,30)->text()).arg(ui->tableWidget->item(row,31)->text()).arg(ui->tableWidget->item(row,32)->text()).arg(ui->tableWidget->item(row,33)->text()).arg(ui->tableWidget->item(row,34)->text()) - .arg(ui->tableWidget->item(row,35)->text()).arg(ui->tableWidget->item(row,36)->text()).arg(ui->tableWidget->item(row,37)->text()).arg(ui->tableWidget->item(row,38)->text()).arg(ui->tableWidget->item(row,39)->text()).arg(ui->tableWidget->item(row,0)->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().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().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){ @@ -149,18 +152,18 @@ // 涓嶅瓨鍦紝鍒欓渶瑕佹柊澧炴彃鍏� qDebug()<<"涓嶅瓨鍦╥d锛屾彃鍏ユ暟鎹�"; sql = QString("insert into standing_book_info (瀹¤绫诲埆,瀹¤骞村害,瀹¤鍗曚綅,瀹¤鏂瑰紡,璐d换涓讳綋鍚嶇О" - ",瀹¤椤圭洰,瀹¤椤圭洰鍚嶇О,闂绫诲埆,闂瀹氭��,闂鎻忚堪,闂瀹氭�ф硶瑙勪緷鎹�,娑夊強閲戦,闂鎻忚堪浣愯瘉璧勬枡" + ",瀹¤椤圭洰,瀹¤椤圭洰鍚嶇О,闂绫诲埆,闂瀹氭��,闂鎻忚堪,闂瀹氭�ф硶瑙勪緷鎹�,瀹¤鍙戠幇闂閲戦瀹氭��,瀹¤鍙戠幇闂涓暟瀹氭��,娑夊強閲戦,闂鎻忚堪浣愯瘉璧勬枡" ",瀹¤鏈熼棿宸叉暣鏀�,鏁存敼閲戦,鏁存敼鎯呭喌1,鏁存敼鎯呭喌浣愯瘉璧勬枡1,鏁存敼缁撴灉,鏁存敼瀹屾垚鏃堕棿,灏氭湭鏁存敼鍒颁綅鐨勫師鍥�,鏁存敼棰勮瀹屾垚鏃堕棿" - ",鏁存敼鎯呭喌2,鏁存敼鎯呭喌浣愯瘉璧勬枡2,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�,宸叉暣鏀筥绾犳闂,宸叉暣鏀筥瀹屽杽鍒跺害,宸叉暣鏀筥瀹屾垚鏃堕棿" - ",姝e湪鏁存敼_涓昏鍘熷洜,姝e湪鏁存敼_瀹屾垚鏃堕檺,灏氭湭鏁存敼_涓昏鍘熷洜,灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉,灏氭湭鏁存敼_瀹屾垚鏃堕檺,鍒跺害寤鸿_淇鍒跺害,鍒跺害寤鸿_鏂板鍒跺害,璧勯噾鏀跺洖_鎸藉洖鎹熷け" - ",璧勯噾鏀跺洖_鍏朵粬,璧勯噾鏀跺洖_瀹″噺,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')").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()) + ",鏁存敼鎯呭喌2,鏁存敼鎯呭喌浣愯瘉璧勬枡2,澶勫垎绫诲瀷,澶勫垎浜烘暟,绉婚�佽缁嗕俊鎭�,澶勭悊缁撴灉,娑夋浜哄憳,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ椂闂�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ユ柟寮�,鏁存敼妫�鏌ョ粨鏋淿妫�鏌ョ粨鏋�,宸叉暣鏀筥绾犳闂,宸叉暣鏀筥瀹屽杽鍒跺害,宸叉暣鏀筥瀹屾垚鏃堕棿" + ",姝e湪鏁存敼_涓昏鍘熷洜,姝e湪鏁存敼_瀹屾垚鏃堕檺,灏氭湭鏁存敼_涓昏鍘熷洜,灏氭湭鏁存敼_璐d换閮ㄩ棬鎴栬矗浠讳汉,灏氭湭鏁存敼_瀹屾垚鏃堕檺,鏁存敼鎴愭灉_閲戦绫绘暣鏀规垚鏋�,鏁存敼鎴愭灉_閲戦,鏁存敼鎴愭灉_闈為噾棰濈被鏁存敼鎴愭灉" + ",鏁存敼鎴愭灉_鏁伴噺,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,14)->text()).arg(ui->tableWidget->item(row,15)->text()).arg(ui->tableWidget->item(row,16)->text()) - .arg(ui->tableWidget->item(row,17)->text()).arg(ui->tableWidget->item(row,18)->text()).arg(ui->tableWidget->item(row,19)->text()).arg(ui->tableWidget->item(row,20)->text()).arg(ui->tableWidget->item(row,21)->text()).arg(ui->tableWidget->item(row,22)->text()) - .arg(ui->tableWidget->item(row,23)->text()).arg(ui->tableWidget->item(row,24)->text()).arg(ui->tableWidget->item(row,25)->text()).arg(ui->tableWidget->item(row,26)->text()).arg(ui->tableWidget->item(row,27)->text()).arg(ui->tableWidget->item(row,28)->text()) - .arg(ui->tableWidget->item(row,29)->text()).arg(ui->tableWidget->item(row,30)->text()).arg(ui->tableWidget->item(row,31)->text()).arg(ui->tableWidget->item(row,32)->text()).arg(ui->tableWidget->item(row,33)->text()).arg(ui->tableWidget->item(row,34)->text()) - .arg(ui->tableWidget->item(row,35)->text()).arg(ui->tableWidget->item(row,36)->text()).arg(ui->tableWidget->item(row,37)->text()).arg(ui->tableWidget->item(row,38)->text()).arg(ui->tableWidget->item(row,39)->text()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss")); + .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().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().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){ @@ -230,6 +233,7 @@ initProblemListUi(); // 鍒濆鍖栭棶棰樻竻鍗曠晫闈� initProblemResultUi(); // 鍒濆鍖栭棶棰樺鐞嗙粨鏋滅晫闈� + ui->tableWidget->setRowCount(4); // 璁剧疆鍒濆琛屾暟 ui->tableWidget->setMinimumHeight(500); // 鏁存敼鍙拌处 ui->tableWidget_2->setMinimumHeight(500); // 鏁存敼缁撴灉 ui->tableWidget_3->setMinimumHeight(500); // 闂娓呭崟 @@ -345,6 +349,8 @@ typeLabels<<"鍏朵腑锛氬厷绾鍒�"<<"鏀垮姟澶勫垎"<<"鍐呴儴绾緥澶勫垎"<<"鏃犲鍒�"; m_cbb_type = new ComboBoxDelegate(typeLabels,this); ui->tableWidget->setItemDelegateForColumn(26,m_cbb_type); + + // 妫�鏌ョ粨鏋� QStringList checkResLabels; @@ -943,10 +949,10 @@ QVector<QVector<QString>> res; int rows = selectSQL(sql,res); if(rows > 0){ - ui->tableWidget->setRowCount(rows); + ui->tableWidget->setRowCount(rows+3); for(int i=0;i<res.size();++i){ for(int j=0;j<res.at(0).size()-1;++j){ // 鍘绘帀璁板綍鏃堕棿 - ui->tableWidget->setItem(i,j,new QTableWidgetItem(res[i][j])); + ui->tableWidget->setItem(i+3,j,new QTableWidgetItem(res[i][j])); } } }else{ @@ -958,15 +964,15 @@ void ThreeMergeProblemList::on_pushButton_save_3_clicked() { int hasContentRow=0; - for(int i=0;i<ui->tableWidget->rowCount();++i){ + for(int i=3;i<ui->tableWidget->rowCount();++i){ int row = saveDataLine(i); if(row > 0) { hasContentRow++; // 闇�瑕佸皢鏂囦欢鎷疯礉鍒癷d鐩綍 - 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; @@ -992,8 +998,8 @@ } } - 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() @@ -1054,6 +1060,17 @@ QString condition= QString(" 鏁存敼棰勮瀹屾垚鏃堕棿='%1' ").arg(ui->dateEdit_change_expected_time->text()); vecCon.append(condition); } + + if(ui->checkBox_punish_type->isChecked()){ + QString condition= QString(" 澶勫垎绫诲瀷='%1' ").arg(ui->comboBox_punish_type->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_transfer->isChecked()){ + QString condition= QString(" 绉婚�佽缁嗕俊鎭�='%1' ").arg(ui->comboBox_transfer->currentText()); + vecCon.append(condition); + } + + QString condition; if(vecCon.size() == 1){ condition += QString(" where %1").arg(vecCon.at(0)); @@ -1069,10 +1086,10 @@ QVector<QVector<QString>> res; int rows = selectSQL(sql,res); if(rows > 0){ - ui->tableWidget->setRowCount(rows); + ui->tableWidget->setRowCount(rows+3); for(int i=0;i<res.size();++i){ for(int j=0;j<res.at(0).size()-1;++j){ // 鍘绘帀璁板綍鏃堕棿 - ui->tableWidget->setItem(i,j,new QTableWidgetItem(res[i][j])); + ui->tableWidget->setItem(i+3,j,new QTableWidgetItem(res[i][j])); } } }else{ @@ -1124,6 +1141,14 @@ 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) @@ -1138,4 +1163,176 @@ void ThreeMergeProblemList::on_pushButton_save_export_clicked() { qDebug()<<"涓夊悎涓�瀵煎嚭淇濆瓨"; + QVector<ThreeMergeInfo> infos; + QString name = ui->comboBox_company->currentText(); + + // 鑾峰彇琛ㄦ牸鏁版嵁锛屾坊鍔犲埌淇℃伅涓� + 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(); + // 鍙戠幇闂 + strcpy(rowInfo.audit_type,ui->tableWidget->item(i,1)->text().toLocal8Bit().data()); + strcpy(rowInfo.audit_year,ui->tableWidget->item(i,2)->text().toLocal8Bit().data()); + strcpy(rowInfo.audit_unit,ui->tableWidget->item(i,3)->text().toLocal8Bit().data()); + strcpy(rowInfo.audit_method,ui->tableWidget->item(i,4)->text().toLocal8Bit().data()); + strcpy(rowInfo.responsible_subject_name,ui->tableWidget->item(i,5)->text().toLocal8Bit().data()); + strcpy(rowInfo.audit_item,ui->tableWidget->item(i,6)->text().toLocal8Bit().data()); + strcpy(rowInfo.audit_item_name,ui->tableWidget->item(i,7)->text().toLocal8Bit().data()); + strcpy(rowInfo.pro_type,ui->tableWidget->item(i,8)->text().toLocal8Bit().data()); + strcpy(rowInfo.problem_qualification,ui->tableWidget->item(i,9)->text().toLocal8Bit().data()); + strcpy(rowInfo.problem_desript,ui->tableWidget->item(i,10)->text().toLocal8Bit().data()); + strcpy(rowInfo.problem_qualifi_basis,ui->tableWidget->item(i,11)->text().toLocal8Bit().data()); + strcpy(rowInfo.problem_money_basis,ui->tableWidget->item(i,12)->text().toLocal8Bit().data()); + strcpy(rowInfo.problem_num_basis,ui->tableWidget->item(i,13)->text().toLocal8Bit().data()); + rowInfo.money_involved = ui->tableWidget->item(i,14)->text().toDouble(); + strcpy(rowInfo.problem_desript_evidence_material,ui->tableWidget->item(i,15)->text().toLocal8Bit().data()); + + // 鏁存敼鎯呭喌 + strcpy(rowInfo.audit_rectified,ui->tableWidget->item(i,16)->text().toLocal8Bit().data()); + rowInfo.rectify_money = ui->tableWidget->item(i,17)->text().toDouble(); + strcpy(rowInfo.rectify_situation_1,ui->tableWidget->item(i,18)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_situation_evidence_mat_1,ui->tableWidget->item(i,19)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_res,ui->tableWidget->item(i,20)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_complete_time,ui->tableWidget->item(i,21)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_not_over_reason,ui->tableWidget->item(i,22)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_will_complete_time,ui->tableWidget->item(i,23)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_situation_2,ui->tableWidget->item(i,24)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_situation_evidence_mat_2,ui->tableWidget->item(i,25)->text().toLocal8Bit().data()); + + // 澶勫垎缁撴灉 + strcpy(rowInfo.punish_type,ui->tableWidget->item(i,26)->text().toLocal8Bit().data()); + rowInfo.punish_person_num = ui->tableWidget->item(i,27)->text().toInt(); + + // 绉婚�佷俊鎭� + strcpy(rowInfo.transfer_info,ui->tableWidget->item(i,28)->text().toLocal8Bit().data()); + strcpy(rowInfo.punish_res,ui->tableWidget->item(i,29)->text().toLocal8Bit().data()); + rowInfo.involved_person_num = ui->tableWidget->item(i,30)->text().toInt(); + + // 鏁翠釜妫�鏌ョ粨鏋� + strcpy(rowInfo.rectify_check_time,ui->tableWidget->item(i,31)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_check_mothod,ui->tableWidget->item(i,32)->text().toLocal8Bit().data()); + strcpy(rowInfo.rectify_check_res,ui->tableWidget->item(i,33)->text().toLocal8Bit().data()); + + // 鏁存敼绫诲瀷-宸叉暣鏀� + strcpy(rowInfo.correct_problem,ui->tableWidget->item(i,34)->text().toLocal8Bit().data()); + strcpy(rowInfo.improve_the_system,ui->tableWidget->item(i,35)->text().toLocal8Bit().data()); + strcpy(rowInfo.complete_time,ui->tableWidget->item(i,36)->text().toLocal8Bit().data()); + + // 鏁存敼绫诲瀷-姝e湪鏁存敼 + strcpy(rowInfo.during_main_reason,ui->tableWidget->item(i,37)->text().toLocal8Bit().data()); + strcpy(rowInfo.during_end_complete_time,ui->tableWidget->item(i,38)->text().toLocal8Bit().data()); + + // 鏁存敼绫诲瀷-灏氭湭鏁存敼 + strcpy(rowInfo.not_main_reason,ui->tableWidget->item(i,39)->text().toLocal8Bit().data()); + strcpy(rowInfo.departen_or_person,ui->tableWidget->item(i,40)->text().toLocal8Bit().data()); + strcpy(rowInfo.not_end_complete_time,ui->tableWidget->item(i,41)->text().toLocal8Bit().data()); + + // 鏁存敼缁撴灉-闂鏁存敼锛堥噾棰濈被锛� + strcpy(rowInfo.money_res,ui->tableWidget->item(i,42)->text().toLocal8Bit().data()); + rowInfo.money_res_money = ui->tableWidget->item(i,43)->text().toDouble(); + + // 鏁存敼缁撴灉-闂鏁存敼锛堥潪閲戦绫伙級 + strcpy(rowInfo.no_money_res,ui->tableWidget->item(i,44)->text().toLocal8Bit().data()); + rowInfo.no_money_res_num = ui->tableWidget->item(i,45)->text().toInt(); + + // 鏀惧埌vector涓� + infos.append(rowInfo); + + } + + + 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) // 琛ㄧず鏄鍒嗙被鍨嬭淇敼浜嗭紝閭e氨鍙互鑷姩鍘昏幏鍙栨暟鎹簱涓殑鏁版嵁鍑烘潵锛屽悓姝ュ埌鍚屼竴琛屽幓浜� + { + 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澶辫触 瀹¤鍙戠幇闂鏁存敼锛堥噾棰濈被锛�"; + } + } } -- Gitblit v1.8.0