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 | 622 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 564 insertions(+), 58 deletions(-) diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp index 2b00b35..72b25cd 100644 --- a/internal_system_v1/threemergeproblemlist.cpp +++ b/internal_system_v1/threemergeproblemlist.cpp @@ -6,6 +6,12 @@ #include <QMessageBox> #include <QDir> #include <QFileDevice> +#include <QDesktopServices> +#include <QFileDialog> + +#include "noedititemdelegate.h" + +#pragma execution_character_set("utf-8") ThreeMergeProblemList::ThreeMergeProblemList(QWidget *parent) : QMainWindow(parent), @@ -14,6 +20,7 @@ ui->setupUi(this); m_fdd = new FileDialogDelegate; + //m_noEdit = new ThreeComboBox; ui->statusbar->hide(); ui->menubar->hide(); @@ -38,10 +45,17 @@ ui->line->hide(); ui->line_2->hide(); + ui->groupBox->hide(); // 棣栨鍏堥殣钘� + + // pdf鏂囦欢鐩稿叧 + //m_pdfView = new QWebEngineView(); + + } ThreeMergeProblemList::~ThreeMergeProblemList() { + //delete m_noEdit; delete ui; } @@ -93,6 +107,15 @@ qDebug()<<"褰撳墠琛岄涓虹┖"<<row; return 0; } + // 澶勭悊涓虹┖鐨勯潪棣栧垪鍗曞厓锛岃嚜鍔ㄨˉ闆� + 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(" ")); + } + } + + // 鍙栧嚭绱㈠紩鍙锋潵鍒ゆ柇涓�涓� QString sql = QString("select id from standing_book_info where id=%1").arg(ui->tableWidget->item(row,0)->text()); qDebug()<<"id sql:"<<sql; @@ -102,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){ @@ -129,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){ @@ -155,7 +178,7 @@ // path 涓烘枃浠跺畬鏁磋矾寰� // id涓哄瓙鐩綍鍚嶅瓧 -int ThreeMergeProblemList::saveFile(QString path, QString id,QString &absSavePath) +int ThreeMergeProblemList::saveFile(QString path, QString id,QString &absSavePath,QString proName) { // 鏍规嵁id鏉ユ寚瀹氬瓙鐩綍杩涜鏂囦欢鐨勬嫹璐濆拰瀛樺偍 // 榛樿淇濆瓨鍒板綋鍓峞vidence鐩綍涓嬬殑id瀛愮洰褰曚腑 @@ -165,7 +188,7 @@ return -1; } - QString curPath = QString("./evidence/%1/").arg(id); + QString curPath = QString("./evidence/%1_%2/").arg(id).arg(proName); QDir dir; if(!dir.exists(curPath)){ // 鍒欑洿鎺ュ垱寤� @@ -188,12 +211,29 @@ } } + +// 浣跨敤web鎶�鏈� 鍔犺浇pdf鏂囦欢 +int ThreeMergeProblemList::loadPdfFile(QString path) +{ +// QString dirPath = QApplication::applicationDirPath(); +// qDebug()<<"pdf:"<<path<<dirPath; +// qDebug()<<QDir::currentPath(); +// qDebug()<<path.mid(1); +// QString pdfJS = "file://"+QDir::currentPath()+"/web/viewer.html"; +// QString link = "?file="; +// QString fullPath = pdfJS+link+QDir::currentPath()+path.mid(1); +// qDebug()<<"fullPath"<<fullPath; +// m_pdfView->page()->load(QUrl::fromUserInput(fullPath)); + + return 0; +} void ThreeMergeProblemList::initUi() { initProblemRectBookUi(); // 鍒濆鍖栨暣鏀瑰彴璐� initProblemListUi(); // 鍒濆鍖栭棶棰樻竻鍗曠晫闈� initProblemResultUi(); // 鍒濆鍖栭棶棰樺鐞嗙粨鏋滅晫闈� + ui->tableWidget->setRowCount(4); // 璁剧疆鍒濆琛屾暟 ui->tableWidget->setMinimumHeight(500); // 鏁存敼鍙拌处 ui->tableWidget_2->setMinimumHeight(500); // 鏁存敼缁撴灉 ui->tableWidget_3->setMinimumHeight(500); // 闂娓呭崟 @@ -225,6 +265,7 @@ QTableWidgetItem *item_1 = new QTableWidgetItem(label); item_1->setForeground(QBrush(QColor("#ff00ff"))); ui->tableWidget->setHorizontalHeaderItem(i,item_1); + //ui->tableWidget->setItem(1,i,item_1); } for(int i=14;i<14+10;++i){ @@ -285,24 +326,150 @@ m_cbb_way = new ComboBoxDelegate(proLabels,this); ui->tableWidget->setItemDelegateForColumn(6,m_cbb_way); + // 瀹¤鍙戠幇闂閲戦瀹氭�� + QStringList moneyLabels; + moneyLabels<<"鍏朵腑锛氱哗鏁堢被闂閲戦"<<"鍚堣鎬ч棶棰橀噾棰�"<<"鍏朵腑锛氫細璁℃牳绠楁柟闈�"<<"杩濊浣跨敤璧勯噾"<<"鎴暀銆佹矇娣�璧勯噾"<<"鎹熷け娴垂"<<"鎸敤璧勯噾"<<"鍋锋紡绋庤垂"<<"杩濊鍙栧緱鏀跺叆"<<"鍏朵粬"; + m_cbb_money = new ComboBoxDelegate(moneyLabels,this); + ui->tableWidget->setItemDelegateForColumn(12,m_cbb_money); + + // 瀹¤鍙戠幇闂涓暟瀹氭�� + QStringList cntLabels; + cntLabels<<"鍏朵腑锛氶噾棰濈被闂涓暟"<<"闈為噾棰濈被闂涓暟"<<"鍏朵腑锛氬浗瀹舵斂绛栨帾鏂借惤瀹炴柟闈�"<<"鍙戝睍瑙勫垝涓庢垬鐣ュ喅绛栨柟闈�"<<"鍐呴儴鎺у埗涓庨闄╃鐞嗘柟闈�"<<"鍏朵粬"; + m_cbb_cnt = new ComboBoxDelegate(cntLabels,this); + ui->tableWidget->setItemDelegateForColumn(13,m_cbb_cnt); + + // 鏁存敼缁撴灉 + QStringList resLabels; + resLabels<<"绔嬭鏁存敼"<<"鍒嗛樁娈垫暣鏀�"<<"灏氭湭鏁存敼"; + m_cbb_result = new ComboBoxDelegate(resLabels,this); + ui->tableWidget->setItemDelegateForColumn(20,m_cbb_result); + + // 澶勫垎绫诲瀷 + QStringList typeLabels; + typeLabels<<"鍏朵腑锛氬厷绾鍒�"<<"鏀垮姟澶勫垎"<<"鍐呴儴绾緥澶勫垎"<<"鏃犲鍒�"; + m_cbb_type = new ComboBoxDelegate(typeLabels,this); + ui->tableWidget->setItemDelegateForColumn(26,m_cbb_type); + + + + // 妫�鏌ョ粨鏋� + QStringList checkResLabels; + checkResLabels<<"宸插畬鎴�"<<"鏈畬鎴�"; + m_cbb_check_res = new ComboBoxDelegate(checkResLabels,this); + ui->tableWidget->setItemDelegateForColumn(33,m_cbb_check_res); + + // 閲戦绫绘暣鏀规垚鏋� + QStringList moneyResLabels; + moneyResLabels<<"鍏朵腑锛氳皟鏁翠細璁¤处鐩�"<<"鏀跺洖璧勯噾"<<"鎸藉洖鎹熷け"<<"褰掕繕鍘熻祫閲戞笭閬�"<<"琛ョ即绋庤垂"<<"鍏朵粬"; + m_cbb_money_res = new ComboBoxDelegate(moneyResLabels,this); + ui->tableWidget->setItemDelegateForColumn(42,m_cbb_money_res); + + // 闈為噾棰濈被鏁存敼鎴愭灉 + QStringList noMoneyResLabels; + noMoneyResLabels<<"鍏朵腑锛氭柊鍒跺畾鍒跺害"<<"淇瀹屽杽鍒跺害"<<"浼樺寲瀹屽杽涓氬姟娴佺▼"<<"鍏朵粬"; + m_cbb_no_money_res = new ComboBoxDelegate(noMoneyResLabels,this); + ui->tableWidget->setItemDelegateForColumn(44,m_cbb_no_money_res); + + // 闂鎻忚堪浣愯瘉璧勬枡(涓婁紶鍙栬瘉鍗�) 褰曞叆鎴栬�呬笂浼� //ui->tableWidget->setItemDelegateForColumn(13,m_fdd); QStringList fwLabels; fwLabels << "褰曞叆(鐩存帴杈撳叆鍚庡洖杞﹀嵆鍙�)"<<"涓婁紶"; m_cbb_file_wri = new ComboBoxDelegate(fwLabels,this,true); - ui->tableWidget->setItemDelegateForColumn(13,m_cbb_file_wri); - ui->tableWidget->setItemDelegateForColumn(17,m_cbb_file_wri); - ui->tableWidget->setItemDelegateForColumn(23,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(13+2,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(17+2,m_cbb_file_wri); + ui->tableWidget->setItemDelegateForColumn(23+2,m_cbb_file_wri); // 澶勭悊骞存湀鏃ユ椂闂� m_date_ymd = new DateDelegate(this,"yyyy/MM/dd"); - ui->tableWidget->setItemDelegateForColumn(19,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(21,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(24,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(29,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(31,m_date_ymd); - ui->tableWidget->setItemDelegateForColumn(34,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(19+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(21+2,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(24+2+5,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(29+2+5,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(31+2+5,m_date_ymd); + ui->tableWidget->setItemDelegateForColumn(34+2+5,m_date_ymd); + + // 灏嗘爣棰樺鍏ョ涓夎 + for(int i=0;i<ui->tableWidget->columnCount();++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item = new QTableWidgetItem(label); + if(i < 16){ + item->setBackground(QBrush(QColor("#ff00ff"))); + }else if(i < 16+10){ + item->setBackground(QBrush(QColor("#00aaff"))); + } + + ui->tableWidget->setItem(2,i,item); + } + + // 骞朵笖绂佺敤缂栬緫鍔熻兘 + //ui->tableWidget->setItemDelegateForRow(1,m_noEdit); + //ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); + m_noEdit = new TableItemDelegate; + ui->tableWidget->setItemDelegateForRow(0,m_noEdit); + ui->tableWidget->setItemDelegateForRow(1,m_noEdit); + ui->tableWidget->setItemDelegateForRow(2,m_noEdit); + + + // 鍚堝苟绗竴琛岀殑鎯呭喌锛岃繘琛屽垎绫� + + + ui->tableWidget->setItem(0,1,new QTableWidgetItem("鍙戠幇闂")); + ui->tableWidget->setItem(0,16,new QTableWidgetItem("鏁存敼鎯呭喌")); + // 澶勫垎缁撴灉锛堣兘鑷姩缁熻缁煎悎瀹¤缁熻琛ㄤ腑锛氭牴鎹璁″缓璁粰浜堝厷绾�佹斂鍔″拰鍐呴儴绾緥澶勫垎锛� + ui->tableWidget->setItem(0,26,new QTableWidgetItem("澶勫垎缁撴灉")); + // 绉婚�佷俊鎭紙鑳借嚜鍔ㄧ粺璁$患鍚堝璁$粺璁¤〃涓細鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储锛� + ui->tableWidget->setItem(0,28,new QTableWidgetItem("绉婚�佷俊鎭�")); + ui->tableWidget->setItem(0,31,new QTableWidgetItem("鏁存敼妫�鏌ョ粨鏋�")); + ui->tableWidget->setItem(0,34,new QTableWidgetItem("鏁存敼绫诲瀷")); + ui->tableWidget->setItem(1,34,new QTableWidgetItem("宸叉暣鏀�")); + ui->tableWidget->setItem(1,37,new QTableWidgetItem("姝e湪鏁存敼")); + ui->tableWidget->setItem(1,39,new QTableWidgetItem("灏氭湭鏁存敼")); + ui->tableWidget->setItem(0,42,new QTableWidgetItem("鏁存敼鎴愭灉")); + ui->tableWidget->setItem(1,42,new QTableWidgetItem("闂鏁存敼锛堥噾棰濈被锛�")); + ui->tableWidget->setItem(1,44,new QTableWidgetItem("闂鏁存敼锛堥潪閲戦绫伙級")); + + + ui->tableWidget->setSpan(0,1,2,15); // 鍙戠幇闂 + ui->tableWidget->item(0,1)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(0,16,2,10); // 鏁存敼鎯呭喌 + ui->tableWidget->item(0,16)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(0,26,2,2); // 澶勫垎缁撴灉 + ui->tableWidget->item(0,26)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(0,28,2,3); // 绉婚�佷俊鎭� + ui->tableWidget->item(0,28)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(0,31,2,3); // 鏁存敼妫�鏌ョ粨鏋� + ui->tableWidget->item(0,31)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(0,34,1,8); // 鏁存敼绫诲瀷 + ui->tableWidget->item(0,34)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(1,34,1,3); // 宸叉暣鏀� + ui->tableWidget->item(1,34)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(1,37,1,2); // 姝e湪鏁存敼 + ui->tableWidget->item(1,37)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(1,39,1,3); // 灏氭湭鏁存敼 + ui->tableWidget->item(1,39)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(0,42,1,4); // 鏁存敼鎴愭灉 + ui->tableWidget->item(0,42)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(1,42,1,2); // 闂鏁存敼锛堥噾棰濈被锛� + ui->tableWidget->item(1,42)->setTextAlignment(Qt::AlignCenter); + + ui->tableWidget->setSpan(1,44,1,2); // 闂鏁存敼锛堥潪閲戦绫伙級 + ui->tableWidget->item(1,44)->setTextAlignment(Qt::AlignCenter); + + + // 闅愯棌鍒楁爣棰� + ui->tableWidget->horizontalHeader()->setVisible(false); // 鍔犺浇鍏徃鍚� readCompanyFromSQL(); @@ -431,12 +598,14 @@ m_menuRectBook = new QMenu(this); m_menuRectBook->addAction("鍒犻櫎褰撳墠琛�"); m_menuRectBook->addAction("淇濆瓨褰撳墠琛�"); + m_menuRectBook->addAction("鏌ョ湅宸插瓨浣愯瘉"); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenuSlotRectBook(QPoint))); connect(m_menuRectBook->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteActionRectBook())); connect(m_menuRectBook->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(saveActionRectBook())); + connect(m_menuRectBook->actions().at(2),SIGNAL(triggered(bool)),this,SLOT(showSaveFile())); } @@ -581,25 +750,26 @@ int rows = saveDataLine(row); if(rows>0){ // 闇�瑕佸皢鏂囦欢鎷疯礉鍒癷d鐩綍 - QString fpath = ui->tableWidget->item(row,13)->text(); - QString spath = ui->tableWidget->item(row,17)->text(); - QString tpath = ui->tableWidget->item(row,23)->text(); + QString fpath = ui->tableWidget->item(row,13+2)->text(); + QString spath = ui->tableWidget->item(row,17+2)->text(); + QString tpath = ui->tableWidget->item(row,23+2)->text(); QString fid = ui->tableWidget->item(row,0)->text(); - qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<fpath; + QString proName = ui->tableWidget->item(row,7)->text(); // 椤圭洰鍚嶇О + qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<proName<<fpath; QString absSavePath1,absSavePath2,absSavePath3; - int sflag1 = saveFile(fpath,fid,absSavePath1); // 淇濆瓨绗竴涓� + int sflag1 = saveFile(fpath,fid,absSavePath1,proName); // 淇濆瓨绗竴涓� if(sflag1==1){ - ui->tableWidget->setItem(row,13,new QTableWidgetItem(absSavePath1)); + ui->tableWidget->setItem(row,13+2,new QTableWidgetItem(absSavePath1)); } - int sflag2 = saveFile(spath,fid,absSavePath2); // 淇濆瓨绗簩涓� + int sflag2 = saveFile(spath,fid,absSavePath2,proName); // 淇濆瓨绗簩涓� if(sflag2==1){ - ui->tableWidget->setItem(row,17,new QTableWidgetItem(absSavePath2)); + ui->tableWidget->setItem(row,17+2,new QTableWidgetItem(absSavePath2)); } - int sflag3 = saveFile(tpath,fid,absSavePath3); // 淇濆瓨绗笁涓� + int sflag3 = saveFile(tpath,fid,absSavePath3,proName); // 淇濆瓨绗笁涓� if(sflag3==1){ - ui->tableWidget->setItem(row,23,new QTableWidgetItem(absSavePath3)); + ui->tableWidget->setItem(row,23+2,new QTableWidgetItem(absSavePath3)); } qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3; if(sflag1 || sflag2 || sflag3){ @@ -765,11 +935,11 @@ }else if(curText == "娑夊強閲戦" || strcmp(curText.toLocal8Bit().data(),"娑夊強閲戦")==0){ qDebug()<<"娑夊強閲戦"; - condition = QString(" where 娑夊強閲戦='%1'").arg(ui->lineEdit_sbook_condition->text()); + condition = QString(" where 娑夊強閲戦 <=%1").arg(ui->lineEdit_sbook_condition->text()); }else if(curText == "鏁撮】閲戦" || strcmp(curText.toLocal8Bit().data(),"鏁撮】閲戦")==0){ qDebug()<<"鏁撮】閲戦"; - condition = QString(" where 鏁撮】閲戦='%1'").arg(ui->lineEdit_sbook_condition->text()); + condition = QString(" where 鏁撮】閲戦 <=%1").arg(ui->lineEdit_sbook_condition->text()); } @@ -779,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{ @@ -794,31 +964,32 @@ 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(); - qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<fpath; + QString proName = ui->tableWidget->item(i,7)->text(); // 椤圭洰鍚嶇О + qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<proName<<fpath; QString absSavePath1,absSavePath2,absSavePath3; - int sflag1 = saveFile(fpath,fid,absSavePath1); // 淇濆瓨绗竴涓� + int sflag1 = saveFile(fpath,fid,absSavePath1,proName); // 淇濆瓨绗竴涓� if(sflag1==1){ - ui->tableWidget->setItem(i,13,new QTableWidgetItem(absSavePath1)); + ui->tableWidget->setItem(i,13+2,new QTableWidgetItem(absSavePath1)); } - int sflag2 = saveFile(spath,fid,absSavePath2); // 淇濆瓨绗簩涓� + int sflag2 = saveFile(spath,fid,absSavePath2,proName); // 淇濆瓨绗簩涓� if(sflag2==1){ - ui->tableWidget->setItem(i,17,new QTableWidgetItem(absSavePath2)); + ui->tableWidget->setItem(i,17+2,new QTableWidgetItem(absSavePath2)); } - int sflag3 = saveFile(tpath,fid,absSavePath3); // 淇濆瓨绗笁涓� + int sflag3 = saveFile(tpath,fid,absSavePath3,proName); // 淇濆瓨绗笁涓� if(sflag3==1){ - ui->tableWidget->setItem(i,23,new QTableWidgetItem(absSavePath3)); + ui->tableWidget->setItem(i,23+2,new QTableWidgetItem(absSavePath3)); } qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3; if(sflag1 || sflag2 || sflag3){ @@ -827,6 +998,341 @@ } } - 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() +{ + QString sql = "select * from standing_book_info "; + + QVector<QString> vecCon; // 淇濆瓨鎵�鏈夋潯浠� + + if(ui->checkBox_type->isChecked()){ + QString condition= QString(" 瀹¤绫诲埆='%1' ").arg(ui->comboBox_type->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_year->isChecked()){ + QString condition= QString(" 瀹¤骞村害='%1' ").arg(ui->dateEdit_year->text()); + vecCon.append(condition); + } + if(ui->checkBox_com->isChecked()){ + QString condition= QString(" 瀹¤鍗曚綅='%1' ").arg(ui->comboBox_com->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_way->isChecked()){ + QString condition= QString(" 瀹¤鏂瑰紡='%1' ").arg(ui->comboBox_way->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_mainCom->isChecked()){ + QString condition= QString(" 璐d换涓讳綋鍚嶇О='%1' ").arg(ui->comboBox_mainCom->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_pro->isChecked()){ + QString condition= QString(" 瀹¤椤圭洰='%1' ").arg(ui->comboBox_pro->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_proName->isChecked()){ + QString condition= QString(" 瀹¤椤圭洰鍚嶇О='%1' ").arg(ui->comboBox_proName->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_qtype->isChecked()){ + QString condition= QString(" 闂绫诲埆='%1' ").arg(ui->comboBox_qtype->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_qdx->isChecked()){ + QString condition= QString(" 闂瀹氭��='%1'").arg(ui->comboBox_qdx->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_about_money->isChecked()){ + QString condition= QString(" 娑夊強閲戦 >= %1 and 娑夊強閲戦 <= %2").arg(ui->comboBox_about_bgMonney->currentText()).arg(ui->comboBox_about_edMoney->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_changeMoney->isChecked()){ + QString condition= QString(" 鏁存敼閲戦>=%1 and 鏁存敼閲戦<=%2").arg(ui->comboBox_change_bgMoney->currentText()).arg(ui->comboBox_change_edMoney->currentText()); + vecCon.append(condition); + } + if(ui->checkBox_change_over_time->isChecked()){ + QString condition= QString(" 鏁存敼瀹屾垚鏃堕棿='%1' ").arg(ui->dateEdit_change_over_time->text()); + vecCon.append(condition); + } + if(ui->checkBox_change_expected_time->isChecked()){ + 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)); + }else if(vecCon.size() > 1){ + condition += QString(" where %1").arg(vecCon.at(0)); + for(int i=1;i<vecCon.size();++i){ + condition += QString(" and %1 ").arg(vecCon.at(i)); + } + } + sql += condition; + qDebug()<<sql; + + QVector<QVector<QString>> res; + int rows = selectSQL(sql,res); + if(rows > 0){ + 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+3,j,new QTableWidgetItem(res[i][j])); + } + } + }else{ + QMessageBox::information(this,"鏌ヨ澶辫触","鍙兘鏌ヨ鐨勫唴瀹逛笉姝g‘鎴栬�呮病鏈夎褰曠浉搴旂殑鏁版嵁"); + } + +} + +void ThreeMergeProblemList::on_pushButton_multiSearch_clicked() +{ + static int cnt=0; + if(cnt%2 == 1){ + ui->groupBox->hide(); + ui->pushButton_multiSearch->setText("澶氱淮搴︽暟鎹煡璇煈�"); + }else{ + ui->groupBox->show(); + ui->pushButton_multiSearch->setText("澶氱淮搴︽暟鎹煡璇煈�"); + } + cnt++; +} + +void ThreeMergeProblemList::showSaveFile() +{ + int row = ui->tableWidget->currentRow(); + auto item = ui->tableWidget->currentItem(); + if(row>=0 && item){ + qDebug()<<"row"<<row; + // 鍙栦笅鏍� 13 17 23 + auto item_13 = ui->tableWidget->item(row,13+2); + auto item_17 = ui->tableWidget->item(row,17+2); + auto item_23 = ui->tableWidget->item(row,23+2); + if(item_13){ + qDebug()<<item_13->text(); + QString text = item_13->text(); + QStringList listPath = text.split("/"); + if(listPath.size() > 2){ + qDebug()<<"鍙戠幇鏂囦欢"<<listPath.back(); + QString type = listPath.back().split(".").back(); + qDebug()<<"type"<<type; + if(type == "pdf"){ + loadPdfFile(text); + } + } + } + if(item_17){ + qDebug()<<item_17->text(); + } + if(item_23){ + 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) +{ + ui->comboBox_company->clear(); + + for(auto it = nameAndComInfos.begin();it != nameAndComInfos.end();++it){ + ui->comboBox_company->addItem(it.key()); + } +} + +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