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/converinfo2.cpp | 1207 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 1,155 insertions(+), 52 deletions(-) diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp index 2725b2e..b9e8c48 100644 --- a/internal_system_v1/converinfo2.cpp +++ b/internal_system_v1/converinfo2.cpp @@ -15,8 +15,12 @@ ui->setupUi(this); m_menu = nullptr; //initUi(); - readInfo(); // 鍔犺浇琛ㄦ牸 + //readInfo(); // 鍔犺浇琛ㄦ牸 addMenu(); // 澧炲姞鑿滃崟 + disableWheelEvent(); // 绂佺敤涓嬫媺妗嗙殑婊氳疆浜嬩欢 + + // 鑷�傚簲澶勭悊 + ui->treeWidget->header()->setSectionResizeMode(QHeaderView::ResizeToContents); } ConverInfo2::~ConverInfo2() @@ -46,7 +50,7 @@ it4->setCheckState(0,Qt::Checked); // 澶嶉�夋鐘舵�佸鐞� - connect(ui->treeWidget,QOverload<QTreeWidgetItem*,int>::of(QTreeWidget::itemClicked),this,[=](QTreeWidgetItem* it,int index){ + connect(ui->treeWidget,QOverload<QTreeWidgetItem*,int>::of(&QTreeWidget::itemClicked),this,[=](QTreeWidgetItem* it,int index){ qDebug()<<it<<index; if(it == top1){ qDebug()<<"鐐瑰嚮浜嗙爜铓侀泦鍥�"; @@ -60,12 +64,14 @@ m_menu = new QMenu(this); m_menu->addAction("鍒犻櫎"); m_menu->addAction("澧炲姞"); + m_menu->addAction("淇濆瓨瀵煎嚭"); ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->treeWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenu(QPoint))); connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo())); connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo())); + connect(m_menu->actions().at(2),SIGNAL(triggered(bool)),this,SLOT(saveInfo())); // 鍗曚綅鍐呭淇敼 // 鍙宠竟鍙紪杈戝唴瀹� @@ -87,19 +93,149 @@ { if(m_curItem==nullptr)return; qDebug()<<"娣诲姞鍏徃淇℃伅,鍦ㄨ妭鐐癸細"<<m_curItem->text(0); + on_pushButton_laodFile_clicked(); } void ConverInfo2::deleteInfo() { if(m_curItem==nullptr)return; qDebug()<<"鍒犻櫎鍏徃淇℃伅,鑺傜偣锛�"<<m_curItem->text(0); + //auto resList = m_curItem->takeChildren(); + + //qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size(); + + // 鍒犻櫎鏁版嵁搴撹〃閲岄潰瀵瑰簲鐨勫叕鍙镐俊鎭紝骞朵笖鍐嶆鍒锋柊涓嬫媺妗嗗拰鏍戠姸鍥� + + // 鏁版嵁搴撹〃鏈夛細灏侀潰淇℃伅琛� all_company_info 缁煎悎淇℃伅琛� comprehensive_entry_info 涓夊悎涓�鐨勮〃 standing_book_info + QString name = m_curItem->text(0); + QStringList sp = name.split("(鏈骇)"); + QStringList sp2 = name.split("涓嬬骇鏁�"); + qDebug()<<"鎷嗗紑:"<<sp<<"姹囨��:"<<sp2; + if(sp.size() == 2){ + name = sp.at(0); + } + if(sp2.size() == 2){ // 寰楅�掑綊鍒犻櫎搴曚笅鐨勬墍鏈夊崟浣� + name = sp2.at(0); + } + // 鍒犻櫎鎵�鏈夎〃涓繖涓悕瀛� + deleteAllByName(name); + + // 鍒犻櫎瀹屼簡锛岃繕寰楀幓鍒锋柊涓嬫媺妗� + for(auto it=m_nameAndComInfos.begin();it!=m_nameAndComInfos.end();){ + if(it.key() == name){ + m_nameAndComInfos.erase(it++); + break; + }else{ + it++; + } + } + + + // 鍘诲埛鏂版爲褰㈠浘 + for(auto it=m_treeNodes.begin();it!=m_treeNodes.end();){ + // 濡傛灉绛変簬閿紝閭d箞瑕佸垹闄ゅ搴旂殑鎵�鏈夌殑鍊� + if(it.key() == name){ + // 鎶婃墍鏈夌殑鍊煎搴旂殑鍗曚綅淇℃伅閮藉垹鎺� + for(auto str:it.value()){ + auto p = m_nameAndComInfos.find(str); + if(p != m_nameAndComInfos.end()){ + deleteAllByName(str); // 杩樺緱鍐嶅垹鎺夋暟鎹簱涓殑鍐呭 + m_nameAndComInfos.erase(p); + } + } + m_treeNodes.erase(it++); + break; + } + // 鍙槸鏌愪釜鍊硷紝鍙垹闄や竴涓嵆鍙�,閬嶅巻鍊奸噷闈㈢殑杩唬鍣紝鎵惧埌鍒犻櫎鍗冲彲 + else{ + auto p = it.value().find(name); + if(p != it.value().end()){ + it.value().erase(p); + } + it++; + } + } + + emit updateComboListSignal(m_nameAndComInfos); + createTreeNode(); + + +} + +void ConverInfo2::saveInfo() +{ + if(m_curItem==nullptr)return; + qDebug()<<"淇濆瓨鍏徃淇℃伅,鑺傜偣锛�"<<m_curItem->text(0); + QString name = m_curItem->text(0); + if(name.contains("(鏈骇)")){ + name = name.split("(鏈骇)").at(0); + }else if(name.contains("(姹囨��)")){ + name = name.split("(姹囨��)").at(0); + name = name + "(姹囨��)"; + } + qDebug()<<"淇濆瓨鍏徃鍚�:"<<name; + ComInfo cif = m_nameAndComInfos[name]; + ExportToFile etf(this); + etf.saveToExcelFromComInfo(cif); + } void ConverInfo2::on_treeWidget_doubleClicked(const QModelIndex &index) { QString name = index.model()->data(index).toString(); qDebug()<<"鍙屽嚮"<<index<<name; - ComInfo curCominfo = m_nameAndComInfos[name]; + + ComInfo curCominfo; // 涓嶈鐩存帴缁欏�硷紝鍙兘浼氬鑷村娣诲姞鏂扮殑鍚嶅瓧杩涙潵 + if(name.contains("(鏈骇)")){ + QStringList sps = name.split("(鏈骇)"); + name = sps.at(0); + curCominfo = m_nameAndComInfos[name]; + }else if(name.contains("(姹囨��)")){ + name = name.split("(姹囨��)").at(0); + qDebug()<<"姹囨�诲鐞�:"; + // 鍋氫竴涓眹鎬荤殑澶勭悊锛屾妸鎵�鏈変笅绾х殑閮界疮鍔犺捣鏉� + ComInfo allCominfo = m_nameAndComInfos[name]; + for(QString cur:m_treeNodes[name]){ + if(name != cur){ + ComInfo &tmp = m_nameAndComInfos[cur]; + allCominfo.organazationNum += tmp.organazationNum; + allCominfo.realNum += tmp.realNum; + allCominfo.professionalNum += tmp.professionalNum; + allCominfo.CIANum += tmp.CIANum; + allCominfo.masterNum += tmp.masterNum; + allCominfo.undergraduatesNum += tmp.undergraduatesNum; + allCominfo.juniorNum += tmp.juniorNum; + allCominfo.seniorNum += tmp.seniorNum; + allCominfo.intermediateNum += tmp.intermediateNum; + allCominfo.primaryNum += tmp.primaryNum; + allCominfo.noTitleNum += tmp.noTitleNum; + allCominfo.upFiftyOldNum += tmp.upFiftyOldNum; + allCominfo.upThirtyOldNum += tmp.upThirtyOldNum; + allCominfo.downThirtyOldNum += tmp.downThirtyOldNum; + allCominfo.auditNum += tmp.auditNum; + allCominfo.accountingNum += tmp.accountingNum; + allCominfo.economyNum += tmp.economyNum; + allCominfo.lawNum += tmp.lawNum; + allCominfo.managerNum += tmp.managerNum; + allCominfo.itNum += tmp.itNum; + allCominfo.engineeringNum += tmp.engineeringNum; + allCominfo.otherNum += tmp.otherNum; + } + + } + curCominfo = allCominfo; + // 澶勭悊瀹屼簡涔嬪悗锛岃繕闇�瑕佸崟鐙捣涓�涓眹鎬荤殑鍚嶅瓧 + name = name + "(姹囨��)"; + strcpy(curCominfo.name,name.toLocal8Bit().data()); + m_nameAndComInfos[name] = curCominfo; + + // 鍒锋柊缁勫悎涓嬫媺妗嗙殑鍒楄〃 + emit updateComboListSignal(m_nameAndComInfos); + + }else{ + curCominfo = m_nameAndComInfos[name]; + } + //ComInfo curCominfo = m_nameAndComInfos[name]; // 涓�銆佸崟浣嶅熀鏈儏鍐� ui->lineEdit_creditCode->setText(curCominfo.creditCode); ui->lineEdit_name->setText(QString::fromLocal8Bit( curCominfo.name)); @@ -200,11 +336,15 @@ it.next(); list.append(it.fileInfo().absoluteFilePath()); } + int allSize = list.size(); + float cntIdx=1.0; foreach(QString str, list) { qDebug() << str; int index = str.indexOf("鍐呭缁�01琛�"); qDebug()<<"index:"<<index; + + if(index > 0){ QAxObject excel("ket.Application"); if(!excel.setControl("ket" @@ -241,16 +381,16 @@ QVariant val = usedRange->dynamicCall("Value"); // 鎷垮埌浜岀淮琛ㄦ牸 QVariantList valRows = val.toList(); // 閬嶅巻姣忎竴椤� - for(int i=0;i<rows;++i){ - QVariantList valrow = valRows[i].toList(); - for(int j=0;j<columns;++j){ - QVariant valData = valrow[j]; - if(valData.isValid()){ - qDebug()<<"val:"<< i<< j << valData; - } +// for(int i=0;i<rows;++i){ +// QVariantList valrow = valRows[i].toList(); +// for(int j=0;j<columns;++j){ +// QVariant valData = valrow[j]; +// if(valData.isValid()){ +// qDebug()<<"val:"<< i<< j << valData; +// } - } - } +// } +// } // 瀹炰緥鍖栫粨鏋勪綋锛岀劧鍚庢尐涓祴鍊� ComInfo curComInfo; @@ -265,8 +405,8 @@ QVariant name = valRows[9].toList().at(8); if(name.isValid()){ ui->label_name->setText(name.toString()); - QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget); - top1->setText(0,name.toString()); + //QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget); + //top1->setText(0,name.toString()); strcpy(curComInfo.name,name.toString().toLocal8Bit().data()); }else{ @@ -517,136 +657,137 @@ // 鍥涖�佸唴瀹′汉鍛橀厤澶囧熀鏈儏鍐� // 缂栧埗鏁� - QVariant organazationNum = valRows[56].toList().at(4); + //QVariant organazationNum = valRows[56].toList().at(4); + QVariant organazationNum = valRows[60].toList().at(4); if(organazationNum.isValid()){ curComInfo.organazationNum = organazationNum.toInt(); qDebug()<<"organazationNum"<<organazationNum; } // 瀹炴湁浜哄憳鏁� - QVariant realNum = valRows[56].toList().at(4); + QVariant realNum = valRows[60].toList().at(6); if(realNum.isValid()){ curComInfo.realNum = realNum.toInt(); qDebug()<<"realNum"<<realNum; } // 涓撹亴浜哄憳鏁� - QVariant professionalNum = valRows[56].toList().at(4); + QVariant professionalNum = valRows[60].toList().at(8); if(professionalNum.isValid()){ curComInfo.professionalNum = professionalNum.toInt(); qDebug()<<"professionalNum"<<professionalNum; } // 鎷ユ湁CIA浜哄憳鏁� - QVariant CIANum = valRows[56].toList().at(4); + QVariant CIANum = valRows[61].toList().at(6); if(CIANum.isValid()){ curComInfo.CIANum = CIANum.toInt(); qDebug()<<"CIANum"<<CIANum; } // 瀛﹀巻锛氱澹強浠ヤ笂 浜哄憳鏁� - QVariant masterNum = valRows[56].toList().at(4); + QVariant masterNum = valRows[62].toList().at(6); if(masterNum.isValid()){ curComInfo.masterNum = masterNum.toInt(); qDebug()<<"masterNum"<<masterNum; } // 澶у鏈 - QVariant undergraduatesNum = valRows[56].toList().at(4); + QVariant undergraduatesNum = valRows[63].toList().at(6); if(undergraduatesNum.isValid()){ curComInfo.undergraduatesNum = undergraduatesNum.toInt(); qDebug()<<"undergraduatesNum"<<undergraduatesNum; } // 涓撶鍙婁互涓� - QVariant juniorNum = valRows[56].toList().at(4); + QVariant juniorNum = valRows[64].toList().at(6); if(juniorNum.isValid()){ curComInfo.juniorNum = juniorNum.toInt(); qDebug()<<"juniorNum"<<juniorNum; } // 鑱岀О 楂樼骇鑱岀О - QVariant seniorNum = valRows[56].toList().at(4); + QVariant seniorNum = valRows[65].toList().at(6); if(seniorNum.isValid()){ curComInfo.seniorNum = seniorNum.toInt(); qDebug()<<"seniorNum"<<seniorNum; } // 涓骇鑱岀О - QVariant intermediateNum = valRows[56].toList().at(4); + QVariant intermediateNum = valRows[66].toList().at(6); if(intermediateNum.isValid()){ curComInfo.intermediateNum = intermediateNum.toInt(); qDebug()<<"intermediateNum"<<intermediateNum; } // 鍒濈骇鑱岀О - QVariant primaryNum = valRows[56].toList().at(4); + QVariant primaryNum = valRows[67].toList().at(6); if(primaryNum.isValid()){ curComInfo.primaryNum = primaryNum.toInt(); qDebug()<<"primaryNum"<<primaryNum; } // 鏃犺亴绉� - QVariant noTitleNum = valRows[56].toList().at(4); + QVariant noTitleNum = valRows[68].toList().at(6); if(noTitleNum.isValid()){ curComInfo.noTitleNum = noTitleNum.toInt(); qDebug()<<"noTitleNum"<<noTitleNum; } // 骞撮緞缁撴瀯 50宀佷互涓� - QVariant upFiftyOldNum = valRows[56].toList().at(4); + QVariant upFiftyOldNum = valRows[69].toList().at(6); if(upFiftyOldNum.isValid()){ curComInfo.upFiftyOldNum = upFiftyOldNum.toInt(); qDebug()<<"upFiftyOldNum"<<upFiftyOldNum; } // 30-50宀� - QVariant upThirtyOldNum = valRows[56].toList().at(4); + QVariant upThirtyOldNum = valRows[70].toList().at(6); if(upThirtyOldNum.isValid()){ curComInfo.upThirtyOldNum = upThirtyOldNum.toInt(); qDebug()<<"upThirtyOldNum"<<upThirtyOldNum; } // 30宀佷互涓� - QVariant downThirtyOldNum = valRows[56].toList().at(4); + QVariant downThirtyOldNum = valRows[71].toList().at(6); if(downThirtyOldNum.isValid()){ curComInfo.downThirtyOldNum = downThirtyOldNum.toInt(); qDebug()<<"downThirtyOldNum"<<downThirtyOldNum; } // 鐭ヨ瘑缁撴瀯 瀹¤ - QVariant auditNum = valRows[56].toList().at(4); + QVariant auditNum = valRows[72].toList().at(6); if(auditNum.isValid()){ curComInfo.auditNum = auditNum.toInt(); qDebug()<<"auditNum"<<auditNum; } // 浼氳 - QVariant accountingNum = valRows[56].toList().at(4); + QVariant accountingNum = valRows[73].toList().at(6); if(accountingNum.isValid()){ curComInfo.accountingNum = accountingNum.toInt(); qDebug()<<"accountingNum"<<accountingNum; } // 缁忔祹 - QVariant economyNum = valRows[56].toList().at(4); + QVariant economyNum = valRows[74].toList().at(6); if(economyNum.isValid()){ curComInfo.economyNum = economyNum.toInt(); qDebug()<<"economyNum"<<economyNum; } // 娉曞緥 - QVariant lawNum = valRows[56].toList().at(4); + QVariant lawNum = valRows[75].toList().at(6); if(lawNum.isValid()){ curComInfo.lawNum = lawNum.toInt(); qDebug()<<"lawNum"<<lawNum; } // 绠$悊 - QVariant managerNum = valRows[56].toList().at(4); + QVariant managerNum = valRows[76].toList().at(6); if(managerNum.isValid()){ curComInfo.managerNum = managerNum.toInt(); qDebug()<<"managerNum"<<managerNum; } // 淇℃伅鎶�鏈� - QVariant itNum = valRows[56].toList().at(4); + QVariant itNum = valRows[77].toList().at(6); if(itNum.isValid()){ curComInfo.itNum = itNum.toInt(); qDebug()<<"itNum"<<itNum; } // 宸ョ▼ - QVariant engineeringNum = valRows[56].toList().at(4); + QVariant engineeringNum = valRows[78].toList().at(6); if(engineeringNum.isValid()){ curComInfo.engineeringNum = engineeringNum.toInt(); qDebug()<<"engineeringNum"<<engineeringNum; } // 鍏朵粬 - QVariant otherNum = valRows[56].toList().at(4); + QVariant otherNum = valRows[79].toList().at(6); if(otherNum.isValid()){ curComInfo.otherNum = otherNum.toInt(); qDebug()<<"otherNum"<<otherNum; @@ -683,14 +824,50 @@ // 鏈�鍚庡瓨鍒癿ap涓� m_nameAndComInfos[name.toString()]=curComInfo; + // 鏇存柊鍒版暟鎹簱涓� + saveToSQL(curComInfo); + qDebug()<<"load Excel save to SQL ok:"<<name; + + + // 娣诲姞鏍戝舰鍒楄〃鑺傜偣 + //addTreeWidgetNode(upName,name); + + if(upName.isValid()){ + if(name.isValid()){ + //m_treeNodes[upName.toString()].push_back(name.toString()); + m_treeNodes[upName.toString()].insert(name.toString()); + } + }else{ + if(name.isValid()){ + //m_treeNodes[name.toString()].push_back(name.toString()); + m_treeNodes[name.toString()].insert(name.toString()); + } + } + } wbs->dynamicCall("Close()"); excel.dynamicCall("Quit(void)"); + + qDebug()<<"鍗曚綅淇℃伅鏁伴噺锛�"<<m_nameAndComInfos.size(); } + + // 鎺у埗鏄剧ず杩涘害鐩稿叧 + emit loadProgress((cntIdx/allSize)*100); + cntIdx++; } + // 鍐嶆鏌ヨ鏁版嵁搴撲腑鎵�鏈夌殑淇℃伅 + readAllSQLData(); + + createTreeNode(); // 鏋勫缓鏍戝舰鑺傜偣 + + // 鍙戝皠 鍔犺浇瀹屾垚鐨勪俊鍙� + emit loadFinished(); + + // 鏇存柊鍏朵粬鐣岄潰鐨勫叕鍙镐俊鎭笅鎷夋 + emit updateComboListSignal(m_nameAndComInfos); // QAxObject excel("./debug/Data/闄勪欢2_鍐呭缁�01琛╛鍗曚綅鍙婂唴閮ㄥ璁℃満鏋勫熀鏈儏鍐佃〃-1.301鐗�(1).xls"); // excel.setProperty("Visible",true); @@ -708,12 +885,14 @@ m_menu->addAction("鍒犻櫎"); m_menu->addAction("澧炲姞"); + m_menu->addAction("淇濆瓨瀵煎嚭"); ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->treeWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenu(QPoint))); connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo())); connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo())); + connect(m_menu->actions().at(2),SIGNAL(triggered(bool)),this,SLOT(saveInfo())); } void ConverInfo2::on_pushButton_commit_clicked() @@ -874,9 +1053,718 @@ // 鏇存柊鍒版暟鎹簱 + saveToSQL(curComInfo); + +// // 鍏堝垽鏂槸涓嶆槸宸茬粡瀛樺湪鍏徃鍚嶄簡锛岃嫢宸插瓨鍦紝鍒欐洿鏂帮紝涓嶅瓨鍦ㄥ垯鎻掑叆 +// QString sql = QString("select id,name from all_company_info where name='%1'").arg(name); +// qDebug()<<"sql:"<<sql; +// QSqlQuery query; +// int rowCnt = 0; +// if(query.exec(sql)){ +// qDebug()<<"size:"<<query.size(); + +// while (query.next()) { +// rowCnt++; +// } +// } +// if(rowCnt == 0){ +// // 涓嶅瓨鍦紝鍒欐彃鍏ヤ竴鏉℃柊鏁版嵁 +// qDebug()<<"涓嶅瓨鍦�:"<<name; +// sql = QString("insert into all_company_info (name,\ +//code,\ +//鏈烘瀯绫诲瀷,\ +//涓昏涓氬姟娲诲姩,\ +//琛屼笟浠g爜,\ +//鍗曚綅娉ㄥ唽鍦板強鍖哄煙,\ +//鍖哄煙浠g爜,\ +//鍩庝埂浠g爜,\ +//鍗曚綅瑙勬ā,\ +//浠庝笟鏈熸湯浜烘暟,\ +//娉曞畾浠h〃浜�,\ +//鎵ц浼氳鏍囧噯绫诲埆,\ +//闀块�斿尯鍙�,\ +//鍥哄畾鐢佃瘽,\ +//閭斂缂栫爜,\ +//鐢靛瓙閭,\ +//缃戝潃,\ +//鏄惁鏈変笂涓�绾ф硶浜�,\ +//涓婁竴绾х粺淇′唬鐮�,\ +//鍘熺粍缁囦唬鐮�,\ +//涓婄骇鍗曚綅鍚嶇О,\ +//鏄惁璁剧疆鎬诲璁″笀,\ +//鎬诲璁″笀鑱屼綅灞傜骇,\ +//鎬诲浠昏亴鏂瑰紡,\ +//鏄惁璁剧疆鍐呭鏈烘瀯,\ +//鍐呭鏈烘瀯鍚嶇О,\ +//棰嗗鏈烘瀯,\ +//鏄惁鐙珛璁剧疆鍐呭鏈烘瀯,\ +//璐㈠姟閮ㄩ棬,\ +//娉曞姟閮ㄩ棬,\ +//鍐呴儴鎺у埗閮ㄩ棬,\ +//绾閮ㄩ棬,\ +//鍏朵粬閮ㄩ棬,\ +//鍐呭灞傜骇,\ +//缂栧埗鏁伴噺,\ +//瀹炴湁浜烘暟閲�,\ +//涓撹亴浜哄憳鏁伴噺,\ +//鎷ユ湁CIA浜烘暟,\ +//纭曞+瀛﹀巻浠ヤ笂浜烘暟,\ +//鏈浜烘暟,\ +//涓撶鍙婁互涓嬩汉鏁�,\ +//楂樼骇鑱岀О浜烘暟,\ +//涓骇鑱岀О浜烘暟,\ +//鍒濈骇鑱岀О浜烘暟,\ +//鏃犺亴绉颁汉鏁�,\ +//浜斿崄宀佷互涓婁汉鏁�,\ +//涓夊崄鑷充簲鍗佸瞾宀佷汉鏁�,\ +//涓夊崄宀佷互涓嬩汉鏁�,\ +//瀹¤鏁伴噺,\ +//浼氳鏁伴噺,\ +//缁忔祹鏁伴噺,\ +//娉曞緥鏁伴噺,\ +//绠$悊鏁伴噺,\ +//淇℃伅鎶�鏈暟閲�,\ +//宸ョ▼鏁伴噺,\ +//鍏朵粬鏁伴噺,\ +//缁熻璐熻矗浜�,\ +//濉〃浜�,\ +//鑱旂郴鐢佃瘽,\ +//濉姤鏃ユ湡) 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,%47,%48,%49,%50,\ +//%51,%52,%53,%54,%55,%56,'%57','%58','%59','%60'\ +//)").arg(name).arg(creditCode).arg(comType).arg(business).arg(businessCode).arg(addr).arg(areaCode).arg(townCode).arg(scale).arg(people). +// arg(representative).arg(standardType).arg(trunkCode).arg(fixedTel).arg(postCode).arg(email).arg(webSite).arg(hasUpLegal).arg(upCreditCode).arg(oldCreditCode). +// arg(upName).arg(hasChiefDesigner).arg(ChiefDesignerLevel).arg(employmentMode).arg(hasSetIntervalAudit).arg(internalName).arg(leadingOrganization).arg(hasSetSeparateIA).arg(financeDepartment).arg(legalDepartment). +// arg(internalConDepart).arg(disceplineInDepart).arg(otherDepart).arg(intavalAuditLeval).arg(organazationNum).arg(realNum).arg(professionalNum).arg(CIANum).arg(masterNum).arg(undergraduatesNum). +// arg(juniorNum).arg(seniorNum).arg(intermediateNum).arg(primaryNum).arg(noTitleNum).arg(upFiftyOldNum).arg(upThirtyOldNum).arg(downThirtyOldNum).arg(auditNum).arg(accountingNum). +// arg(economyNum).arg(lawNum).arg(managerNum).arg(itNum).arg(engineeringNum).arg(otherNum).arg(statisticalConOfficer).arg(personFilling).arg(officerTel).arg(fillingDateTime); + + +// qDebug()<<"sql insert:"<<sql; +// if(query.exec(sql)){ +// qDebug()<<"insert ok"; +// }else{ +// qDebug()<<"insert fail:"<<query.lastError().text(); +// } + +// }else{ +// // 鏇存柊 +// qDebug()<<"瀛樺湪:"<<name; +// sql = QString("update all_company_info set name='%1',code='%2',鏈烘瀯绫诲瀷='%3',涓昏涓氬姟娲诲姩='%4',琛屼笟浠g爜='%5',鍗曚綅娉ㄥ唽鍦板強鍖哄煙='%6',鍖哄煙浠g爜='%7',鍩庝埂浠g爜='%8',鍗曚綅瑙勬ā='%9',浠庝笟鏈熸湯浜烘暟=%10\ +//,娉曞畾浠h〃浜�='%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,鎷ユ湁CIA浜烘暟=%38,纭曞+瀛﹀巻浠ヤ笂浜烘暟=%39,鏈浜烘暟=%40\ +//,涓撶鍙婁互涓嬩汉鏁�=%41,楂樼骇鑱岀О浜烘暟=%42,涓骇鑱岀О浜烘暟=%43,鍒濈骇鑱岀О浜烘暟=%44,鏃犺亴绉颁汉鏁�=%45,浜斿崄宀佷互涓婁汉鏁�=%46,涓夊崄鑷充簲鍗佸瞾宀佷汉鏁�=%47,涓夊崄宀佷互涓嬩汉鏁�=%48,瀹¤鏁伴噺=%49,浼氳鏁伴噺=%50\ +//,缁忔祹鏁伴噺=%51,娉曞緥鏁伴噺=%52,绠$悊鏁伴噺=%53,淇℃伅鎶�鏈暟閲�=%54,宸ョ▼鏁伴噺=%55,鍏朵粬鏁伴噺=%56,缁熻璐熻矗浜�='%57',濉〃浜�='%58',鑱旂郴鐢佃瘽='%59',濉姤鏃ユ湡='%60'"). +// arg(name).arg(creditCode).arg(comType).arg(business).arg(businessCode).arg(addr).arg(areaCode).arg(townCode).arg(scale).arg(people). +// arg(representative).arg(standardType).arg(trunkCode).arg(fixedTel).arg(postCode).arg(email).arg(webSite).arg(hasUpLegal).arg(upCreditCode).arg(oldCreditCode). +// arg(upName).arg(hasChiefDesigner).arg(ChiefDesignerLevel).arg(employmentMode).arg(hasSetIntervalAudit).arg(internalName).arg(leadingOrganization).arg(hasSetSeparateIA).arg(financeDepartment).arg(legalDepartment). +// arg(internalConDepart).arg(disceplineInDepart).arg(otherDepart).arg(intavalAuditLeval).arg(organazationNum).arg(realNum).arg(professionalNum).arg(CIANum).arg(masterNum).arg(undergraduatesNum). +// arg(juniorNum).arg(seniorNum).arg(intermediateNum).arg(primaryNum).arg(noTitleNum).arg(upFiftyOldNum).arg(upThirtyOldNum).arg(downThirtyOldNum).arg(auditNum).arg(accountingNum). +// arg(economyNum).arg(lawNum).arg(managerNum).arg(itNum).arg(engineeringNum).arg(otherNum).arg(statisticalConOfficer).arg(personFilling).arg(officerTel).arg(fillingDateTime); + +// qDebug()<<"update sql:"<<sql; +// if(query.exec(sql)){ +// qDebug()<<"update ok"; +// }else{ +// qDebug()<<"update fail:"<<query.lastError().text(); +// } +// } + + // 鐙珛鍑烘潵涓�涓嚱鏁帮紝浼犱竴涓粨鏋勪綋灏眔k +} + +void ConverInfo2::readExcelFromPath(QString path) +{ + + QAxObject excel("ket.Application"); + if(!excel.setControl("ket" + ".Application")){ // windows鍐呮牳 + excel.setControl("Excel.Application"); // wps鍐呮牳 + } + excel.setProperty("Visible",false); + excel.setProperty("DisplayAlerts",false); + + qDebug()<<"open:"<<path; + qDebug()<<"excel:"<<excel.className(); + QAxObject * wbs = excel.querySubObject("WorkBooks"); + qDebug()<<"wbs:"<<wbs->className(); + QAxObject * wb = wbs->querySubObject("Open(QString&)",path); // 鍝釜瀵硅薄鏄疧pen鐨勮繑鍥炲�硷紝鍝釜灏卞彲浠ヤ繚瀛� + //QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook"); + //QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//鑾峰彇宸ヤ綔琛� + //QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 涔熷彲浠� + QAxObject * shs = wb->querySubObject("WorkSheets"); // WorkSheets 涔熷彲浠� +// // 鎸囧畾鍗曞厓鏍兼嬁 +// QAxObject *cell = shs->querySubObject("Cells(int, int)",82,1); +// qDebug()<<"Cells:82-0:"<<shs->querySubObject("Cells(int, int)",82,0)->dynamicCall("Value()").toString(); +// qDebug()<<"Cells:82-1:"<<cell->dynamicCall("Value()").toString(); + + int cnt = shs->property("Count").toInt(); + qDebug()<<"cnt="<<cnt; + for(int i=0;i<cnt;++i){ + QAxObject * sheet = shs->querySubObject("Item(int)", i+1); + QString sheetName = sheet->property("Name").toString(); + qDebug()<<"sh name:"<<sheetName; + QAxObject *usedRange = sheet->querySubObject("UsedRange"); + int rows = usedRange->querySubObject("Rows")->property("Count").toInt(); + int columns = usedRange->querySubObject("Columns")->property("Count").toInt(); + qDebug()<<"r--c:"<<rows<<columns; + QVariant val = usedRange->dynamicCall("Value"); // 鎷垮埌浜岀淮琛ㄦ牸 + QVariantList valRows = val.toList(); + // 閬嶅巻姣忎竴椤� +// for(int i=0;i<rows;++i){ +// QVariantList valrow = valRows[i].toList(); +// for(int j=0;j<columns;++j){ +// QVariant valData = valrow[j]; +// if(valData.isValid()){ +// qDebug()<<"val:"<< i<< j << valData; +// } + +// } +// } + + // 瀹炰緥鍖栫粨鏋勪綋锛岀劧鍚庢尐涓祴鍊� + ComInfo curComInfo; + + // 缁熶竴淇$敤浠g爜 + QVariant uniCode = valRows[9].toList().at(3); + if(uniCode.isValid()){ + ui->label_creditCode->setText(uniCode.toString()); + strcpy(curComInfo.creditCode,uniCode.toString().toLocal8Bit().data()); + } + // 鍗曚綅鍚嶇О + QVariant name = valRows[9].toList().at(8); + if(name.isValid()){ + ui->label_name->setText(name.toString()); + +// // 鑿滃崟鐩稿叧 褰撲笂绾у叕鍙镐负绌轰笂绾ф椂锛岃嚜宸卞綋鑷繁鐨勪笂绾э紝骞朵笖缃楀垪杩涘幓褰� 鏈骇 +// QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget); +// top1->setText(0,name.toString()); + + strcpy(curComInfo.name,name.toString().toLocal8Bit().data()); + + }else{ + ui->label_name->setText(""); + } + // 鏈烘瀯绫诲瀷 + QVariant comType = valRows[12].toList().at(3); + if(comType.isValid()){ + ui->label_comType->setText(comType.toString()); + strcpy(curComInfo.comType,comType.toString().toLocal8Bit().data()); + }else{ + ui->label_comType->setText(""); + } + // 涓昏涓氬姟娲诲姩 + QString business; + QVariant first = valRows[18].toList().at(2); + if(first.isValid()){ + business.append(first.toString()); + } + QVariant sec = valRows[18].toList().at(5); + if(sec.isValid()){ + business += "銆�"; + business.append(sec.toString()); + } + QVariant third = valRows[18].toList().at(8); + if(third.isValid()){ + business += "銆�"; + business.append(third.toString()); + } + if(business.size() > 0){ + ui->label_business->setText(business); + ui->label_business->setToolTip(business); + strcpy(curComInfo.business,business.toLocal8Bit().data()); + }else{ + ui->label_business->setText(""); + } + // 涓氬姟浠g爜 + QVariant busCode = valRows[19].toList().at(4); + if(busCode.isValid()){ + ui->label_businessCode->setText(busCode.toString()); + strcpy(curComInfo.businessCode,busCode.toString().toLocal8Bit().data()); + }else{ + ui->label_businessCode->setText(""); + } + // 娉ㄥ唽鍦板潃 + QString addr=""; + QVariant province = valRows[21].toList().at(1); // 鐪佷唤 + QVariant city = valRows[21].toList().at(4); // 鍩庡競 + QVariant district = valRows[21].toList().at(7); // 绠¤緰鍖� + QVariant village = valRows[22].toList().at(2); // 涔¢晣 + QVariant street = valRows[22].toList().at(4); // 琛楅亾 + QVariant Sub = valRows[23].toList().at(2); // 琛楅亾鍔炰簨澶� + QVariant committee = valRows[25].toList().at(3); // 灞呭浼� + //qDebug()<<province<<city<<district<<village<<street<<Sub<<committee; + if(province.isValid()) addr += province.toString(); + if(city.isValid()) addr += city.toString(); + if(district.isValid()) addr += district.toString(); + if(village.isValid()) addr += village.toString(); + if(street.isValid()) addr += street.toString(); + if(Sub.isValid()) addr += Sub.toString(); + if(committee.isValid()) addr += committee.toString(); + if(addr.size()>10){ + ui->label_addr->setText(addr); + strcpy(curComInfo.addr,addr.toLocal8Bit().data()); + }else{ + ui->label_addr->setText(""); + } + // 鍖哄煙浠g爜 + QVariant areaCode = valRows[24].toList().at(2); + if(areaCode.isValid()){ + ui->label_areaCode->setText(areaCode.toString()); + strcpy(curComInfo.areaCode,areaCode.toString().toLocal8Bit().data()); + }else{ + ui->label_areaCode->setText(""); + } + // 鍩庝埂浠g爜 + QVariant townCode = valRows[24].toList().at(6); + if(townCode.isValid()) { + ui->label_townCode->setText(townCode.toString()); + strcpy(curComInfo.townCode,townCode.toString().toLocal8Bit().data()); + }else{ + ui->label_townCode->setText(""); + } + + // 鍗曚綅瑙勬ā + QVariant scale = valRows[25].toList().at(3); + if(scale.isValid()){ + ui->label_scale->setText(scale.toString()); + strcpy(curComInfo.scale,scale.toString().toLocal8Bit().data()); + }else{ + ui->label_scale->setText(""); + } + // 浠庝笟浜烘暟 + QVariant people = valRows[26].toList().at(6); + if(people.isValid()) { + ui->label_people->setText(people.toString()); + //strcpy(curComInfo.people,people.toString().toLocal8Bit().data()); + curComInfo.people = people.toInt(); + }else{ + ui->label_people->setText(""); + } + // 娉曚汉 + QVariant representative = valRows[27].toList().at(4); + if(representative.isValid()) { + ui->label_representative->setText(representative.toString()); + strcpy(curComInfo.representative,representative.toString().toLocal8Bit().data()); + }else{ + ui->label_representative->setText(""); + } + // 浼氳鏍囧噯绫诲埆 standardType + QVariant standardType = valRows[27].toList().at(8); + if(standardType.isValid()){ + ui->label_standardType->setText(standardType.toString()); + strcpy(curComInfo.standardType,standardType.toString().toLocal8Bit()); + }else{ + ui->label_standardType->setText(""); + } + // 闀块�斿尯鍙� + QVariant trunkCode = valRows[31].toList().at(2); + if(trunkCode.isValid()){ + ui->label_trunkCode->setText(trunkCode.toString()); + strcpy(curComInfo.trunkCode,trunkCode.toString().toLocal8Bit().data()); + }else{ + ui->label_trunkCode->setText(""); + } + // 鍥哄畾鐢佃瘽 + QVariant fixedTel = valRows[32].toList().at(2); + if(fixedTel.isValid()) { + ui->label_fixedTel->setText(fixedTel.toString()); + strcpy(curComInfo.fixedTel,fixedTel.toString().toLocal8Bit().data()); + }else{ + ui->label_fixedTel->setText(""); + } + // 閭斂缂栫爜 + QVariant postCode = valRows[33].toList().at(2); + if(postCode.isValid()){ + ui->label_postCode->setText(postCode.toString()); + strcpy(curComInfo.postCode,postCode.toString().toLocal8Bit().data()); + }else{ + ui->label_postCode->setText(""); + } + // 鐢靛瓙閭 + QVariant email = valRows[30].toList().at(5); + if(email.isValid()) { + ui->label_email->setText(email.toString()); + strcpy(curComInfo.email,email.toString().toLocal8Bit().data()); + }else{ + ui->label_email->setText(""); + } + // 缃戝潃 + QVariant webSite = valRows[32].toList().at(5); + if(webSite.isValid()) { + ui->label_webSite->setText(webSite.toString()); + strcpy(curComInfo.webSite,webSite.toString().toLocal8Bit().data()); + }else{ + ui->label_webSite->setText(""); + } + + // 浜屻�佸崟浣嶇粍缁囩粨鏋勬儏鍐� + // 鏄惁鏈変笂涓�绾ф硶浜� + QVariant hasUpLegal = valRows[35].toList().at(4); + if(hasUpLegal.isValid()){ + strcpy(curComInfo.hasUpLegal,hasUpLegal.toString().toLocal8Bit().data()); + qDebug()<<"has up legal"<<hasUpLegal; + } + // 涓婄骇娉曚汉鍗曚綅缁熶竴绀句細淇$敤浠g爜 + QVariant upCreditCode = valRows[36].toList().at(7); + if(upCreditCode.isValid()){ + strcpy(curComInfo.upCreditCode,upCreditCode.toString().toLocal8Bit().data()); + qDebug()<<"upCreditCode"<<upCreditCode; + }else { + qDebug()<<"upCreditCode fail"<<name; + } + // 鍘熺粍缁囨満鏋勪唬鐮� + QVariant oldCreditCode = valRows[37].toList().at(7); + if(oldCreditCode.isValid()){ + strcpy(curComInfo.oldCreditCode,oldCreditCode.toString().toLocal8Bit().data()); + qDebug()<<"oldCreditCode"<<oldCreditCode; + } + // 涓婁竴绾у崟浣嶈缁嗗悕绉� + QVariant upName = valRows[38].toList().at(7); + if(upName.isValid()){ + strcpy(curComInfo.upName,upName.toString().toLocal8Bit().data()); + qDebug()<<"upName"<<upName; + } + + // 鎬诲璁″笀涓庡唴瀹℃満鏋勫熀鏈儏鍐� + + // 鏄惁璁剧疆鎬诲璁″笀 + QVariant hasChiefDesigner = valRows[40].toList().at(4); + if(hasChiefDesigner.isValid()){ + strcpy(curComInfo.hasChiefDesigner,hasChiefDesigner.toString().toLocal8Bit().data()); + qDebug()<<"hasChiefDesigner"<<hasChiefDesigner; + } + // 鎬诲璁″笀鑱屼綅灞傜骇 + QVariant ChiefDesignerLevel = valRows[41].toList().at(4); + if(ChiefDesignerLevel.isValid()){ + strcpy(curComInfo.ChiefDesignerLevel,ChiefDesignerLevel.toString().toLocal8Bit().data()); + qDebug()<<"ChiefDesignerLevel"<<ChiefDesignerLevel; + } + // 鎬诲璁″笀浠昏亴鏂瑰紡 + QVariant employmentMode = valRows[44].toList().at(4); + if(employmentMode.isValid()){ + strcpy(curComInfo.employmentMode,employmentMode.toString().toLocal8Bit().data()); + qDebug()<<"employmentMode"<<employmentMode; + } + + // 鏄惁璁剧疆鍐呭鏈烘瀯 + QVariant hasSetIntervalAudit = valRows[47].toList().at(4); + if(hasSetIntervalAudit.isValid()){ + strcpy(curComInfo.hasSetIntervalAudit,hasSetIntervalAudit.toString().toLocal8Bit().data()); + qDebug()<<"hasSetIntervalAudit"<<hasSetIntervalAudit; + } + // 鍐呭鏈烘瀯鍚嶇О + QVariant internalName = valRows[48].toList().at(4); + if(internalName.isValid()){ + strcpy(curComInfo.internalName,internalName.toString().toLocal8Bit().data()); + qDebug()<<"internalName"<<internalName; + } + // 鍐呭宸ヤ綔鐨勯瀵兼満鏋� + QVariant leadingOrganization = valRows[49].toList().at(4); + if(leadingOrganization.isValid()){ + strcpy(curComInfo.leadingOrganization,leadingOrganization.toString().toLocal8Bit().data()); + qDebug()<<"leadingOrganization"<<leadingOrganization; + } + // 鏄惁鐙珛璁剧疆鍐呭鏈烘瀯 + QVariant hasSetSeparateIA = valRows[53].toList().at(4); + if(hasSetSeparateIA.isValid()){ + strcpy(curComInfo.hasSetSeparateIA,hasSetSeparateIA.toString().toLocal8Bit().data()); + qDebug()<<"hasSetSeparateIA"<<hasSetSeparateIA; + } + // 鍚堝苟璁剧疆 璐㈠姟閮ㄩ棬 澶嶉�夋 + + QVariant financeDepartment = valRows[55].toList().at(1); + if(financeDepartment.isValid()){ + //strcpy(curComInfo.financeDepartment,financeDepartment.toString().toLocal8Bit().data()); + curComInfo.financeDepartment = financeDepartment.toBool(); + qDebug()<<"financeDepartment"<<financeDepartment; + } + // 娉曞姟閮ㄩ棬銆佸唴閮ㄦ帶鍒堕儴闂ㄣ�佺邯妫�閮ㄩ棬銆佸叾浠栭儴闂� + // 闇�瑕佺壒娈婅幏鍙� + QAxObject *checkBox = sheet->querySubObject("CheckBoxes(const QString&)", QString::fromLocal8Bit("璐㈠姟閮ㄩ棬")); + if(checkBox){ + qDebug()<<"鍙栧埌璐㈠姟閮ㄩ棬"<<checkBox->property("Value2").toInt()<<checkBox->property("Value").toInt()<<checkBox->property("Value2").toBool(); + if(checkBox->property("Value").toBool()){ + qDebug()<<"璐㈠姟閮ㄩ棬鍕鹃��"; + }else{ + qDebug()<<"璐㈠姟閮ㄩ棬鏈嬀閫�"; + } + }else{ + qDebug()<<"鏈彇鍒拌储鍔¢儴闂�"; + } + + QAxObject *checkBox1 = sheet->querySubObject("CheckBoxes(const QString&)", QString::fromLocal8Bit("娉曞姟閮ㄩ棬")); + if(checkBox1){ + qDebug()<<"鍙栧埌娉曞姟閮ㄩ棬"<<checkBox1->property("Value").toInt(); + if(checkBox1->property("Value").toBool()){ + qDebug()<<"娉曞姟閮ㄩ棬鍕鹃��"; + }else{ + qDebug()<<"娉曞姟閮ㄩ棬鏈嬀閫�"; + } + }else{ + qDebug()<<"鏈彇鍒版硶鍔¢儴闂�"; + } + + // 鍐呭鏈烘瀯灞傜骇 + QVariant intavalAuditLeval = valRows[56].toList().at(4); + if(intavalAuditLeval.isValid()){ + strcpy(curComInfo.intavalAuditLeval,intavalAuditLeval.toString().toLocal8Bit().data()); + qDebug()<<"intavalAuditLeval"<<intavalAuditLeval; + } + + // 鍥涖�佸唴瀹′汉鍛橀厤澶囧熀鏈儏鍐� + // 缂栧埗鏁� + QVariant organazationNum = valRows[56].toList().at(4); + if(organazationNum.isValid()){ + curComInfo.organazationNum = organazationNum.toInt(); + qDebug()<<"organazationNum"<<organazationNum; + } + // 瀹炴湁浜哄憳鏁� + QVariant realNum = valRows[56].toList().at(4); + if(realNum.isValid()){ + curComInfo.realNum = realNum.toInt(); + qDebug()<<"realNum"<<realNum; + } + // 涓撹亴浜哄憳鏁� + QVariant professionalNum = valRows[56].toList().at(4); + if(professionalNum.isValid()){ + curComInfo.professionalNum = professionalNum.toInt(); + qDebug()<<"professionalNum"<<professionalNum; + } + // 鎷ユ湁CIA浜哄憳鏁� + QVariant CIANum = valRows[56].toList().at(4); + if(CIANum.isValid()){ + curComInfo.CIANum = CIANum.toInt(); + qDebug()<<"CIANum"<<CIANum; + } + // 瀛﹀巻锛氱澹強浠ヤ笂 浜哄憳鏁� + QVariant masterNum = valRows[56].toList().at(4); + if(masterNum.isValid()){ + curComInfo.masterNum = masterNum.toInt(); + qDebug()<<"masterNum"<<masterNum; + } + // 澶у鏈 + QVariant undergraduatesNum = valRows[56].toList().at(4); + if(undergraduatesNum.isValid()){ + curComInfo.undergraduatesNum = undergraduatesNum.toInt(); + qDebug()<<"undergraduatesNum"<<undergraduatesNum; + } + // 涓撶鍙婁互涓� + QVariant juniorNum = valRows[56].toList().at(4); + if(juniorNum.isValid()){ + curComInfo.juniorNum = juniorNum.toInt(); + qDebug()<<"juniorNum"<<juniorNum; + } + + // 鑱岀О 楂樼骇鑱岀О + QVariant seniorNum = valRows[56].toList().at(4); + if(seniorNum.isValid()){ + curComInfo.seniorNum = seniorNum.toInt(); + qDebug()<<"seniorNum"<<seniorNum; + } + // 涓骇鑱岀О + QVariant intermediateNum = valRows[56].toList().at(4); + if(intermediateNum.isValid()){ + curComInfo.intermediateNum = intermediateNum.toInt(); + qDebug()<<"intermediateNum"<<intermediateNum; + } + // 鍒濈骇鑱岀О + QVariant primaryNum = valRows[56].toList().at(4); + if(primaryNum.isValid()){ + curComInfo.primaryNum = primaryNum.toInt(); + qDebug()<<"primaryNum"<<primaryNum; + } + // 鏃犺亴绉� + QVariant noTitleNum = valRows[56].toList().at(4); + if(noTitleNum.isValid()){ + curComInfo.noTitleNum = noTitleNum.toInt(); + qDebug()<<"noTitleNum"<<noTitleNum; + } + + // 骞撮緞缁撴瀯 50宀佷互涓� + QVariant upFiftyOldNum = valRows[56].toList().at(4); + if(upFiftyOldNum.isValid()){ + curComInfo.upFiftyOldNum = upFiftyOldNum.toInt(); + qDebug()<<"upFiftyOldNum"<<upFiftyOldNum; + } + // 30-50宀� + QVariant upThirtyOldNum = valRows[56].toList().at(4); + if(upThirtyOldNum.isValid()){ + curComInfo.upThirtyOldNum = upThirtyOldNum.toInt(); + qDebug()<<"upThirtyOldNum"<<upThirtyOldNum; + } + // 30宀佷互涓� + QVariant downThirtyOldNum = valRows[56].toList().at(4); + if(downThirtyOldNum.isValid()){ + curComInfo.downThirtyOldNum = downThirtyOldNum.toInt(); + qDebug()<<"downThirtyOldNum"<<downThirtyOldNum; + } + + // 鐭ヨ瘑缁撴瀯 瀹¤ + QVariant auditNum = valRows[56].toList().at(4); + if(auditNum.isValid()){ + curComInfo.auditNum = auditNum.toInt(); + qDebug()<<"auditNum"<<auditNum; + } + // 浼氳 + QVariant accountingNum = valRows[56].toList().at(4); + if(accountingNum.isValid()){ + curComInfo.accountingNum = accountingNum.toInt(); + qDebug()<<"accountingNum"<<accountingNum; + } + // 缁忔祹 + QVariant economyNum = valRows[56].toList().at(4); + if(economyNum.isValid()){ + curComInfo.economyNum = economyNum.toInt(); + qDebug()<<"economyNum"<<economyNum; + } + // 娉曞緥 + QVariant lawNum = valRows[56].toList().at(4); + if(lawNum.isValid()){ + curComInfo.lawNum = lawNum.toInt(); + qDebug()<<"lawNum"<<lawNum; + } + // 绠$悊 + QVariant managerNum = valRows[56].toList().at(4); + if(managerNum.isValid()){ + curComInfo.managerNum = managerNum.toInt(); + qDebug()<<"managerNum"<<managerNum; + } + // 淇℃伅鎶�鏈� + QVariant itNum = valRows[56].toList().at(4); + if(itNum.isValid()){ + curComInfo.itNum = itNum.toInt(); + qDebug()<<"itNum"<<itNum; + } + // 宸ョ▼ + QVariant engineeringNum = valRows[56].toList().at(4); + if(engineeringNum.isValid()){ + curComInfo.engineeringNum = engineeringNum.toInt(); + qDebug()<<"engineeringNum"<<engineeringNum; + } + // 鍏朵粬 + QVariant otherNum = valRows[56].toList().at(4); + if(otherNum.isValid()){ + curComInfo.otherNum = otherNum.toInt(); + qDebug()<<"otherNum"<<otherNum; + } + + // 鍚庨潰鐨�4涓俊鎭� + // 缁熻璐熻矗浜� + QVariant statisticalConOfficer = valRows[81].toList().at(1); + if(statisticalConOfficer.isValid()){ + strcpy(curComInfo.statisticalConOfficer,statisticalConOfficer.toString().toLocal8Bit().data()); + qDebug()<<"statisticalConOfficer"<<statisticalConOfficer; + }else{ + qDebug()<<"statisticalConOfficer fail:"<<name.toString(); + } + // 濉〃浜� + QVariant personFilling = valRows[81].toList().at(4); + if(personFilling.isValid()){ + strcpy(curComInfo.personFilling,personFilling.toString().toLocal8Bit().data()); + qDebug()<<"personFilling"<<personFilling; + } + // 鑱旂郴鐢佃瘽 + QVariant officerTel = valRows[82].toList().at(1); + if(officerTel.isValid()){ + strcpy(curComInfo.officerTel,officerTel.toString().toLocal8Bit().data()); + qDebug()<<"officerTel"<<officerTel; + } + // 濉姤鏃ユ湡 + QVariant fillingDateTime = valRows[82].toList().at(4); + if(fillingDateTime.isValid()){ + strcpy(curComInfo.fillingDateTime,fillingDateTime.toString().toLocal8Bit().data()); + qDebug()<<"fillingDateTime"<<fillingDateTime; + } + + // 鏈�鍚庡瓨鍒癿ap涓� + m_nameAndComInfos[name.toString()]=curComInfo; + + + // 娣诲姞宸﹁竟鏍戝舰鍥剧浉鍏� + // 鑿滃崟鐩稿叧 褰撲笂绾у叕鍙镐负绌轰笂绾ф椂锛岃嚜宸卞綋鑷繁鐨勪笂绾э紝骞朵笖缃楀垪杩涘幓褰� 鏈骇 + addTreeWidgetNode(upName,name); + +// if(upName.isValid()){ +// if(name.isValid()){ +// m_treeNodes[upName.toString()].push_back(name.toString()); +// } +// }else{ +// if(name.isValid()){ +// m_treeNodes[name.toString()].push_back(name.toString()); +// } +// } + + + } + wbs->dynamicCall("Close()"); + excel.dynamicCall("Quit(void)"); + + qDebug()<<"鍗曚綅淇℃伅鏁伴噺锛�"<<m_nameAndComInfos.size(); + emit updateComboListSignal(m_nameAndComInfos); // 鏇存柊缁勫悎涓嬫媺妗嗙殑鍗曚綅淇℃伅 +} + +void ConverInfo2::createTreeNode(){ + // 鍏堟竻闄ゅ綋鍓嶆爲涓婄殑鎵�鏈夎妭鐐� + ui->treeWidget->clear(); + + qDebug()<<"鏋勫缓鏍戝舰鍒楄〃"<<m_treeNodes.size(); + for(auto iter=m_treeNodes.begin();iter != m_treeNodes.end();iter++) + { + // 鍏堟瀯寤轰竴涓瘡绾х殑鐖惰妭鐐� + addTreeWidgetNode(iter.key(),iter.key()); + // 鍐嶆坊鍔犲瀛愯妭鐐� + for(QString node:iter.value()){ + qDebug()<<iter.key()<<node; + if(iter.key() != node){ + addTreeWidgetNode(iter.key(),node); + } + } + } +} + +void ConverInfo2::disableWheelEvent() +{ + ui->comboBox_ChiefDesignerLevel->installEventFilter(this); + ui->comboBox_comType->installEventFilter(this); + ui->comboBox_employmentMode->installEventFilter(this); + ui->comboBox_hasChiefDesigner->installEventFilter(this); + ui->comboBox_hasSetIntervalAudit->installEventFilter(this); + ui->comboBox_hasSetSeparateIA->installEventFilter(this); + ui->comboBox_hasUpLegal->installEventFilter(this); + ui->comboBox_intavalAuditLeval->installEventFilter(this); + ui->comboBox_leadingOrganization->installEventFilter(this); + ui->comboBox_scale->installEventFilter(this); + ui->comboBox_standardType->installEventFilter(this); +} + +bool ConverInfo2::eventFilter(QObject *watched, QEvent *event) +{ + QString cls = watched->metaObject()->className(); + if(cls == "QComboBox"){ + //qDebug()<<"鍙戠幇涓嬫媺妗�"; + if(event->type() == QEvent::Wheel){ + //qDebug()<<"浣跨敤浜嗘粴杞�"; + return true; // 杩斿洖鐪熻〃绀虹鐢紝杩斿洖鍋囧垯鑳界敤 + } + }else{ + qDebug()<<"鍏朵粬绫诲瀷:"<<cls; + } + + return QMainWindow::eventFilter(watched,event); + +} + +void ConverInfo2::saveToSQL(ComInfo &info) +{ + // 鏇存柊鍒版暟鎹簱 // 鍏堝垽鏂槸涓嶆槸宸茬粡瀛樺湪鍏徃鍚嶄簡锛岃嫢宸插瓨鍦紝鍒欐洿鏂帮紝涓嶅瓨鍦ㄥ垯鎻掑叆 - QString sql = QString("select id,name from all_company_info where name='%1'").arg(name); + QString sql = QString("select id,name from all_company_info where name='%1'").arg(QString::fromLocal8Bit(info.name)); qDebug()<<"sql:"<<sql; QSqlQuery query; int rowCnt = 0; @@ -886,10 +1774,11 @@ while (query.next()) { rowCnt++; } + qDebug()<<"rowCnt:"<<rowCnt; } if(rowCnt == 0){ // 涓嶅瓨鍦紝鍒欐彃鍏ヤ竴鏉℃柊鏁版嵁 - qDebug()<<"涓嶅瓨鍦�:"<<name; + qDebug()<<"涓嶅瓨鍦�:"<<QString::fromLocal8Bit(info.name); sql = QString("insert into all_company_info (name,\ code,\ 鏈烘瀯绫诲瀷,\ @@ -955,12 +1844,12 @@ %31,%32,%33,'%34',%35,%36,%37,%38,%39,%40,\ %41,%42,%43,%44,%45,%46,%47,%48,%49,%50,\ %51,%52,%53,%54,%55,%56,'%57','%58','%59','%60'\ -)").arg(name).arg(creditCode).arg(comType).arg(business).arg(businessCode).arg(addr).arg(areaCode).arg(townCode).arg(scale).arg(people). - arg(representative).arg(standardType).arg(trunkCode).arg(fixedTel).arg(postCode).arg(email).arg(webSite).arg(hasUpLegal).arg(upCreditCode).arg(oldCreditCode). - arg(upName).arg(hasChiefDesigner).arg(ChiefDesignerLevel).arg(employmentMode).arg(hasSetIntervalAudit).arg(internalName).arg(leadingOrganization).arg(hasSetSeparateIA).arg(financeDepartment).arg(legalDepartment). - arg(internalConDepart).arg(disceplineInDepart).arg(otherDepart).arg(intavalAuditLeval).arg(organazationNum).arg(realNum).arg(professionalNum).arg(CIANum).arg(masterNum).arg(undergraduatesNum). - arg(juniorNum).arg(seniorNum).arg(intermediateNum).arg(primaryNum).arg(noTitleNum).arg(upFiftyOldNum).arg(upThirtyOldNum).arg(downThirtyOldNum).arg(auditNum).arg(accountingNum). - arg(economyNum).arg(lawNum).arg(managerNum).arg(itNum).arg(engineeringNum).arg(otherNum).arg(statisticalConOfficer).arg(personFilling).arg(officerTel).arg(fillingDateTime); +)").arg(QString::fromLocal8Bit(info.name)).arg(QString::fromLocal8Bit(info.creditCode)).arg(QString::fromLocal8Bit(info.comType)).arg(QString::fromLocal8Bit(info.business)).arg(QString::fromLocal8Bit(info.businessCode)).arg(QString::fromLocal8Bit(info.addr)).arg(QString::fromLocal8Bit(info.areaCode)).arg(QString::fromLocal8Bit(info.townCode)).arg(QString::fromLocal8Bit(info.scale)).arg(info.people). + arg(QString::fromLocal8Bit(info.representative)).arg(QString::fromLocal8Bit(info.standardType)).arg(QString::fromLocal8Bit(info.trunkCode)).arg(QString::fromLocal8Bit(info.fixedTel)).arg(info.postCode).arg(QString::fromLocal8Bit(info.email)).arg(QString::fromLocal8Bit(info.webSite)).arg(QString::fromLocal8Bit(info.hasUpLegal)).arg(QString::fromLocal8Bit(info.upCreditCode)).arg(QString::fromLocal8Bit(info.oldCreditCode)). + arg(QString::fromLocal8Bit(info.upName)).arg(QString::fromLocal8Bit(info.hasChiefDesigner)).arg(QString::fromLocal8Bit(info.ChiefDesignerLevel)).arg(QString::fromLocal8Bit(info.employmentMode)).arg(QString::fromLocal8Bit(info.hasSetIntervalAudit)).arg(QString::fromLocal8Bit(info.internalName)).arg(QString::fromLocal8Bit(info.leadingOrganization)).arg(QString::fromLocal8Bit(info.hasSetSeparateIA)).arg(info.financeDepartment).arg(info.legalDepartment). + arg(info.internalConDepart).arg(info.disceplineInDepart).arg(info.otherDepart).arg(QString::fromLocal8Bit(info.intavalAuditLeval)).arg(info.organazationNum).arg(info.realNum).arg(info.professionalNum).arg(info.CIANum).arg(info.masterNum).arg(info.undergraduatesNum). + arg(info.juniorNum).arg(info.seniorNum).arg(info.intermediateNum).arg(info.primaryNum).arg(info.noTitleNum).arg(info.upFiftyOldNum).arg(info.upThirtyOldNum).arg(info.downThirtyOldNum).arg(info.auditNum).arg(info.accountingNum). + arg(info.economyNum).arg(info.lawNum).arg(info.managerNum).arg(info.itNum).arg(info.engineeringNum).arg(info.otherNum).arg(QString::fromLocal8Bit(info.statisticalConOfficer)).arg(QString::fromLocal8Bit(info.personFilling)).arg(QString::fromLocal8Bit(info.officerTel)).arg(QString::fromLocal8Bit(info.fillingDateTime)); qDebug()<<"sql insert:"<<sql; @@ -972,19 +1861,25 @@ }else{ // 鏇存柊 - qDebug()<<"瀛樺湪:"<<name; + qDebug()<<"瀛樺湪:"<<QString::fromLocal8Bit(info.name); sql = QString("update all_company_info set name='%1',code='%2',鏈烘瀯绫诲瀷='%3',涓昏涓氬姟娲诲姩='%4',琛屼笟浠g爜='%5',鍗曚綅娉ㄥ唽鍦板強鍖哄煙='%6',鍖哄煙浠g爜='%7',鍩庝埂浠g爜='%8',鍗曚綅瑙勬ā='%9',浠庝笟鏈熸湯浜烘暟=%10\ ,娉曞畾浠h〃浜�='%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,鎷ユ湁CIA浜烘暟=%38,纭曞+瀛﹀巻浠ヤ笂浜烘暟=%39,鏈浜烘暟=%40\ ,涓撶鍙婁互涓嬩汉鏁�=%41,楂樼骇鑱岀О浜烘暟=%42,涓骇鑱岀О浜烘暟=%43,鍒濈骇鑱岀О浜烘暟=%44,鏃犺亴绉颁汉鏁�=%45,浜斿崄宀佷互涓婁汉鏁�=%46,涓夊崄鑷充簲鍗佸瞾宀佷汉鏁�=%47,涓夊崄宀佷互涓嬩汉鏁�=%48,瀹¤鏁伴噺=%49,浼氳鏁伴噺=%50\ -,缁忔祹鏁伴噺=%51,娉曞緥鏁伴噺=%52,绠$悊鏁伴噺=%53,淇℃伅鎶�鏈暟閲�=%54,宸ョ▼鏁伴噺=%55,鍏朵粬鏁伴噺=%56,缁熻璐熻矗浜�='%57',濉〃浜�='%58',鑱旂郴鐢佃瘽='%59',濉姤鏃ユ湡='%60'"). - arg(name).arg(creditCode).arg(comType).arg(business).arg(businessCode).arg(addr).arg(areaCode).arg(townCode).arg(scale).arg(people). - arg(representative).arg(standardType).arg(trunkCode).arg(fixedTel).arg(postCode).arg(email).arg(webSite).arg(hasUpLegal).arg(upCreditCode).arg(oldCreditCode). - arg(upName).arg(hasChiefDesigner).arg(ChiefDesignerLevel).arg(employmentMode).arg(hasSetIntervalAudit).arg(internalName).arg(leadingOrganization).arg(hasSetSeparateIA).arg(financeDepartment).arg(legalDepartment). - arg(internalConDepart).arg(disceplineInDepart).arg(otherDepart).arg(intavalAuditLeval).arg(organazationNum).arg(realNum).arg(professionalNum).arg(CIANum).arg(masterNum).arg(undergraduatesNum). - arg(juniorNum).arg(seniorNum).arg(intermediateNum).arg(primaryNum).arg(noTitleNum).arg(upFiftyOldNum).arg(upThirtyOldNum).arg(downThirtyOldNum).arg(auditNum).arg(accountingNum). - arg(economyNum).arg(lawNum).arg(managerNum).arg(itNum).arg(engineeringNum).arg(otherNum).arg(statisticalConOfficer).arg(personFilling).arg(officerTel).arg(fillingDateTime); +,缁忔祹鏁伴噺=%51,娉曞緥鏁伴噺=%52,绠$悊鏁伴噺=%53,淇℃伅鎶�鏈暟閲�=%54,宸ョ▼鏁伴噺=%55,鍏朵粬鏁伴噺=%56,缁熻璐熻矗浜�='%57',濉〃浜�='%58',鑱旂郴鐢佃瘽='%59',濉姤鏃ユ湡='%60' where name='%1'").arg(QString::fromLocal8Bit(info.name)).arg(QString::fromLocal8Bit(info.creditCode)).arg(QString::fromLocal8Bit(info.comType)).arg(QString::fromLocal8Bit(info.business)).arg(QString::fromLocal8Bit(info.businessCode)).arg(QString::fromLocal8Bit(info.addr)).arg(QString::fromLocal8Bit(info.areaCode)).arg(QString::fromLocal8Bit(info.townCode)).arg(QString::fromLocal8Bit(info.scale)).arg(info.people). + arg(QString::fromLocal8Bit(info.representative)).arg(QString::fromLocal8Bit(info.standardType)).arg(QString::fromLocal8Bit(info.trunkCode)).arg(QString::fromLocal8Bit(info.fixedTel)).arg(info.postCode).arg(QString::fromLocal8Bit(info.email)).arg(QString::fromLocal8Bit(info.webSite)).arg(QString::fromLocal8Bit(info.hasUpLegal)).arg(QString::fromLocal8Bit(info.upCreditCode)).arg(QString::fromLocal8Bit(info.oldCreditCode)). + arg(QString::fromLocal8Bit(info.upName)).arg(QString::fromLocal8Bit(info.hasChiefDesigner)).arg(QString::fromLocal8Bit(info.ChiefDesignerLevel)).arg(QString::fromLocal8Bit(info.employmentMode)).arg(QString::fromLocal8Bit(info.hasSetIntervalAudit)).arg(QString::fromLocal8Bit(info.internalName)).arg(QString::fromLocal8Bit(info.leadingOrganization)).arg(QString::fromLocal8Bit(info.hasSetSeparateIA)).arg(info.financeDepartment).arg(info.legalDepartment). + arg(info.internalConDepart).arg(info.disceplineInDepart).arg(info.otherDepart).arg(QString::fromLocal8Bit(info.intavalAuditLeval)).arg(info.organazationNum).arg(info.realNum).arg(info.professionalNum).arg(info.CIANum).arg(info.masterNum).arg(info.undergraduatesNum). + arg(info.juniorNum).arg(info.seniorNum).arg(info.intermediateNum).arg(info.primaryNum).arg(info.noTitleNum).arg(info.upFiftyOldNum).arg(info.upThirtyOldNum).arg(info.downThirtyOldNum).arg(info.auditNum).arg(info.accountingNum). + arg(info.economyNum).arg(info.lawNum).arg(info.managerNum).arg(info.itNum).arg(info.engineeringNum).arg(info.otherNum).arg(QString::fromLocal8Bit(info.statisticalConOfficer)).arg(QString::fromLocal8Bit(info.personFilling)).arg(QString::fromLocal8Bit(info.officerTel)).arg(QString::fromLocal8Bit(info.fillingDateTime)); + /*. + arg(QString::fromLocal8Bit(info.name)).arg(QString::fromLocal8Bit(info.creditCode)).arg(info.comType).arg(info.business).arg(info.businessCode).arg(info.addr).arg(info.areaCode).arg(info.townCode).arg(info.scale).arg(info.people). + arg(info.representative).arg(info.standardType).arg(info.trunkCode).arg(info.fixedTel).arg(info.postCode).arg(info.email).arg(info.webSite).arg(info.hasUpLegal).arg(info.upCreditCode).arg(info.oldCreditCode). + arg(info.upName).arg(info.hasChiefDesigner).arg(info.ChiefDesignerLevel).arg(info.employmentMode).arg(info.hasSetIntervalAudit).arg(info.internalName).arg(info.leadingOrganization).arg(info.hasSetSeparateIA).arg(info.financeDepartment).arg(info.legalDepartment). + arg(info.internalConDepart).arg(info.disceplineInDepart).arg(info.otherDepart).arg(info.intavalAuditLeval).arg(info.organazationNum).arg(info.realNum).arg(info.professionalNum).arg(info.CIANum).arg(info.masterNum).arg(info.undergraduatesNum). + arg(info.juniorNum).arg(info.seniorNum).arg(info.intermediateNum).arg(info.primaryNum).arg(info.noTitleNum).arg(info.upFiftyOldNum).arg(info.upThirtyOldNum).arg(info.downThirtyOldNum).arg(info.auditNum).arg(info.accountingNum). + arg(info.economyNum).arg(info.lawNum).arg(info.managerNum).arg(info.itNum).arg(info.engineeringNum).arg(info.otherNum).arg(info.statisticalConOfficer).arg(info.personFilling).arg(info.officerTel).arg(info.fillingDateTime);*/ qDebug()<<"update sql:"<<sql; if(query.exec(sql)){ @@ -994,3 +1889,211 @@ } } } + +void ConverInfo2::readAllSQLData() +{ + QString sql = QString("select * from all_company_info"); + qDebug()<<"sql:"<<sql; + QSqlQuery query; + int rowCnt = 0; + if(query.exec(sql)){ + qDebug()<<"size:"<<query.size(); + + + while (query.next()) { + rowCnt++; + ComInfo info; // 鍗曚綅淇℃伅缁撴瀯浣� + // 鍩烘湰鎯呭喌 + strcpy(info.name,query.value(1).toString().toLocal8Bit().data()); + strcpy(info.creditCode,query.value(2).toString().toLocal8Bit().data()); + strcpy(info.comType,query.value(3).toString().toLocal8Bit().data()); + strcpy(info.business,query.value(4).toString().toLocal8Bit().data()); + strcpy(info.businessCode,query.value(5).toString().toLocal8Bit().data()); + strcpy(info.addr,query.value(6).toString().toLocal8Bit().data()); + strcpy(info.areaCode,query.value(7).toString().toLocal8Bit().data()); + strcpy(info.townCode,query.value(8).toString().toLocal8Bit().data()); + strcpy(info.scale,query.value(9).toString().toLocal8Bit().data()); + info.people = query.value(10).toInt(); + strcpy(info.representative,query.value(11).toString().toLocal8Bit().data()); + strcpy(info.standardType,query.value(12).toString().toLocal8Bit().data()); + strcpy(info.trunkCode,query.value(13).toString().toLocal8Bit().data()); + strcpy(info.fixedTel,query.value(14).toString().toLocal8Bit().data()); + strcpy(info.postCode,query.value(15).toString().toLocal8Bit().data()); + strcpy(info.email,query.value(16).toString().toLocal8Bit().data()); + strcpy(info.webSite,query.value(17).toString().toLocal8Bit().data()); + // 鍗曚綅缁勭粐缁撴瀯鎯呭喌 + strcpy(info.hasUpLegal,query.value(18).toString().toLocal8Bit().data()); + strcpy(info.upCreditCode,query.value(19).toString().toLocal8Bit().data()); + strcpy(info.oldCreditCode,query.value(20).toString().toLocal8Bit().data()); + strcpy(info.upName,query.value(21).toString().toLocal8Bit().data()); + + // 鎬诲璁″笀涓庡唴閮ㄥ璁℃満鏋勫熀鏈儏鍐� + strcpy(info.hasChiefDesigner,query.value(22).toString().toLocal8Bit().data()); + strcpy(info.ChiefDesignerLevel,query.value(23).toString().toLocal8Bit().data()); + strcpy(info.employmentMode,query.value(24).toString().toLocal8Bit().data()); + strcpy(info.hasSetIntervalAudit,query.value(25).toString().toLocal8Bit().data()); + strcpy(info.internalName,query.value(26).toString().toLocal8Bit().data()); + strcpy(info.leadingOrganization,query.value(27).toString().toLocal8Bit().data()); + strcpy(info.hasSetSeparateIA,query.value(28).toString().toLocal8Bit().data()); + info.financeDepartment = query.value(29).toBool(); + info.legalDepartment = query.value(30).toBool(); + info.internalConDepart = query.value(31).toBool(); + info.disceplineInDepart = query.value(32).toBool(); + info.otherDepart = query.value(33).toBool(); + strcpy(info.intavalAuditLeval,query.value(34).toString().toLocal8Bit().data()); + + // 鍐呴儴瀹¤浜哄憳閰嶅鍩烘湰鎯呭喌 + info.organazationNum = query.value(35).toInt(); + info.realNum = query.value(36).toInt(); + info.professionalNum = query.value(37).toInt(); + info.CIANum = query.value(38).toInt(); + info.masterNum = query.value(39).toInt(); + info.undergraduatesNum = query.value(40).toInt(); + info.juniorNum = query.value(41).toInt(); + info.seniorNum = query.value(42).toInt(); + info.intermediateNum = query.value(43).toInt(); + info.primaryNum = query.value(44).toInt(); + info.noTitleNum = query.value(45).toInt(); + info.upFiftyOldNum = query.value(46).toInt(); + info.upThirtyOldNum = query.value(47).toInt(); + info.downThirtyOldNum = query.value(48).toInt(); + info.auditNum = query.value(49).toInt(); + info.accountingNum = query.value(50).toInt(); + info.economyNum = query.value(51).toInt(); + info.lawNum = query.value(52).toInt(); + info.managerNum = query.value(53).toInt(); + info.itNum = query.value(54).toInt(); + info.engineeringNum = query.value(55).toInt(); + info.otherNum = query.value(56).toInt(); + + // 鍚庨潰鐨�4涓俊鎭� + strcpy(info.statisticalConOfficer,query.value(57).toString().toLocal8Bit().data()); + strcpy(info.personFilling,query.value(58).toString().toLocal8Bit().data()); + strcpy(info.officerTel,query.value(59).toString().toLocal8Bit().data()); + strcpy(info.fillingDateTime,query.value(60).toString().toLocal8Bit().data()); + + // 瀛樹俊鎭埌map + QString name = query.value(1).toString(); + m_nameAndComInfos[query.value(1).toString()] = info; + // 瀛樺悕瀛楀埌鍗曚綅鏍憁ap + QString upName = query.value(21).toString(); + if(!upName.isEmpty()){ + //m_treeNodes[upName].push_back(name); + m_treeNodes[upName].insert(name); + }else{ + //m_treeNodes[name].push_back(name); + //m_treeNodes[upName].insert(name); + if(!name.isEmpty()){ + //m_treeNodes[name.toString()].push_back(name.toString()); + m_treeNodes[name].insert(name); + } + } + qDebug()<<"name"<<name<<"upName"<<upName; + + } + qDebug()<<"rowCnt:"<<rowCnt; + } +} + +void ConverInfo2::deleteAllByName(QString name) +{ + // 鏁版嵁搴撹〃鏈夛細灏侀潰淇℃伅琛� all_company_info + // 缁煎悎淇℃伅琛� comprehensive_entry_info + // 涓夊悎涓�鐨勮〃 standing_book_info + + QString first_sql = QString("delete from all_company_info where name='%1'").arg(name); + qDebug()<<"first_sql:"<<first_sql; + + QString second_sql = QString("delete from comprehensive_entry_info where name='%1'").arg(name); + qDebug()<<"second_sql:"<<second_sql; + + QString three_sql = QString("delete from standing_book_info where 璐d换涓讳綋鍚嶇О='%1'").arg(name); + qDebug()<<"three_sql:"<<three_sql; + + + QSqlQuery query; + if(query.exec(first_sql)) + { + qDebug()<<"first_sql run ok"; + } + if(query.exec(second_sql)) + { + qDebug()<<"second_sql run ok"; + } + if(query.exec(three_sql)) + { + qDebug()<<"three_sql run ok"; + } + + + +} +void ConverInfo2::addTreeWidgetNode(QVariant upName,QVariant name){ + // 娣诲姞宸﹁竟鏍戝舰鍥剧浉鍏� + // 鑿滃崟鐩稿叧 褰撲笂绾у叕鍙镐负绌轰笂绾ф椂锛岃嚜宸卞綋鑷繁鐨勪笂绾э紝骞朵笖缃楀垪杩涘幓褰� 鏈骇 + + if(upName.isValid()) // 鏈夋晥 + { + // 鍒ゆ柇椤跺眰鏍戣妭鐐规槸鍚﹀凡缁忓瓨鍦� + QTreeWidgetItem *top = nullptr; + for(int k=0;k<ui->treeWidget->topLevelItemCount();++k){ + QTreeWidgetItem *tmp = ui->treeWidget->topLevelItem(k); + qDebug()<<k<<tmp->text(0)<<upName.toString(); + int pos = tmp->text(0).indexOf(upName.toString()+"(姹囨��)"); + if(upName.toString()+"(姹囨��)" == tmp->text(0) || pos != -1){ + top = tmp; + break; + } + } + if(name.isValid()){ + if(top){ // 瀛樺湪锛屽垯娣诲姞鍒板瀛愬垪琛ㄤ腑 + QTreeWidgetItem *top1 = new QTreeWidgetItem(top); + top1->setText(0,name.toString()); + top->setText(0,upName.toString()+"(姹囨��)涓嬬骇鏁�:"+QString::number(top->childCount()-1)); + }else{ // 涓嶅瓨鍦紝鍒欐柊寤轰竴涓垪琛� + QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget); + top1->setText(0,name.toString()+"(姹囨��)"); + QTreeWidgetItem *top2 = new QTreeWidgetItem(top1); + top2->setText(0,name.toString()+"(鏈骇)"); + top1->setText(0,name.toString()+"(姹囨��)涓嬬骇鏁�:"+QString::number(top1->childCount()-1)); + } + } + + + }else{ + qDebug()<<"娌″彂鐜颁笂涓�绾э紝鍙兘鑷繁褰�"<<name; + if(name.isValid()){ + QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget); + top1->setText(0,name.toString()+"(姹囨��)"); + QTreeWidgetItem *top2 = new QTreeWidgetItem(top1); + top2->setText(0,name.toString()+"(鏈骇)"); + top1->setText(0,name.toString()+"(姹囨��)涓嬬骇鏁�:"+QString::number(top1->childCount()-1)); + } + + } +} +void ConverInfo2::on_pushButton_laodFile_clicked() +{ + QString path = QFileDialog::getOpenFileName(this,"閫夋嫨琛ㄦ牸:鍗曚綅鍙婂唴閮ㄥ璁℃満鏋勫熀鏈儏鍐佃〃","./","excel(*鍩烘湰鎯呭喌琛�*.xls)"); + qDebug()<<"path:"<<path; + if(path.size() > 1){ + readExcelFromPath(path); + } +} + +void ConverInfo2::showExcelSlot() +{ + readInfo(); // 鍔犺浇琛ㄦ牸 +} + +void ConverInfo2::on_pushButton_save_to_file_clicked() +{ + QString name = ui->lineEdit_name->text(); + if(name.size()== 0){ + QMessageBox::information(this,"鍗曚綅鍚嶇О涓虹┖,璇峰厛閫変腑涓�瀹跺崟浣�","璇峰厛閫変腑涓�瀹跺崟浣�"); + return; + } + ExportToFile etf(this); + ComInfo cif = m_nameAndComInfos[name]; + etf.saveToExcelFromComInfo(cif); +} -- Gitblit v1.8.0