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 | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 108 insertions(+), 6 deletions(-) diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp index 6344e08..b9e8c48 100644 --- a/internal_system_v1/converinfo2.cpp +++ b/internal_system_v1/converinfo2.cpp @@ -100,9 +100,66 @@ { if(m_curItem==nullptr)return; qDebug()<<"鍒犻櫎鍏徃淇℃伅,鑺傜偣锛�"<<m_curItem->text(0); - auto resList = m_curItem->takeChildren(); + //auto resList = m_curItem->takeChildren(); - qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size(); + //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() @@ -777,11 +834,13 @@ if(upName.isValid()){ if(name.isValid()){ - m_treeNodes[upName.toString()].push_back(name.toString()); + //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()].push_back(name.toString()); + m_treeNodes[name.toString()].insert(name.toString()); } } @@ -1650,6 +1709,9 @@ } void ConverInfo2::createTreeNode(){ + // 鍏堟竻闄ゅ綋鍓嶆爲涓婄殑鎵�鏈夎妭鐐� + ui->treeWidget->clear(); + qDebug()<<"鏋勫缓鏍戝舰鍒楄〃"<<m_treeNodes.size(); for(auto iter=m_treeNodes.begin();iter != m_treeNodes.end();iter++) { @@ -1916,9 +1978,15 @@ // 瀛樺悕瀛楀埌鍗曚綅鏍憁ap QString upName = query.value(21).toString(); if(!upName.isEmpty()){ - m_treeNodes[upName].push_back(name); + //m_treeNodes[upName].push_back(name); + m_treeNodes[upName].insert(name); }else{ - m_treeNodes[name].push_back(name); + //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; @@ -1926,6 +1994,40 @@ 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){ // 娣诲姞宸﹁竟鏍戝舰鍥剧浉鍏� // 鑿滃崟鐩稿叧 褰撲笂绾у叕鍙镐负绌轰笂绾ф椂锛岃嚜宸卞綋鑷繁鐨勪笂绾э紝骞朵笖缃楀垪杩涘幓褰� 鏈骇 -- Gitblit v1.8.0