| | |
| | | { |
| | | 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();){ |
| | | // 如果等于键,那么要删除对应的所有的值 |
| | | 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(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()); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | void ConverInfo2::createTreeNode(){ |
| | | // 先清除当前树上的所有节点 |
| | | ui->treeWidget->clear(); |
| | | |
| | | qDebug()<<"构建树形列表"<<m_treeNodes.size(); |
| | | for(auto iter=m_treeNodes.begin();iter != m_treeNodes.end();iter++) |
| | | { |
| | |
| | | // 存名字到单位树map |
| | | 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; |
| | | |
| | |
| | | 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 责任主体名称='%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){ |
| | | // 添加左边树形图相关 |
| | | // 菜单相关 当上级公司为空上级时,自己当自己的上级,并且罗列进去当 本级 |