From 16e4354e393799963ec49630d814292bbfeae110 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期三, 15 五月 2024 23:45:15 +0800 Subject: [PATCH] 0515 --- internal_system_v1/threemergeproblemlist.cpp | 702 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 702 insertions(+), 0 deletions(-) diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp index 8cc2e65..e3ecf7f 100644 --- a/internal_system_v1/threemergeproblemlist.cpp +++ b/internal_system_v1/threemergeproblemlist.cpp @@ -4,15 +4,39 @@ #include <QSqlQuery> #include <QSqlError> #include <QMessageBox> +#include <QDir> +#include <QFileDevice> ThreeMergeProblemList::ThreeMergeProblemList(QWidget *parent) : QMainWindow(parent), ui(new Ui::ThreeMergeProblemList) { ui->setupUi(this); + + m_fdd = new FileDialogDelegate; + ui->statusbar->hide(); ui->menubar->hide(); initUi(); // 鍒濆鍖栨墍鏈夌晫闈� + + // 闅愯棌 + //ui->comboBox_company->hide(); + + ui->tableWidget_2->hide(); + ui->pushButton_save->hide(); + ui->pushButton_addRow->hide(); + ui->label_5->hide(); + ui->label->hide(); + + + ui->tableWidget_3->hide(); + ui->pushButton_save_2->hide(); + ui->pushButton_addRow_2->hide(); + ui->label_6->hide(); + ui->label_2->hide(); + + ui->line->hide(); + ui->line_2->hide(); } @@ -21,10 +45,264 @@ delete ui; } +// 鎷跨粨鏋滈泦鐨剆ql +int ThreeMergeProblemList::selectSQL(QString sql,QVector<QVector<QString>> &result) +{ + int rows = -1; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<QString("selectSQL ok..."); + + while(query.next()){ // 娣诲姞缁撴灉闆� + int idx = 0; + QVariant var; + QVector<QString> lines; + while((var = query.value(idx++)).isValid()){ + lines.append(var.toString()); + } + result.append(lines); + } + rows = result.size(); + + }else{ + qDebug()<<QString("selectSQL fail...")<<query.lastError().text(); + } + return rows; +} + +// 鎷夸慨鏀规潯鏁扮殑sql +int ThreeMergeProblemList::changeSQL(QString sql) +{ + int rows = -1; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<QString("changeSQL ok..."); + rows = query.numRowsAffected(); + + }else{ + qDebug()<<QString("changeSQL fail...")<<query.lastError().text(); + } + return rows; +} + +int ThreeMergeProblemList::saveDataLine(int row) +{ + if(ui->tableWidget->item(row,0)==nullptr) { + qDebug()<<"褰撳墠琛岄涓虹┖"<<row; + return 0; + } + // 鍙栧嚭绱㈠紩鍙锋潵鍒ゆ柇涓�涓� + QString sql = QString("select id from standing_book_info where id=%1").arg(ui->tableWidget->item(row,0)->text()); + qDebug()<<"id sql:"<<sql; + QVector<QVector<QString>> res; + int rows = selectSQL(sql,res); + if( rows > 0){ + // 瀛樺湪锛屽垯鏇存柊鍐呭鍗冲彲 + 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()) + .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()); + qDebug()<<sql; + rows = changeSQL(sql); + if(rows > 0){ + qDebug()<<"change ok"; + }else{ + qDebug()<<"change fail"; + } + }else{ + // rows涓�-1 璇存槑sql璇彞鏈夐棶棰� + if(rows == -1){ + qDebug()<<"sql error"; + return -1; + } + // 涓嶅瓨鍦紝鍒欓渶瑕佹柊澧炴彃鍏� + 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()) + .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")); + qDebug()<<sql; + rows = changeSQL(sql); + if(rows > 0){ + qDebug()<<"insert ok"; + }else{ + qDebug()<<"insert fail"; + } + + } + return rows; +} + +// path 涓烘枃浠跺畬鏁磋矾寰� +// id涓哄瓙鐩綍鍚嶅瓧 +int ThreeMergeProblemList::saveFile(QString path, QString id,QString &absSavePath) +{ + // 鏍规嵁id鏉ユ寚瀹氬瓙鐩綍杩涜鏂囦欢鐨勬嫹璐濆拰瀛樺偍 + // 榛樿淇濆瓨鍒板綋鍓峞vidence鐩綍涓嬬殑id瀛愮洰褰曚腑 + QFile sourceFile(path); + if(!sourceFile.exists()){ + qDebug()<<"target file not exist:"<<path; + return -1; + } + + QString curPath = QString("./evidence/%1/").arg(id); + QDir dir; + if(!dir.exists(curPath)){ + // 鍒欑洿鎺ュ垱寤� + if(!dir.mkpath(curPath)){ + qDebug()<<"create path fail:"<<curPath; + return 0; // 鍒涘缓澶辫触 + } + } + // 鎴愬姛 + // 寮�濮嬫嫹璐濇枃浠跺埌鎸囧畾浣嶇疆 + QFileInfo finfo(path); + QString distinationPath = curPath+finfo.fileName(); + if(sourceFile.copy(distinationPath)){ + qDebug()<<"copy ok:"<<distinationPath; + absSavePath = distinationPath; + return 1; + }else{ + qDebug()<<"copy fail:"<<distinationPath<<sourceFile.errorString(); + return -2; + } + +} void ThreeMergeProblemList::initUi() { + initProblemRectBookUi(); // 鍒濆鍖栨暣鏀瑰彴璐� initProblemListUi(); // 鍒濆鍖栭棶棰樻竻鍗曠晫闈� initProblemResultUi(); // 鍒濆鍖栭棶棰樺鐞嗙粨鏋滅晫闈� + + ui->tableWidget->setMinimumHeight(500); // 鏁存敼鍙拌处 + ui->tableWidget_2->setMinimumHeight(500); // 鏁存敼缁撴灉 + ui->tableWidget_3->setMinimumHeight(500); // 闂娓呭崟 + + ui->tableWidget->setItemDelegateForColumn(1,m_fdd); + + // 鑷�傚簲鎿嶄綔 + ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + + ui->tableWidget->resizeColumnsToContents(); + ui->tableWidget->resizeRowsToContents(); + + // 鎺у埗琛ㄥご棰滆壊 + // 鑷畾涔夌殑鏂瑰紡鏈夌己闄锋槸瀹规槗璁╁搴旈」閿佹 + //m_custonHV = new CustomHeaderView(Qt::Horizontal,ui->tableWidget); + //ui->tableWidget->setHorizontalHeader(m_custonHV); + + // 缁欐寚瀹氶」鏀硅儗鏅鑹� + //ui->tableWidget->horizontalHeaderItem(1)->setBackground(QBrush(Qt::red)); + //ui->tableWidget->horizontalHeaderItem(3)->setBackground(QBrush(Qt::blue)); + +// QTableWidgetItem *item_1 = new QTableWidgetItem("瀹¤绫诲埆"); +// item_1->setForeground(QBrush(QColor("#FF1493"))); +// ui->tableWidget->setHorizontalHeaderItem(1,item_1); + + for(int i=0;i<14;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#ff00ff"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=14;i<14+10;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#00aaff"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=24;i<24+3;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#00aa00"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=27;i<27+8;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#007a50"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + for(int i=35;i<35+5;++i){ + QString label = ui->tableWidget->horizontalHeaderItem(i)->text(); + QTableWidgetItem *item_1 = new QTableWidgetItem(label); + item_1->setForeground(QBrush(QColor("#500a50"))); + ui->tableWidget->setHorizontalHeaderItem(i,item_1); + } + + // 澶勭悊鍏蜂綋鏌愬垪鐨勬儏鍐� + // 瀹¤绫诲埆 + QStringList nwLabels; + nwLabels << "鍐呭"<<"澶栧"; + m_cbb_nw = new ComboBoxDelegate(nwLabels,this); + ui->tableWidget->setItemDelegateForColumn(1,m_cbb_nw); + + // 瀹¤骞村害 + m_date_year = new DateDelegate(this); + ui->tableWidget->setItemDelegateForColumn(2,m_date_year); + + // 瀹¤鍗曚綅 + QStringList comLabels; + comLabels << "瀹¤灞�"<<"瀹¤鍘�"<<"瀹¤缃�"<<"鍏朵粬"; + m_cbb_company = new ComboBoxDelegate(comLabels,this); + ui->tableWidget->setItemDelegateForColumn(3,m_cbb_company); + + // 瀹¤鏂瑰紡 + QStringList wayLabels; + wayLabels << "灏卞湴瀹¤"<<"鎶ラ�佸璁�"; + m_cbb_way = new ComboBoxDelegate(wayLabels,this); + ui->tableWidget->setItemDelegateForColumn(4,m_cbb_way); + + // 瀹¤椤圭洰 + QStringList proLabels; + proLabels <<" "<< "璐交钀藉疄鍥藉閲嶅ぇ鏀跨瓥鎺柦瀹¤"<<"璐㈡斂璐㈠姟鏀舵敮瀹¤"<<"鍥哄畾璧勪骇鎶曡祫瀹¤"<<"鍐呴儴鎺у埗鍜岄闄╃鐞嗗璁�" + <<"缁忔祹璐d换瀹¤"<<"淇℃伅绯荤粺瀹¤"<<"澧冨瀹¤"<<"鍏朵粬"; + m_cbb_way = new ComboBoxDelegate(proLabels,this); + ui->tableWidget->setItemDelegateForColumn(6,m_cbb_way); + + // 闂鎻忚堪浣愯瘉璧勬枡(涓婁紶鍙栬瘉鍗�) 褰曞叆鎴栬�呬笂浼� + //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); + + // 澶勭悊骞存湀鏃ユ椂闂� + 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); + // 鍔犺浇鍏徃鍚� readCompanyFromSQL(); @@ -135,6 +413,7 @@ ui->tableWidget_2->setItemDelegateForRow(i,new TableItemDelegate()); } + // 鍙抽敭鑿滃崟 m_menuResult = new QMenu(this); m_menuResult->addAction("鍒犻櫎褰撳墠琛�"); @@ -144,6 +423,21 @@ // 鍔犺浇涓嬫媺妗嗙殑鍏徃鍚� //readCompanyFromSQL(); +} + +void ThreeMergeProblemList::initProblemRectBookUi() +{ + // 鍙抽敭鑿滃崟 + m_menuRectBook = new QMenu(this); + 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())); + } void ThreeMergeProblemList::readCompanyFromSQL() @@ -165,6 +459,68 @@ } } + +void ThreeMergeProblemList::loadDataFromSQL(const QString &arg1) +{ + // 闂鍙拌处 + + + // 闂娓呭崟 + // 瑕佹竻闄や笂涓�瀹跺叕鍙哥殑鏁版嵁 + ui->tableWidget_3->setRowCount(4); + ui->tableWidget_3->setRowCount(7); + // 鍔犺浇琛ㄦ牸淇℃伅 + qDebug()<<"current :"<<arg1; + + QString sql = QString("select * from problem_list_info where name='%1'").arg(arg1); + QSqlQuery query; + if(query.exec(sql)){ + qDebug()<<QString("select problem_list_info ok"); + int row=0; + while(query.next()){ // 娣诲姞琛屾暟鎹� + for(int i=0;i<14;++i){ + ui->tableWidget_3->setItem(row+4,i,new QTableWidgetItem(query.value(2+i).toString())); + } + row++; + ui->tableWidget_3->setRowCount(ui->tableWidget_3->rowCount()+1); // 澧炲姞涓�涓柊鐨勮 + } + qDebug()<<"row:"<<row; + + }else{ + qDebug()<<QString("select problem_list_info fail...")<<query.lastError().text(); + + } + + // 闂鏁存敼缁撴灉 + // 瑕佹竻闄や笂涓�瀹跺叕鍙哥殑鏁版嵁 + ui->tableWidget_2->setRowCount(3); + ui->tableWidget_2->setRowCount(6); + // 鍔犺浇琛ㄦ牸淇℃伅 + //qDebug()<<"current :"<<arg1; + + sql = QString("select * from rectify_result_info where name='%1'").arg(arg1); + //QString sql = QString("select * from rectify_result_info where name='%1'").arg(arg1); + //QSqlQuery query; + if(query.exec(sql)){ + qDebug()<<QString("select rectify_result_info ok"); + int row=0; + while(query.next()){ // 娣诲姞琛屾暟鎹� + for(int i=0;i<10;++i){ + ui->tableWidget_2->setItem(row+3,i,new QTableWidgetItem(query.value(2+i).toString())); + } + row++; + ui->tableWidget_2->setRowCount(ui->tableWidget_2->rowCount()+1); // 澧炲姞涓�涓柊鐨勮 + } + qDebug()<<"row:"<<row; + + }else{ + qDebug()<<QString("select rectify_result_info fail...")<<query.lastError().text(); + + } + +} + + void ThreeMergeProblemList::showMenuSlot(QPoint) { @@ -198,6 +554,71 @@ } } +void ThreeMergeProblemList::showMenuSlotRectBook(QPoint) +{ + m_menuRectBook->exec(QCursor::pos()); +} + +void ThreeMergeProblemList::deleteActionRectBook() +{ + int row = ui->tableWidget->currentRow(); + if(row>=0){ + qDebug()<<"delete ok"; + ui->tableWidget->removeRow(row); + }else{ + qDebug()<<"delete fail"; + } +} + +void ThreeMergeProblemList::saveActionRectBook() +{ + // 鍗曡淇濆瓨锛屽厛鍒ゆ柇id鍙锋槸涓嶆槸瀛樺湪锛屽瓨鍦ㄥ垯鏄洿鏂帮紝涓嶅瓨鍦ㄥ垯鏄彃鍏� + + int row = ui->tableWidget->currentRow(); + auto item = ui->tableWidget->currentItem(); + if(row>=0 && item){ + qDebug()<<"save ok"<< row << item->row()<<item->column(); + 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 fid = ui->tableWidget->item(row,0)->text(); + qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<fpath; + + QString absSavePath1,absSavePath2,absSavePath3; + + int sflag1 = saveFile(fpath,fid,absSavePath1); // 淇濆瓨绗竴涓� + if(sflag1==1){ + ui->tableWidget->setItem(row,13,new QTableWidgetItem(absSavePath1)); + } + int sflag2 = saveFile(spath,fid,absSavePath2); // 淇濆瓨绗簩涓� + if(sflag2==1){ + ui->tableWidget->setItem(row,17,new QTableWidgetItem(absSavePath2)); + } + int sflag3 = saveFile(tpath,fid,absSavePath3); // 淇濆瓨绗笁涓� + if(sflag3==1){ + ui->tableWidget->setItem(row,23,new QTableWidgetItem(absSavePath3)); + } + qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3; + if(sflag1 || sflag2 || sflag3){ + saveDataLine(row); + } + + QMessageBox::information(this,"淇濆瓨鎴愬姛","鏁版嵁鍐欏叆鎴愬姛"); + }else{ + QMessageBox::information(this,"淇濆瓨澶辫触","鏁版嵁鍐欏叆澶辫触锛岃妫�鏌ユ槸鍚︽瘡椤归兘鏈夋暟鎹簡"); + } + + + }else{ + qDebug()<<"save fail"; + QMessageBox::information(this,"淇濆瓨澶辫触","娌℃湁鎸囧畾鐩爣琛屾垨鏈夌┖椤�...璇烽�夋嫨鏈夊唴瀹圭殑鐩爣琛屼繚瀛�"); + } +} + + // 澧炲姞鍒扮涓�涓〃鏍肩殑琛� void ThreeMergeProblemList::on_pushButton_addRow_3_clicked() { @@ -213,3 +634,284 @@ { ui->tableWidget_2->insertRow(ui->tableWidget_2->rowCount()); } + +void ThreeMergeProblemList::on_comboBox_company_currentIndexChanged(const QString &arg1) +{ + loadDataFromSQL(arg1); +} + +void ThreeMergeProblemList::on_pushButton_save_2_clicked() +{ + // 闂娓呭崟淇濆瓨 + + QString sql = QString("insert into problem_list_info (name,搴忓彿,鎽樿,妫�鏌ユ椂闂�,妫�鏌ユ柟寮�,绾犳闂,瀹屽杽鍒跺害\ +,瀹屾垚鏃堕棿,涓昏鍘熷洜,瀹屾垚鏃堕檺,涓昏鍘熷洜1,璐d换閮ㄩ棬鎴栬矗浠讳汉,瀹屾垚鏃堕檺1,鏄惁閿�鍙�,閿�鍙锋椂闂�) values "); + QString name = ui->comboBox_company->currentText(); + + for(int i=4;i<ui->tableWidget_3->rowCount();++i){ + QStringList labels; + + for(int j=0;j<ui->tableWidget_3->columnCount();++j){ + QTableWidgetItem *item = ui->tableWidget_3->item(i,j);; + qDebug() <<i<<j <<item; + if(item){ + qDebug()<<"OK"; + labels<<item->data(Qt::EditRole).toString(); + }else{ + labels<<" "; + } + } + qDebug()<<labels; + if(labels.at(0)==" ")continue; + if(name.size()==0){ + QMessageBox::information(this,"鍗曚綅淇℃伅涓虹┖ ","璇疯緭鍏ュ崟浣嶅悕绉�"); + continue; + } + sql += QString("('%1',").arg(name); + for(int k=0;k<labels.size()-1;++k){ + sql += QString("'%1',").arg(labels[k]); + } + sql += QString("'%1'),").arg(labels.back()); + } + sql = sql.left(sql.size()-1); // 鍘绘帀鏈�鍚庝竴涓�楀彿 + qDebug()<<"sql="<<sql; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<QString("insert problem_list_info ok..."); + QMessageBox::information(this,"OK","娣诲姞鎴愬姛"); + }else{ + qDebug()<<QString("insert problem_list_info fail...")<<query.lastError().text(); + QMessageBox::information(this,"娣诲姞澶辫触","鍙兘娣诲姞鐨勬暟鎹笉鍏ㄥ鑷寸殑锛屽緱纭姣忚鐨勯椤规湁鏁版嵁"); + } +} + +void ThreeMergeProblemList::on_pushButton_save_clicked() +{ + // 闂鏁存敼淇濆瓨 + + QString sql = QString("insert into rectify_result_info (name,淇鍒跺害,鏂板鍒跺害,鎸藉洖鎹熷け,鍓旈櫎,瀹″噺,澶勭悊浜�,瀹h疮鍩硅,鍏朵粬,瀹℃牳缁撴灉,娉ㄩ攢) values "); + QString name = ui->comboBox_company->currentText(); + + for(int i=3;i<ui->tableWidget_2->rowCount();++i){ + QStringList labels; + + for(int j=0;j<ui->tableWidget_2->columnCount();++j){ + QTableWidgetItem *item = ui->tableWidget_2->item(i,j);; + qDebug() <<i<<j <<item; + if(item){ + qDebug()<<"OK"; + labels<<item->data(Qt::EditRole).toString(); + }else{ + labels<<" "; + } + } + qDebug()<<labels; + if(labels.at(0)==" ")continue; + if(name.size()==0){ + QMessageBox::information(this,"鍗曚綅淇℃伅涓虹┖ ","璇疯緭鍏ュ崟浣嶅悕绉�"); + continue; + } + sql += QString("('%1',").arg(name); + for(int k=0;k<labels.size()-1;++k){ + sql += QString("'%1',").arg(labels[k]); + } + sql += QString("'%1'),").arg(labels.back()); + } + sql = sql.left(sql.size()-1); // 鍘绘帀鏈�鍚庝竴涓�楀彿 + qDebug()<<"sql="<<sql; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<QString("insert rectify_result_info ok..."); + QMessageBox::information(this,"OK","娣诲姞鎴愬姛"); + }else{ + qDebug()<<QString("insert rectify_result_info fail...")<<query.lastError().text(); + QMessageBox::information(this,"娣诲姞澶辫触","鍙兘娣诲姞鐨勬暟鎹笉鍏ㄥ鑷寸殑锛屽緱纭姣忚鐨勯椤规湁鏁版嵁"); + } +} + +void ThreeMergeProblemList::on_pushButton_search_clicked() +{ + QString curText = ui->comboBox_standing_book_condt->currentText(); + + QString sql = "select * from standing_book_info "; + QString condition = ""; + if(curText == "鍏ㄩ儴" || strcmp(curText.toLocal8Bit().data(),"鍏ㄩ儴")==0){ + qDebug()<<"鍏ㄩ儴"; + }else if(curText == "瀹¤绫诲埆" || strcmp(curText.toLocal8Bit().data(),"瀹¤绫诲埆")==0){ + qDebug()<<"瀹¤绫诲埆"; + 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()); + + }else if(curText == "闂绫诲埆" || strcmp(curText.toLocal8Bit().data(),"闂绫诲埆")==0){ + qDebug()<<"闂绫诲埆"; + 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()); + + }else if(curText == "璐d换涓讳綋鍚嶇О" || strcmp(curText.toLocal8Bit().data(),"璐d换涓讳綋鍚嶇О")==0){ + qDebug()<<"璐d换涓讳綋鍚嶇О"; + condition = QString(" where 璐d换涓讳綋鍚嶇О='%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()); + + }else if(curText == "娑夊強閲戦" || strcmp(curText.toLocal8Bit().data(),"娑夊強閲戦")==0){ + qDebug()<<"娑夊強閲戦"; + 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()); + + } + + + sql += condition; + qDebug()<<sql; + QVector<QVector<QString>> res; + int rows = selectSQL(sql,res); + if(rows > 0){ + ui->tableWidget->setRowCount(rows); + 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])); + } + } + }else{ + QMessageBox::information(this,"鏌ヨ澶辫触","鍙兘鏌ヨ鐨勫唴瀹逛笉姝g‘鎴栬�呮病鏈夎褰曠浉搴旂殑鏁版嵁"); + } + +} + +void ThreeMergeProblemList::on_pushButton_save_3_clicked() +{ + int hasContentRow=0; + for(int i=0;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 fid = ui->tableWidget->item(i,0)->text(); + qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<fpath; + + QString absSavePath1,absSavePath2,absSavePath3; + + int sflag1 = saveFile(fpath,fid,absSavePath1); // 淇濆瓨绗竴涓� + if(sflag1==1){ + ui->tableWidget->setItem(i,13,new QTableWidgetItem(absSavePath1)); + } + int sflag2 = saveFile(spath,fid,absSavePath2); // 淇濆瓨绗簩涓� + if(sflag2==1){ + ui->tableWidget->setItem(i,17,new QTableWidgetItem(absSavePath2)); + } + int sflag3 = saveFile(tpath,fid,absSavePath3); // 淇濆瓨绗笁涓� + if(sflag3==1){ + ui->tableWidget->setItem(i,23,new QTableWidgetItem(absSavePath3)); + } + qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3; + if(sflag1 || sflag2 || sflag3){ + saveDataLine(i); + } + + } + } + QMessageBox::information(this,"淇濆瓨鎻愮ず",QString("鎬昏鏁颁负%1,鎴愬姛%2琛岋紝澶辫触%3琛屻��").arg(ui->tableWidget->rowCount()) + .arg(hasContentRow).arg(ui->tableWidget->rowCount()-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); + } + 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); + 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])); + } + } + }else{ + QMessageBox::information(this,"鏌ヨ澶辫触","鍙兘鏌ヨ鐨勫唴瀹逛笉姝g‘鎴栬�呮病鏈夎褰曠浉搴旂殑鏁版嵁"); + } + +} -- Gitblit v1.8.0