#include "converinfo2.h"
|
#include "ui_converinfo2.h"
|
#include <QDebug>
|
#include <QDirIterator>
|
#include <QFileDialog>
|
#include <QSqlQuery>
|
#include <QSqlRecord>
|
|
#pragma execution_character_set("utf-8")
|
|
ConverInfo2::ConverInfo2(QWidget *parent) :
|
QMainWindow(parent),
|
ui(new Ui::ConverInfo2)
|
{
|
ui->setupUi(this);
|
m_menu = nullptr;
|
//initUi();
|
readInfo(); // 加载表格
|
addMenu(); // 增加菜单
|
}
|
|
ConverInfo2::~ConverInfo2()
|
{
|
delete ui;
|
}
|
|
void ConverInfo2::initUi()
|
{
|
// 查询表中所有的公司名字,放到树形菜单中
|
QStringList comInfo;
|
comInfo<<"码蚁软件"<<"C++课程体系"<<"嵌入式课程体系";
|
QTreeWidgetItem *top = new QTreeWidgetItem(ui->treeWidget,comInfo);
|
ui->treeWidget->addTopLevelItem(top);
|
ui->treeWidget->expandAll();
|
QTreeWidgetItem *it1 = new QTreeWidgetItem(top);
|
it1->setText(0,"开发部1");
|
QTreeWidgetItem *it2 = new QTreeWidgetItem(top);
|
it2->setText(0,"开发部2");
|
QTreeWidgetItem *it3 = new QTreeWidgetItem(top);
|
it3->setText(0,"开发部3");
|
QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget);
|
top1->setText(0,"码蚁集团");
|
QTreeWidgetItem *it4 = new QTreeWidgetItem(top1);
|
it4->setText(0,"开发部4");
|
top1->setCheckState(0,Qt::Checked);
|
it4->setCheckState(0,Qt::Checked);
|
|
// 复选框状态处理
|
connect(ui->treeWidget,QOverload<QTreeWidgetItem*,int>::of(QTreeWidget::itemClicked),this,[=](QTreeWidgetItem* it,int index){
|
qDebug()<<it<<index;
|
if(it == top1){
|
qDebug()<<"点击了码蚁集团";
|
for(int i=0;i<top1->childCount();++i){
|
top1->child(i)->setCheckState(0,top1->checkState(0));
|
}
|
}
|
});
|
|
// 设置菜单:添加单位、删除单位
|
m_menu = new QMenu(this);
|
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()));
|
// 单位内容修改
|
|
// 右边可编辑内容
|
//ui->scrollArea->setWidget(ui->frame);
|
}
|
|
void ConverInfo2::showMenu(QPoint p)
|
{
|
QTreeWidgetItem * item = ui->treeWidget->itemAt(p);
|
if(item==nullptr)return;
|
m_curItem = item;
|
qDebug()<<"当前节点:"<<m_curItem->text(0);
|
m_menu->exec(QCursor::pos());
|
|
|
}
|
|
void ConverInfo2::addInfo()
|
{
|
if(m_curItem==nullptr)return;
|
qDebug()<<"添加公司信息,在节点:"<<m_curItem->text(0);
|
}
|
|
void ConverInfo2::deleteInfo()
|
{
|
if(m_curItem==nullptr)return;
|
qDebug()<<"删除公司信息,节点:"<<m_curItem->text(0);
|
}
|
|
void ConverInfo2::on_treeWidget_doubleClicked(const QModelIndex &index)
|
{
|
QString name = index.model()->data(index).toString();
|
qDebug()<<"双击"<<index<<name;
|
ComInfo curCominfo = m_nameAndComInfos[name];
|
// 一、单位基本情况
|
ui->lineEdit_creditCode->setText(curCominfo.creditCode);
|
ui->lineEdit_name->setText(QString::fromLocal8Bit( curCominfo.name));
|
qDebug()<<"name:"<<QString::fromLocal8Bit( curCominfo.name)<<QByteArray(curCominfo.name);
|
ui->comboBox_comType->setCurrentText(QString::fromLocal8Bit(curCominfo.comType));
|
ui->lineEdit_business->setText(QString::fromLocal8Bit(curCominfo.business));
|
ui->lineEdit_businessCode->setText(curCominfo.businessCode);
|
ui->lineEdit_addr->setText(QString::fromLocal8Bit(curCominfo.addr));
|
ui->lineEdit_areaCode->setText(curCominfo.areaCode);
|
ui->lineEdit_townCode->setText(curCominfo.townCode);
|
ui->comboBox_scale->setCurrentText(QString::fromLocal8Bit(curCominfo.scale));
|
ui->lineEdit_people->setText(QString::number(curCominfo.people));
|
ui->lineEdit_representative->setText(QString::fromLocal8Bit(curCominfo.representative));
|
ui->comboBox_standardType->setCurrentText(QString::fromLocal8Bit(curCominfo.standardType));
|
ui->lineEdit_trunkCode->setText(curCominfo.trunkCode);
|
ui->lineEdit_fixedTel->setText(curCominfo.fixedTel);
|
ui->lineEdit_postCode->setText(curCominfo.postCode);
|
ui->lineEdit_email->setText(curCominfo.email);
|
ui->lineEdit_webSite->setText(curCominfo.webSite);
|
|
// 二、单位组织结构情况
|
ui->comboBox_hasUpLegal->setCurrentText(QString::fromLocal8Bit(curCominfo.hasUpLegal));
|
ui->lineEdit_upCreditCode->setText(curCominfo.upCreditCode);
|
ui->lineEdit_oldCreditCode->setText(curCominfo.oldCreditCode);
|
ui->lineEdit_upName->setText(QString::fromLocal8Bit(curCominfo.upName));
|
|
// 三、总审计师与内审机构基本情况
|
ui->comboBox_hasChiefDesigner->setCurrentText(QString::fromLocal8Bit(curCominfo.hasChiefDesigner));
|
ui->comboBox_ChiefDesignerLevel->setCurrentText(QString::fromLocal8Bit(curCominfo.ChiefDesignerLevel));
|
ui->comboBox_employmentMode->setCurrentText(QString::fromLocal8Bit(curCominfo.employmentMode));
|
ui->comboBox_hasSetIntervalAudit->setCurrentText(QString::fromLocal8Bit(curCominfo.hasSetIntervalAudit));
|
ui->lineEdit_internalName->setText(QString::fromLocal8Bit(curCominfo.internalName));
|
ui->comboBox_leadingOrganization->setCurrentText(QString::fromLocal8Bit(curCominfo.leadingOrganization));
|
ui->comboBox_hasSetSeparateIA->setCurrentText(QString::fromLocal8Bit(curCominfo.hasSetSeparateIA));
|
ui->checkBox_financeDepartment->setChecked(curCominfo.financeDepartment);
|
ui->checkBox_legalDepartment->setChecked(curCominfo.legalDepartment);
|
ui->checkBox_internalConDepart->setChecked(curCominfo.internalConDepart);
|
ui->checkBox_disceplineInDepart->setChecked(curCominfo.disceplineInDepart);
|
ui->checkBox_otherDepart->setChecked(curCominfo.otherDepart);
|
ui->comboBox_intavalAuditLeval->setCurrentText(QString::fromLocal8Bit(curCominfo.intavalAuditLeval));
|
|
// 四、内审人员配备基本情况
|
ui->lineEdit_organazationNum->setText(QString::number(curCominfo.organazationNum));
|
ui->lineEdit_realNum->setText(QString::number(curCominfo.realNum));
|
ui->lineEdit_professionalNum->setText(QString::number(curCominfo.professionalNum));
|
ui->lineEdit_CIANum->setText(QString::number(curCominfo.CIANum));
|
ui->lineEdit_masterNum->setText(QString::number(curCominfo.masterNum));
|
ui->lineEdit_undergraduatesNum->setText(QString::number(curCominfo.undergraduatesNum));
|
ui->lineEdit_juniorNum->setText(QString::number(curCominfo.juniorNum));
|
ui->lineEdit_seniorNum->setText(QString::number(curCominfo.seniorNum));
|
ui->lineEdit_intermediateNum->setText(QString::number(curCominfo.intermediateNum));
|
ui->lineEdit_primaryNum->setText(QString::number(curCominfo.primaryNum));
|
ui->lineEdit_noTitleNum->setText(QString::number(curCominfo.noTitleNum));
|
ui->lineEdit_upFiftyOldNum->setText(QString::number(curCominfo.upFiftyOldNum));
|
ui->lineEdit_upThirtyOldNum->setText(QString::number(curCominfo.upThirtyOldNum));
|
ui->lineEdit_downThirtyOldNum->setText(QString::number(curCominfo.downThirtyOldNum));
|
ui->lineEdit_auditNum->setText(QString::number(curCominfo.auditNum));
|
ui->lineEdit_accountingNum->setText(QString::number(curCominfo.accountingNum));
|
ui->lineEdit_economyNum->setText(QString::number(curCominfo.economyNum));
|
ui->lineEdit_lawNum->setText(QString::number(curCominfo.lawNum));
|
ui->lineEdit_managerNum->setText(QString::number(curCominfo.managerNum));
|
ui->lineEdit_itNum->setText(QString::number(curCominfo.itNum));
|
ui->lineEdit_engineeringNum->setText(QString::number(curCominfo.engineeringNum));
|
ui->lineEdit_otherNum->setText(QString::number(curCominfo.otherNum));
|
}
|
|
void ConverInfo2::readInfo()
|
{
|
// QXlsx::Document doc("./debug/Data/test.xlsx");
|
// QString cc = doc.read("A1").toString();
|
// qDebug()<<"cc"<<cc;
|
// ui->label_creditCode->setText(cc);
|
extern QString g_dataRootPath;
|
|
QString dirPath = "./debug/Data";
|
QString dirPathRelease = "./release/Data";
|
QString dirPathData = "./Data";
|
QDir dir(dirPathData);
|
if(dir.exists()){
|
dirPath = dirPathData; // 存在则覆盖
|
}
|
|
QDir dirRe(dirPathRelease);
|
if(dirRe.exists()){
|
dirPath = dirPathRelease;
|
}
|
g_dataRootPath = dirPath; // 将根目录保存起来
|
QStringList list;
|
QDirIterator it(dirPath, {"*.xls","*.xlsx"}, QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
|
while(it.hasNext())
|
{
|
it.next();
|
list.append(it.fileInfo().absoluteFilePath());
|
}
|
foreach(QString str, list)
|
{
|
qDebug() << str;
|
int index = str.indexOf("内审统01表");
|
qDebug()<<"index:"<<index;
|
if(index > 0){
|
QAxObject excel("Excel.Application");
|
excel.setProperty("Visible",false);
|
excel.setProperty("DisplayAlerts",false);
|
qDebug()<<"open:"<<str;
|
qDebug()<<"excel:"<<excel.className();
|
QAxObject * wbs = excel.querySubObject("WorkBooks");
|
QAxObject * wb = wbs->querySubObject("Open(QString&)",str);
|
//QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook");
|
//QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//获取工作表
|
QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 也可以
|
// QAxObject *checkBoxs = shs->querySubObject("CheckBoxes");
|
// qDebug() << "复选框:checkBoxs:" << checkBoxs->asVariant();
|
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;
|
|
// 统一信用代码
|
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("");
|
}
|
// 业务代码
|
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("");
|
}
|
// 区域代码
|
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("");
|
}
|
// 城乡代码
|
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;
|
}
|
// 上级法人单位统一社会信用代码
|
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;
|
}
|
// 法务部门、内部控制部门、纪检部门、其他部门
|
|
// 内审机构层级
|
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;
|
}
|
|
// 最后存到map中
|
m_nameAndComInfos[name.toString()]=curComInfo;
|
|
}
|
wbs->dynamicCall("Close()");
|
excel.dynamicCall("Quit(void)");
|
|
qDebug()<<"单位信息数量:"<<m_nameAndComInfos.size();
|
}
|
}
|
|
|
// QAxObject excel("./debug/Data/附件2_内审统01表_单位及内部审计机构基本情况表-1.301版(1).xls");
|
// excel.setProperty("Visible",true);
|
// excel.setProperty("DisplayAlerts",false);
|
|
}
|
|
void ConverInfo2::addMenu()
|
{
|
// 设置菜单:添加单位、删除单位
|
if(m_menu==nullptr){
|
m_menu = new QMenu(this);
|
qDebug()<<"init menu ok";
|
}
|
|
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()));
|
}
|