| | |
| | | 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())); |
| | | // 单位内容修改 |
| | | |
| | | // 右边可编辑内容 |
| | |
| | | qDebug()<<"删除数量:"<<resList.size(); |
| | | } |
| | | |
| | | 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 = 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]; |
| | | // 一、单位基本情况 |
| | |
| | | |
| | | // 四、内审人员配备基本情况 |
| | | // 编制数 |
| | | 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; |
| | |
| | | // 发射 加载完成的信号 |
| | | emit loadFinished(); |
| | | |
| | | // 更新其他界面的公司信息下拉框 |
| | | emit updateComboListSignal(m_nameAndComInfos); |
| | | |
| | | // QAxObject excel("./debug/Data/附件2_内审统01表_单位及内部审计机构基本情况表-1.301版(1).xls"); |
| | | // excel.setProperty("Visible",true); |
| | | // excel.setProperty("DisplayAlerts",false); |
| | |
| | | |
| | | 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() |
| | |
| | | qDebug()<<"excel:"<<excel.className(); |
| | | QAxObject * wbs = excel.querySubObject("WorkBooks"); |
| | | qDebug()<<"wbs:"<<wbs->className(); |
| | | QAxObject * wb = wbs->querySubObject("Open(QString&)",path); |
| | | QAxObject * wb = wbs->querySubObject("Open(QString&)",path); // 哪个对象是Open的返回值,哪个就可以保存 |
| | | //QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook"); |
| | | //QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//获取工作表 |
| | | //QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 也可以 |
| | |
| | | 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); |
| | |
| | | excel.dynamicCall("Quit(void)"); |
| | | |
| | | qDebug()<<"单位信息数量:"<<m_nameAndComInfos.size(); |
| | | emit updateComboListSignal(m_nameAndComInfos); // 更新组合下拉框的单位信息 |
| | | } |
| | | |
| | | void ConverInfo2::createTreeNode(){ |
| | |
| | | { |
| | | 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); |
| | | } |