| | |
| | | </rect> |
| | | </property> |
| | | <property name="windowTitle"> |
| | | <string>IS v3.2</string> |
| | | <string>IS v3.3</string> |
| | | </property> |
| | | <widget class="QWidget" name="centralWidget"> |
| | | <layout class="QGridLayout" name="gridLayout_3"> |
| | | <item row="0" column="0"> |
| | | <widget class="QTabWidget" name="tabWidget"> |
| | | <property name="currentIndex"> |
| | | <number>2</number> |
| | | <number>0</number> |
| | | </property> |
| | | <widget class="QWidget" name="tab"> |
| | | <attribute name="title"> |
| | |
| | | // 最后存到map中 |
| | | m_nameAndComInfos[name.toString()]=curComInfo; |
| | | |
| | | // 更新到数据库中 |
| | | saveToSQL(curComInfo); |
| | | qDebug()<<"load Excel save to SQL ok:"<<name; |
| | | |
| | | |
| | | // 添加树形列表节点 |
| | | //addTreeWidgetNode(upName,name); |
| | | |
| | |
| | | emit loadProgress((cntIdx/allSize)*100); |
| | | cntIdx++; |
| | | } |
| | | |
| | | // 再次查询数据库中所有的信息 |
| | | readAllSQLData(); |
| | | |
| | | createTreeNode(); // 构建树形节点 |
| | | |
| | |
| | | |
| | | |
| | | // 更新到数据库 |
| | | 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(); |
| | | // // 先判断是不是已经存在公司名了,若已存在,则更新,不存在则插入 |
| | | // 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,\ |
| | | 机构类型,\ |
| | | 主要业务活动,\ |
| | | 行业代码,\ |
| | | 单位注册地及区域,\ |
| | | 区域代码,\ |
| | | 城乡代码,\ |
| | | 单位规模,\ |
| | | 从业期末人数,\ |
| | | 法定代表人,\ |
| | | 执行会记标准类别,\ |
| | | 长途区号,\ |
| | | 固定电话,\ |
| | | 邮政编码,\ |
| | | 电子邮箱,\ |
| | | 网址,\ |
| | | 是否有上一级法人,\ |
| | | 上一级统信代码,\ |
| | | 原组织代码,\ |
| | | 上级单位名称,\ |
| | | 是否设置总审计师,\ |
| | | 总审计师职位层级,\ |
| | | 总审任职方式,\ |
| | | 是否设置内审机构,\ |
| | | 内审机构名称,\ |
| | | 领导机构,\ |
| | | 是否独立设置内审机构,\ |
| | | 财务部门,\ |
| | | 法务部门,\ |
| | | 内部控制部门,\ |
| | | 纪检部门,\ |
| | | 其他部门,\ |
| | | 内审层级,\ |
| | | 编制数量,\ |
| | | 实有人数量,\ |
| | | 专职人员数量,\ |
| | | 拥有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); |
| | | // while (query.next()) { |
| | | // rowCnt++; |
| | | // } |
| | | // } |
| | | // if(rowCnt == 0){ |
| | | // // 不存在,则插入一条新数据 |
| | | // qDebug()<<"不存在:"<<name; |
| | | // sql = QString("insert into all_company_info (name,\ |
| | | //code,\ |
| | | //机构类型,\ |
| | | //主要业务活动,\ |
| | | //行业代码,\ |
| | | //单位注册地及区域,\ |
| | | //区域代码,\ |
| | | //城乡代码,\ |
| | | //单位规模,\ |
| | | //从业期末人数,\ |
| | | //法定代表人,\ |
| | | //执行会记标准类别,\ |
| | | //长途区号,\ |
| | | //固定电话,\ |
| | | //邮政编码,\ |
| | | //电子邮箱,\ |
| | | //网址,\ |
| | | //是否有上一级法人,\ |
| | | //上一级统信代码,\ |
| | | //原组织代码,\ |
| | | //上级单位名称,\ |
| | | //是否设置总审计师,\ |
| | | //总审计师职位层级,\ |
| | | //总审任职方式,\ |
| | | //是否设置内审机构,\ |
| | | //内审机构名称,\ |
| | | //领导机构,\ |
| | | //是否独立设置内审机构,\ |
| | | //财务部门,\ |
| | | //法务部门,\ |
| | | //内部控制部门,\ |
| | | //纪检部门,\ |
| | | //其他部门,\ |
| | | //内审层级,\ |
| | | //编制数量,\ |
| | | //实有人数量,\ |
| | | //专职人员数量,\ |
| | | //拥有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(); |
| | | } |
| | | // 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',行业代码='%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,拥有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); |
| | | // }else{ |
| | | // // 更新 |
| | | // qDebug()<<"存在:"<<name; |
| | | // sql = QString("update all_company_info set name='%1',code='%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,拥有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(); |
| | | } |
| | | } |
| | | // qDebug()<<"update sql:"<<sql; |
| | | // if(query.exec(sql)){ |
| | | // qDebug()<<"update ok"; |
| | | // }else{ |
| | | // qDebug()<<"update fail:"<<query.lastError().text(); |
| | | // } |
| | | // } |
| | | |
| | | // 独立出来一个函数,传一个结构体就ok |
| | | } |
| | | |
| | | void ConverInfo2::readExcelFromPath(QString path) |
| | |
| | | return QMainWindow::eventFilter(watched,event); |
| | | |
| | | } |
| | | |
| | | void ConverInfo2::saveToSQL(ComInfo &info) |
| | | { |
| | | // 更新到数据库 |
| | | |
| | | // 先判断是不是已经存在公司名了,若已存在,则更新,不存在则插入 |
| | | 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; |
| | | if(query.exec(sql)){ |
| | | qDebug()<<"size:"<<query.size(); |
| | | |
| | | while (query.next()) { |
| | | rowCnt++; |
| | | } |
| | | qDebug()<<"rowCnt:"<<rowCnt; |
| | | } |
| | | if(rowCnt == 0){ |
| | | // 不存在,则插入一条新数据 |
| | | qDebug()<<"不存在:"<<QString::fromLocal8Bit(info.name); |
| | | sql = QString("insert into all_company_info (name,\ |
| | | code,\ |
| | | 机构类型,\ |
| | | 主要业务活动,\ |
| | | 行业代码,\ |
| | | 单位注册地及区域,\ |
| | | 区域代码,\ |
| | | 城乡代码,\ |
| | | 单位规模,\ |
| | | 从业期末人数,\ |
| | | 法定代表人,\ |
| | | 执行会记标准类别,\ |
| | | 长途区号,\ |
| | | 固定电话,\ |
| | | 邮政编码,\ |
| | | 电子邮箱,\ |
| | | 网址,\ |
| | | 是否有上一级法人,\ |
| | | 上一级统信代码,\ |
| | | 原组织代码,\ |
| | | 上级单位名称,\ |
| | | 是否设置总审计师,\ |
| | | 总审计师职位层级,\ |
| | | 总审任职方式,\ |
| | | 是否设置内审机构,\ |
| | | 内审机构名称,\ |
| | | 领导机构,\ |
| | | 是否独立设置内审机构,\ |
| | | 财务部门,\ |
| | | 法务部门,\ |
| | | 内部控制部门,\ |
| | | 纪检部门,\ |
| | | 其他部门,\ |
| | | 内审层级,\ |
| | | 编制数量,\ |
| | | 实有人数量,\ |
| | | 专职人员数量,\ |
| | | 拥有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(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; |
| | | if(query.exec(sql)){ |
| | | qDebug()<<"insert ok"; |
| | | }else{ |
| | | qDebug()<<"insert fail:"<<query.lastError().text(); |
| | | } |
| | | |
| | | }else{ |
| | | // 更新 |
| | | qDebug()<<"存在:"<<QString::fromLocal8Bit(info.name); |
| | | sql = QString("update all_company_info set name='%1',code='%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,拥有CIA人数=%38,硕士学历以上人数=%39,本科人数=%40\ |
| | | ,专科及以下人数=%41,高级职称人数=%42,中级职称人数=%43,初级职称人数=%44,无职称人数=%45,五十岁以上人数=%46,三十至五十岁岁人数=%47,三十岁以下人数=%48,审计数量=%49,会计数量=%50\ |
| | | ,经济数量=%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)){ |
| | | qDebug()<<"update ok"; |
| | | }else{ |
| | | qDebug()<<"update fail:"<<query.lastError().text(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | // 存名字到单位树map |
| | | QString upName = query.value(21).toString(); |
| | | if(!upName.isEmpty()){ |
| | | m_treeNodes[upName].push_back(name); |
| | | }else{ |
| | | m_treeNodes[name].push_back(name); |
| | | } |
| | | qDebug()<<"name"<<name<<"upName"<<upName; |
| | | |
| | | } |
| | | qDebug()<<"rowCnt:"<<rowCnt; |
| | | } |
| | | } |
| | | void ConverInfo2::addTreeWidgetNode(QVariant upName,QVariant name){ |
| | | // 添加左边树形图相关 |
| | | // 菜单相关 当上级公司为空上级时,自己当自己的上级,并且罗列进去当 本级 |
| | |
| | | |
| | | bool eventFilter(QObject *watched, QEvent *event); |
| | | |
| | | void saveToSQL(ComInfo &info); |
| | | void readAllSQLData(); // 将数据库表中的数据读出来放到2个map中,一个是数据map,一个是单位树map |
| | | |
| | | signals: |
| | | void loadFinished(); // 加载完成的信号 |
| | | void loadProgress(int); // 加载进度 |
| | |
| | | QDir dir(demoPath); |
| | | if(!dir.exists()){ |
| | | demoPath = QDir::currentPath()+"/release/Data/附件2_内审统01表_单位及内部审计机构基本情况表-1.301版_demo.xls"; |
| | | QDir dir_realse(demoPath); |
| | | if(!dir_realse.exists()){ |
| | | demoPath = QDir::currentPath()+"/Data/附件2_内审统01表_单位及内部审计机构基本情况表-1.301版_demo.xls"; |
| | | } |
| | | } |
| | | QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss"); |
| | | QString savePath = QFileDialog::getSaveFileName(nullptr,"保存文件",QDir::currentPath()+QString("/内审统01表_%1_%2.xls").arg(QString::fromLocal8Bit(info.name)).arg(dt),"Excel File(*.xls;*.xlsx)"); |
| | |
| | | QDir dir(demoPath); |
| | | if(!dir.exists()){ |
| | | demoPath = QDir::currentPath()+"/release/Data/三合一.xlsx"; |
| | | QDir dir_realese(demoPath); |
| | | if(!dir_realese.exists()){ |
| | | demoPath = QDir::currentPath()+"/Data/三合一.xlsx"; |
| | | } |
| | | } |
| | | |
| | | //QMessageBox::information(nullptr,"三合一路径",demoPath); |
| | | QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss"); |
| | | QString savePath = QFileDialog::getSaveFileName(nullptr,"保存文件",QDir::currentPath()+QString("/三合一_%1_%2.xls").arg(name).arg(dt),"Excel File(*.xls;*.xlsx)"); |
| | | qDebug()<<"savepath:"<<savePath << endl << "demoPath:"<<demoPath; |
| | |
| | | QDir dir(demoPath); |
| | | if(!dir.exists()){ |
| | | demoPath = QDir::currentPath()+"/release/Data/附件4_内审统03表_内部审计统计综合表.xls"; |
| | | QDir dir_realse(demoPath); |
| | | if(!dir_realse.exists()){ |
| | | demoPath = QDir::currentPath()+"/Data/附件4_内审统03表_内部审计统计综合表.xls"; |
| | | } |
| | | } |
| | | QString dt = QDateTime::currentDateTime().toString("yyyyMMdd-HHmmss"); |
| | | QString savePath = QFileDialog::getSaveFileName(nullptr,"保存文件",QDir::currentPath()+QString("/综合表_%1_%2.xls").arg(name).arg(dt),"Excel File(*.xls;*.xlsx)"); |
| | |
| | | _030257 TEXT,\ |
| | | _030258 TEXT,\ |
| | | _030260 TEXT,\ |
| | | _030300 TEXT,\ |
| | | _030301 TEXT,\ |
| | | _030300 TEXT,\ |
| | | _030301 TEXT,\ |
| | | _030302 TEXT,\ |
| | | _030303 TEXT,\ |
| | | _030304 TEXT,\ |
| | |
| | | // 存在,则更新内容即可 |
| | | qDebug()<<"id已存在,需更新数据即可"; |
| | | sql = QString("update standing_book_info set 审计类别='%1',审计年度='%2',审计单位='%3',审计方式='%4',责任主体名称='%5'" |
| | | ",审计项目='%6',审计项目名称='%7',问题类别='%8',问题定性='%9',问题描述='%10',问题定性法规依据='%11',审计发现问题金额定性='%12',审计发现问题个数定性='%13',涉及金额='%14',问题描述佐证资料='%15'" |
| | | ",审计期间已整改='%16',整改金额='%17',整改情况1='%18',整改情况佐证资料1='%19',整改结果='%20',整改完成时间='%21',尚未整改到位的原因='%22',整改预计完成时间='%23'" |
| | | ",审计项目='%6',审计项目名称='%7',问题类别='%8',问题定性='%9',问题描述='%10',问题定性法规依据='%11',审计发现问题金额定性='%12',审计发现问题个数定性='%13',涉及金额=%14,问题描述佐证资料='%15'" |
| | | ",审计期间已整改='%16',整改金额=%17,整改情况1='%18',整改情况佐证资料1='%19',整改结果='%20',整改完成时间='%21',尚未整改到位的原因='%22',整改预计完成时间='%23'" |
| | | ",整改情况2='%24',整改情况佐证资料2='%25',处分类型='%26',处分人数=%27,移送详细信息='%28',处理结果='%29',涉案人员=%30,整改检查结果_检查时间='%31',整改检查结果_检查方式='%32',整改检查结果_检查结果='%33',已整改_纠正问题='%34',已整改_完善制度='%35',已整改_完成时间='%36'" |
| | | ",正在整改_主要原因='%37',正在整改_完成时限='%38',尚未整改_主要原因='%39',尚未整改_责任部门或责任人='%40',尚未整改_完成时限='%41',整改成果_金额类整改成果='%42',整改成果_金额=%43,整改成果_非金额类整改成果='%44'" |
| | | ",整改成果_数量=%43, where id=%44").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text()) |
| | | ",整改成果_数量=%45 where id=%46").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text()) |
| | | .arg(ui->tableWidget->item(row,5)->text()).arg(ui->tableWidget->item(row,6)->text()).arg(ui->tableWidget->item(row,7)->text()).arg(ui->tableWidget->item(row,8)->text()).arg(ui->tableWidget->item(row,9)->text()).arg(ui->tableWidget->item(row,10)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text().toDouble()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text().toDouble()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,17+2)->text()).arg(ui->tableWidget->item(row,18+2)->text()).arg(ui->tableWidget->item(row,19+2)->text()).arg(ui->tableWidget->item(row,20+2)->text()).arg(ui->tableWidget->item(row,21+2)->text()).arg(ui->tableWidget->item(row,22+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text().toInt()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text().toInt()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,29+5+2)->text()).arg(ui->tableWidget->item(row,30+5+2)->text()).arg(ui->tableWidget->item(row,31+5+2)->text()).arg(ui->tableWidget->item(row,32+5+2)->text()).arg(ui->tableWidget->item(row,33+5+2)->text()).arg(ui->tableWidget->item(row,34+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text()).arg(ui->tableWidget->item(row,0)->text()); |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text().toDouble()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text().toInt()).arg(ui->tableWidget->item(row,0)->text()); |
| | | qDebug()<<sql; |
| | | rows = changeSQL(sql); |
| | | if(rows > 0){ |
| | |
| | | ",审计期间已整改,整改金额,整改情况1,整改情况佐证资料1,整改结果,整改完成时间,尚未整改到位的原因,整改预计完成时间" |
| | | ",整改情况2,整改情况佐证资料2,处分类型,处分人数,移送详细信息,处理结果,涉案人员,整改检查结果_检查时间,整改检查结果_检查方式,整改检查结果_检查结果,已整改_纠正问题,已整改_完善制度,已整改_完成时间" |
| | | ",正在整改_主要原因,正在整改_完成时限,尚未整改_主要原因,尚未整改_责任部门或责任人,尚未整改_完成时限,整改成果_金额类整改成果,整改成果_金额,整改成果_非金额类整改成果" |
| | | ",整改成果_数量,log_time) 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'" |
| | | ",整改成果_数量,log_time) 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')").arg(ui->tableWidget->item(row,1)->text()).arg(ui->tableWidget->item(row,2)->text()).arg(ui->tableWidget->item(row,3)->text()).arg(ui->tableWidget->item(row,4)->text()) |
| | | .arg(ui->tableWidget->item(row,5)->text()).arg(ui->tableWidget->item(row,6)->text()).arg(ui->tableWidget->item(row,7)->text()).arg(ui->tableWidget->item(row,8)->text()).arg(ui->tableWidget->item(row,9)->text()).arg(ui->tableWidget->item(row,10)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,11)->text()).arg(ui->tableWidget->item(row,12)->text()).arg(ui->tableWidget->item(row,13)->text()).arg(ui->tableWidget->item(row,12+2)->text().toDouble()).arg(ui->tableWidget->item(row,13+2)->text()).arg(ui->tableWidget->item(row,14+2)->text()).arg(ui->tableWidget->item(row,15+2)->text().toDouble()).arg(ui->tableWidget->item(row,16+2)->text()) |
| | | .arg(ui->tableWidget->item(row,17+2)->text()).arg(ui->tableWidget->item(row,18+2)->text()).arg(ui->tableWidget->item(row,19+2)->text()).arg(ui->tableWidget->item(row,20+2)->text()).arg(ui->tableWidget->item(row,21+2)->text()).arg(ui->tableWidget->item(row,22+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,23+2)->text()).arg(ui->tableWidget->item(row,24+2)->text()).arg(ui->tableWidget->item(row,25+2)->text().toInt()).arg(ui->tableWidget->item(row,26+2)->text()).arg(ui->tableWidget->item(row,27+2)->text()).arg(ui->tableWidget->item(row,28+2)->text().toInt()).arg(ui->tableWidget->item(row,24+5+2)->text()).arg(ui->tableWidget->item(row,25+5+2)->text()).arg(ui->tableWidget->item(row,26+5+2)->text()).arg(ui->tableWidget->item(row,27+5+2)->text()).arg(ui->tableWidget->item(row,28+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,29+5+2)->text()).arg(ui->tableWidget->item(row,30+5+2)->text()).arg(ui->tableWidget->item(row,31+5+2)->text()).arg(ui->tableWidget->item(row,32+5+2)->text()).arg(ui->tableWidget->item(row,33+5+2)->text()).arg(ui->tableWidget->item(row,34+5+2)->text()) |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss")); |
| | | .arg(ui->tableWidget->item(row,35+5+2)->text()).arg(ui->tableWidget->item(row,36+5+2)->text().toDouble()).arg(ui->tableWidget->item(row,37+5+2)->text()).arg(ui->tableWidget->item(row,38+5+2)->text().toInt()).arg(QDateTime::currentDateTime().toString("yyyy/MM/dd HH:mm:ss")); |
| | | qDebug()<<sql; |
| | | rows = changeSQL(sql); |
| | | if(rows > 0){ |
| | |
| | | typeLabels<<"其中:党纪处分"<<"政务处分"<<"内部纪律处分"<<"无处分"; |
| | | m_cbb_type = new ComboBoxDelegate(typeLabels,this); |
| | | ui->tableWidget->setItemDelegateForColumn(26,m_cbb_type); |
| | | |
| | | |
| | | |
| | | // 检查结果 |
| | | QStringList checkResLabels; |
| | |
| | | |
| | | } |
| | | } |
| | | QMessageBox::information(this,"保存提示",QString("总行数为%1,成功%2行,失败%3行。").arg(ui->tableWidget->rowCount()) |
| | | .arg(hasContentRow).arg(ui->tableWidget->rowCount()-hasContentRow)); |
| | | QMessageBox::information(this,"保存提示",QString("总行数为%1,成功%2行,失败%3行。").arg(ui->tableWidget->rowCount()-3) |
| | | .arg(hasContentRow).arg(ui->tableWidget->rowCount()-3-hasContentRow)); |
| | | } |
| | | |
| | | void ThreeMergeProblemList::on_pushButton_moreSearch_clicked() |
| | |
| | | |
| | | // 获取表格数据,添加到信息中 |
| | | for(int i=3;i<ui->tableWidget->rowCount();++i){ // 从第三行开始 |
| | | |
| | | // 先对空项进行特殊处理 |
| | | for(int j=0;j<ui->tableWidget->columnCount();++j){ |
| | | if(ui->tableWidget->item(i,j) == nullptr){ |
| | | ui->tableWidget->setItem(i,j,new QTableWidgetItem(" ")); |
| | | qDebug()<<"save find out empty:"<<i<<j; |
| | | } |
| | | } |
| | | ThreeMergeInfo rowInfo; |
| | | rowInfo.id = ui->tableWidget->item(i,0)->text().toInt(); |
| | | // 发现问题 |
| | |
| | | ExportToFile etf; |
| | | etf.saveToExcelFromThreeMergePro(name,infos); |
| | | } |
| | | |
| | | void ThreeMergeProblemList::on_tableWidget_cellChanged(int row, int column) |
| | | { |
| | | qDebug()<<"cellChanged:"<<row<<column; |
| | | QTableWidgetItem *item = ui->tableWidget->item(row,5); |
| | | if(row < 3 || !item) return; // 防止异常 |
| | | if(column == 26) // 表示是处分类型被修改了,那就可以自动去获取数据库中的数据出来,同步到同一行去了 |
| | | { |
| | | QString rectify_type = ui->tableWidget->item(row,column)->text(); |
| | | QString name = ui->tableWidget->item(row,5)->text(); |
| | | QMap<QString,QString> typeInfos; |
| | | typeInfos["其中:党纪处分"] = "_030901"; |
| | | typeInfos["政务处分"] = "_030902"; |
| | | typeInfos["内部纪律处分"] = "_030903"; |
| | | |
| | | QString sql = QString("select %1,_031001 from comprehensive_entry_info where name='%2'").arg(typeInfos[rectify_type]).arg(name); |
| | | qDebug()<<"sql:"<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | | qDebug()<<"执行成果,记录结果 处分类型:"<<rectify_type; |
| | | int cnt=0; |
| | | int involved_person_cnt = 0; |
| | | while(query.next()){ |
| | | cnt += query.value(0).toInt(); |
| | | involved_person_cnt += query.value(1).toInt(); |
| | | } |
| | | qDebug()<<"查到cnt="<<cnt <<" 涉案人员:"<<involved_person_cnt; |
| | | ui->tableWidget->setItem(row,27,new QTableWidgetItem(QString::number(cnt))); |
| | | ui->tableWidget->setItem(row,30,new QTableWidgetItem(QString::number(involved_person_cnt))); |
| | | }else { |
| | | qDebug()<<"查询失败 处分类型"<<rectify_type; |
| | | } |
| | | |
| | | }else if(column == 42) // 表示是金额类整改成果触发了 |
| | | { |
| | | QMap<QString,QString> moneyInfos; |
| | | moneyInfos["其中:调整会计账目"] = "_030701"; |
| | | moneyInfos["收回资金"] = "_030702"; |
| | | moneyInfos["挽回损失"] = "_030703"; |
| | | moneyInfos["归还原资金渠道"] = "_030704"; |
| | | moneyInfos["补缴税费"] = "_030705"; |
| | | moneyInfos["其他"] = "_030706"; |
| | | |
| | | QString currentText = ui->tableWidget->item(row,42)->text(); |
| | | QString name = ui->tableWidget->item(row,5)->text(); |
| | | QString sql = QString("select %1 from comprehensive_entry_info where name='%2'").arg(moneyInfos[currentText]).arg(name); |
| | | qDebug()<<"sql:"<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | | double cnt=0; |
| | | while (query.next()) { |
| | | cnt += query.value(0).toDouble(); |
| | | } |
| | | ui->tableWidget->setItem(row,43,new QTableWidgetItem(QString::number(cnt))); |
| | | }else{ |
| | | qDebug()<<"执行sql失败 审计发现问题整改(金额类)"; |
| | | } |
| | | |
| | | |
| | | }else if(column == 44) // 表示是非金额类整改成果触发了 |
| | | { |
| | | |
| | | QMap<QString,QString> noMoneyInfos; |
| | | noMoneyInfos["其中:新制定制度"] = "_030801"; |
| | | noMoneyInfos["修订完善制度"] = "_030802"; |
| | | noMoneyInfos["优化完善业务流程"] = "_030803"; |
| | | noMoneyInfos["其他"] = "_030804"; |
| | | |
| | | QString currentText = ui->tableWidget->item(row,44)->text(); |
| | | QString name = ui->tableWidget->item(row,5)->text(); |
| | | QString sql = QString("select %1 from comprehensive_entry_info where name='%2'").arg(noMoneyInfos[currentText]).arg(name); |
| | | qDebug()<<"sql:"<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | | int cnt=0; |
| | | while (query.next()) { |
| | | cnt += query.value(0).toInt(); |
| | | } |
| | | ui->tableWidget->setItem(row,45,new QTableWidgetItem(QString::number(cnt))); |
| | | }else{ |
| | | qDebug()<<"执行sql失败 审计发现问题整改(金额类)"; |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | void on_pushButton_save_export_clicked(); |
| | | |
| | | void on_tableWidget_cellChanged(int row, int column); |
| | | |
| | | private: |
| | | Ui::ThreeMergeProblemList *ui; |
| | | QMenu *m_menu; // 问题清单菜单 |