From a3f97ceb36d4cb60bacdfbcb04c364faaca6138a Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期五, 29 十一月 2024 23:29:07 +0800 Subject: [PATCH] 1129 --- internal_system_v1/clientmainwindow.cpp | 336 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 300 insertions(+), 36 deletions(-) diff --git a/internal_system_v1/clientmainwindow.cpp b/internal_system_v1/clientmainwindow.cpp index d8897d8..6ec89c0 100644 --- a/internal_system_v1/clientmainwindow.cpp +++ b/internal_system_v1/clientmainwindow.cpp @@ -5,6 +5,9 @@ #include <QMessageBox> #include <QSqlQuery> #include <QSqlRecord> +#include <QTimer> + +#pragma execution_character_set("utf-8") extern int g_comId; extern QString g_dataRootPath; @@ -24,6 +27,8 @@ ui->tableWidget->setColumnWidth(4,ui->tableWidget->columnWidth(4)+15); initUi(); searchComName(); + + ui->statusBar->showMessage("灏侀潰淇℃伅鍔犺浇涓�..."); } ClientMainWindow::~ClientMainWindow() @@ -48,10 +53,19 @@ } } +void ClientMainWindow::delay(int msec) +{ + QTimer::singleShot(msec, this, [=]{ + qDebug()<<"寤舵椂瀹屾垚鍟�..."; + emit loadExcelSignal(); + }); + qDebug()<<"寤舵椂鏃堕暱..."<<msec; +} + void ClientMainWindow::initUi() { m_searchInfo = new SearchInfo(this); - ui->tabWidget->addTab(m_searchInfo,"淇℃伅鏌ヨ"); + //ui->tabWidget->addTab(m_searchInfo,"淇℃伅鏌ヨ"); // 涓嶆樉绀� m_coverInfo = new CoverInfo(this); m_coverInfo->setParent(ui->tab); @@ -92,7 +106,7 @@ // 闂鏁存敼鍙拌处 m_proRecStandingBook = new ProblemRectStandingBook(this); - ui->tabWidget->addTab(m_proRecStandingBook,"闂鏁存敼鍙拌处"); + //ui->tabWidget->addTab(m_proRecStandingBook,"闂鏁存敼鍙拌处"); // 鍏宠仈鍚勪釜鍔熻兘妲� connect(m_coverInfo,SIGNAL(sendComName(QString)),m_searchInfo,SLOT(addComName(QString))); @@ -110,12 +124,21 @@ m_conInfo2 = new ConverInfo2(this); //ui->tabWidget->addTab(m_conInfo2,"鍩烘湰淇℃伅"); ui->tabWidget->insertTab(0,m_conInfo2,"灏侀潰淇℃伅"); + connect(this,SIGNAL(loadExcelSignal()),m_conInfo2,SLOT(showExcelSlot()),Qt::QueuedConnection); + // 鎺у埗鏄剧ず鐘舵�佹爮鐨勪俊鎭� + connect(m_conInfo2,&ConverInfo2::loadFinished,this,[=]{ + ui->statusBar->showMessage("灏侀潰淇℃伅鍔犺浇瀹屾垚",10*1000); + }); + // 鎺у埗鏄剧ず鍔犺浇杩涘害鐨勪俊鎭� + connect(m_conInfo2,&ConverInfo2::loadProgress,this,[=](int val){ + ui->statusBar->showMessage(QString("灏侀潰淇℃伅鍔犺浇宸插畬鎴� %1 %").arg(val)); + }); m_problemList = new ProblemList(this); - ui->tabWidget->addTab(m_problemList,"闂娓呭崟"); + //ui->tabWidget->addTab(m_problemList,"闂娓呭崟"); m_problemRectifResult = new ProblemRectificationResult(this); - ui->tabWidget->addTab(m_problemRectifResult,"鏁存敼鎴愭灉"); + //ui->tabWidget->addTab(m_problemRectifResult,"鏁存敼鎴愭灉"); m_tableItemDelegate = new TableItemDelegate(); // 浠g悊 绂佺敤缂栬緫 m_editDelegate = new QItemDelegate(this); // 鍙紪杈� @@ -124,9 +147,28 @@ ui->tableWidget->setItemDelegateForColumn(1,m_tableItemDelegate); ui->tableWidget->setItemDelegateForColumn(2,m_tableItemDelegate); + // 3鍜�1 + m_threeMPList = new ThreeMergeProblemList(this); + ui->tabWidget->addTab(m_threeMPList,"涓夊悎涓�闂澶勭悊"); + // 榛樿璋冪敤涓�涓嬩笅鎷夋鐨勮Е鍙戞搷浣� on_comboBox_currentIndexChanged("浼佷笟(涓嶅惈閲戣瀺浼佷笟)"); + // 鏈�鍚庤Е鍙戝姞杞界數瀛愯〃鏍肩殑淇″彿 + //emit loadExcelSignal(); + //qDebug()<<"鍙戝皠鍔犺浇鐢靛瓙琛ㄦ牸鐨勪俊鍙�"; + delay(1000); + + // 鍏宠仈鏇存柊鍏徃鍚嶄笅鎷夋鐨勪俊鎭〃 + connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap<QString,ComInfo>&)),this,SLOT(updateComboList(QMap<QString,ComInfo>&))); + connect(m_conInfo2,SIGNAL(updateComboListSignal(QMap<QString,ComInfo>&)),m_threeMPList,SLOT(updateComboList(QMap<QString,ComInfo>&))); + + + // 鎺у埗琛ㄦ牸鍙樉绀哄洓浠ュ悗鐨勫唴瀹癸紝鍓嶉潰鐨�1-3閮ㄥ垎缁欓殣钘忔帀 + for(int i=1;i<=29;++i){ + ui->tableWidget->hideRow(i); + } + ui->tableWidget->hideRow(40); } void ClientMainWindow::readDataFromExcel(QString path) @@ -373,67 +415,92 @@ } if(i==30){ // 瀹¤椤圭洰 - int val = 0; - for(int j = 31;j<=38;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + // 6鍒楅兘寰楁眰鍜� + for(int k=0;k<6;++k){ + int val = 0; + for(int j = 31;j<=38;++j){ + val += ui->tableWidget->item(j,3+k)->text().toInt(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==41){ // 瀹¤鍙戠幇闂閲戦 - int val = 0; - for(int j = 42;j<=43;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + double val = 0; + for(int j = 42;j<=43;++j){ + val += ui->tableWidget->item(j,3+k)->text().toDouble(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==43){ // 鍚堣鎬ч棶棰橀噾棰� - int val = 0; - for(int j = 44;j<=51;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + double val = 0; + for(int j = 44;j<=51;++j){ + val += ui->tableWidget->item(j,3+k)->text().toDouble(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==52){ // 瀹¤鍙戠幇闂涓暟 - int val = 0; - for(int j = 53;j<=54;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + int val = 0; + for(int j = 53;j<=54;++j){ + val += ui->tableWidget->item(j,3+k)->text().toInt(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==54){ // 闈為噾棰濈被闂涓暟 - int val = 0; - for(int j = 55;j<=58;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + int val = 0; + for(int j = 55;j<=58;++j){ + val += ui->tableWidget->item(j,3+k)->text().toInt(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==59){ // 瀹¤鍙戠幇闂鏁存敼(閲戦绫�) - int val = 0; - for(int j = 60;j<=65;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + double val = 0; + for(int j = 60;j<=65;++j){ + val += ui->tableWidget->item(j,3+k)->text().toDouble(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==66){ // 瀹¤鍙戠幇闂鏁存敼(闈為噾棰濈被) - int val = 0; - for(int j = 67;j<=70;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + int val = 0; + for(int j = 67;j<=70;++j){ + val += ui->tableWidget->item(j,3+k)->text().toInt(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } if(i==71){ // 澶勫垎 - int val = 0; - for(int j = 72;j<=74;++j){ - val += ui->tableWidget->item(j,3)->text().toInt(); + for(int k=0;k<6;++k){ + int val = 0; + for(int j = 72;j<=74;++j){ + val += ui->tableWidget->item(j,3+k)->text().toInt(); + } + ui->tableWidget->setItem(i,3+k,new QTableWidgetItem(QString::number(val))); } - ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val))); + } } } @@ -669,6 +736,20 @@ ui->tableWidget->setItemDelegateForColumn(8,m_tableItemDelegate); } + // 淇敼鑳屾櫙鑹� + QColor selectColor(142,213,213); + QColor unSelectColor(255,255,255); + QMap<QString,int> index={{"浼佷笟(涓嶅惈閲戣瀺浼佷笟)",4},{"閲戣瀺浼佷笟",5},{"鏈哄叧",6},{"浜嬩笟鍗曚綅",7},{"鍏朵粬",8}}; + for(int i=4;i<9;++i){ + for(int j=0;j<ui->tableWidget->rowCount();++j){ + if(i==index[arg1]){ + ui->tableWidget->item(j,i)->setBackgroundColor(selectColor); + }else{ + ui->tableWidget->item(j,i)->setBackgroundColor(unSelectColor); + } + } + } + } void ClientMainWindow::on_pushButton_reset_clicked() @@ -705,3 +786,186 @@ } + +void ClientMainWindow::updateComboList(QMap<QString, ComInfo> &nameAndComInfos) +{ + // 鍏堟竻闄わ紝鍐嶉噸鏂版坊鍔� + ui->comboBox_company->clear(); + + for(auto kv:nameAndComInfos.keys()){ + ui->comboBox_company->addItem(kv); + } +} + +void ClientMainWindow::on_pushButton_save_export_clicked() +{ + // 鑾峰彇褰撳墠鍏徃鍚嶅瓧銆佸強琛ㄦ牸鏁版嵁 + QString name = ui->comboBox_company->currentText(); + NeiShenZongHeInfo nszh; + nszh.name = name; // 缁欏叕鍙歌祴鍊� + qDebug()<<"淇濆瓨瀵煎嚭:"<<name; + + // 鍥� 椤圭洰瀹¤ 鍗曚綅 涓� + for(int i=0;i<5;++i){ + nszh.code_030300[i] = ui->tableWidget->item(30,4+i)->text().toInt(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030300"; + for(int i=0;i<5;++i){ + nszh.code_030301[i] = ui->tableWidget->item(31,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030302[i] = ui->tableWidget->item(32,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030303[i] = ui->tableWidget->item(33,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030304[i] = ui->tableWidget->item(34,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030305[i] = ui->tableWidget->item(35,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030306[i] = ui->tableWidget->item(36,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030307[i] = ui->tableWidget->item(37,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030308[i] = ui->tableWidget->item(38,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030310[i] = ui->tableWidget->item(39,4+i)->text().toInt(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030310"; + + // 鍏�佸璁″彂鐜伴棶棰橀噾棰� 鍗曚綅 鍏� + for(int i=0;i<5;++i){ + nszh.code_030500[i] = ui->tableWidget->item(41,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030510[i] = ui->tableWidget->item(42,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030520[i] = ui->tableWidget->item(43,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030521[i] = ui->tableWidget->item(44,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030522[i] = ui->tableWidget->item(45,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030523[i] = ui->tableWidget->item(46,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030524[i] = ui->tableWidget->item(47,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030525[i] = ui->tableWidget->item(48,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030526[i] = ui->tableWidget->item(49,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030527[i] = ui->tableWidget->item(50,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030528[i] = ui->tableWidget->item(51,4+i)->text().toDouble(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030528"; + + // 涓冦�佸璁″彂鐜伴棶棰樹釜鏁� + for(int i=0;i<5;++i){ + nszh.code_030600[i] = ui->tableWidget->item(52,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030610[i] = ui->tableWidget->item(53,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030620[i] = ui->tableWidget->item(54,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030621[i] = ui->tableWidget->item(55,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030622[i] = ui->tableWidget->item(56,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030623[i] = ui->tableWidget->item(57,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030624[i] = ui->tableWidget->item(58,4+i)->text().toInt(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030624"; + + // 鍏�佸璁″彂鐜伴棶棰樻暣鏀癸紙閲戦绫伙級 鍗曚綅 鍏� + for(int i=0;i<5;++i){ + nszh.code_030700[i] = ui->tableWidget->item(59,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030701[i] = ui->tableWidget->item(60,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030702[i] = ui->tableWidget->item(61,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030703[i] = ui->tableWidget->item(62,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030704[i] = ui->tableWidget->item(63,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030705[i] = ui->tableWidget->item(64,4+i)->text().toDouble(); + } + for(int i=0;i<5;++i){ + nszh.code_030706[i] = ui->tableWidget->item(65,4+i)->text().toDouble(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030706"; + + // 涔濄�佸璁″彂鐜伴棶棰樻暣鏀癸紙闈為噾棰濈被锛� 鍗曚綅 涓� + for(int i=0;i<5;++i){ + nszh.code_030800[i] = ui->tableWidget->item(66,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030801[i] = ui->tableWidget->item(67,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030802[i] = ui->tableWidget->item(68,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030803[i] = ui->tableWidget->item(69,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030804[i] = ui->tableWidget->item(70,4+i)->text().toInt(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030804"; + + // 鍗併�佹牴鎹璁″缓璁粰浜堝厷绾�佹斂鍔″拰鍐呴儴绾緥澶勫垎 鍗曚綅 浜� + for(int i=0;i<5;++i){ + nszh.code_030900[i] = ui->tableWidget->item(71,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030901[i] = ui->tableWidget->item(72,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030902[i] = ui->tableWidget->item(73,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_030903[i] = ui->tableWidget->item(74,4+i)->text().toInt(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_030903"; + + // 鍗佷竴銆佸悜鍙告硶鏈哄叧绉婚�佹垨鎶ュ憡妗堜欢绾跨储 + for(int i=0;i<5;++i){ + nszh.code_031000[i] = ui->tableWidget->item(75,4+i)->text().toInt(); + } + for(int i=0;i<5;++i){ + nszh.code_031001[i] = ui->tableWidget->item(76,4+i)->text().toInt(); + } + qDebug()<<"淇濆瓨瀵煎嚭:code_031001"; + + // 瀵煎嚭淇濆瓨 + ExportToFile etf(this); + etf.saveToExcelFromNeiShenZonghe(name,nszh); +} -- Gitblit v1.8.0