wumu
2024-03-01 6680ad0c95b04ee59bab0b7c1cd65351f279b7bf
internal_system_v1/converinfo2.cpp
@@ -122,7 +122,7 @@
    // 二、单位组织结构情况
    ui->comboBox_hasUpLegal->setCurrentText(QString::fromLocal8Bit(curCominfo.hasUpLegal));
    ui->lineEdit_upCreditCode->setText(curCominfo.upCreditCode);
    ui->lineEdit_upCreditCode->setText(QString::fromLocal8Bit(curCominfo.upCreditCode));
    ui->lineEdit_oldCreditCode->setText(curCominfo.oldCreditCode);
    ui->lineEdit_upName->setText(QString::fromLocal8Bit(curCominfo.upName));
@@ -164,6 +164,12 @@
    ui->lineEdit_itNum->setText(QString::number(curCominfo.itNum));
    ui->lineEdit_engineeringNum->setText(QString::number(curCominfo.engineeringNum));
    ui->lineEdit_otherNum->setText(QString::number(curCominfo.otherNum));
    // 其他的4个信息
    ui->lineEdit_statisticalConOfficer->setText(QString::fromLocal8Bit(curCominfo.statisticalConOfficer));
    ui->lineEdit_personFilling->setText(QString::fromLocal8Bit(curCominfo.personFilling));
    ui->lineEdit_officerTel->setText(QString::fromLocal8Bit(curCominfo.officerTel));
    ui->lineEdit_fillingDateTime->setText(QString::fromLocal8Bit(curCominfo.fillingDateTime));
}
void ConverInfo2::readInfo()
@@ -209,9 +215,13 @@
            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();
            //QAxObject * shs = wb->querySubObject("Sheets"); // WorkSheets 也可以
            QAxObject * shs = wb->querySubObject("WorkSheets"); // WorkSheets 也可以
//            // 指定单元格拿
//            QAxObject *cell = shs->querySubObject("Cells(int, int)",82,1);
//            qDebug()<<"Cells:82-0:"<<shs->querySubObject("Cells(int, int)",82,0)->dynamicCall("Value()").toString();
//            qDebug()<<"Cells:82-1:"<<cell->dynamicCall("Value()").toString();
            int cnt = shs->property("Count").toInt();
            qDebug()<<"cnt="<<cnt;
            for(int i=0;i<cnt;++i){
@@ -225,16 +235,16 @@
                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;
//                        }
                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;
@@ -636,6 +646,34 @@
                    qDebug()<<"otherNum"<<otherNum;
                }
                // 后面的4个信息
                // 统计负责人
                QVariant statisticalConOfficer = valRows[81].toList().at(1);
                if(statisticalConOfficer.isValid()){
                    strcpy(curComInfo.statisticalConOfficer,statisticalConOfficer.toString().toLocal8Bit().data());
                    qDebug()<<"statisticalConOfficer"<<statisticalConOfficer;
                }else{
                    qDebug()<<"statisticalConOfficer fail:"<<name.toString();
                }
                // 填表人
                QVariant personFilling = valRows[81].toList().at(4);
                if(personFilling.isValid()){
                    strcpy(curComInfo.personFilling,personFilling.toString().toLocal8Bit().data());
                    qDebug()<<"personFilling"<<personFilling;
                }
                // 联系电话
                QVariant officerTel = valRows[82].toList().at(1);
                if(officerTel.isValid()){
                    strcpy(curComInfo.officerTel,officerTel.toString().toLocal8Bit().data());
                    qDebug()<<"officerTel"<<officerTel;
                }
                // 填报日期
                QVariant fillingDateTime = valRows[82].toList().at(4);
                if(fillingDateTime.isValid()){
                    strcpy(curComInfo.fillingDateTime,fillingDateTime.toString().toLocal8Bit().data());
                    qDebug()<<"fillingDateTime"<<fillingDateTime;
                }
                // 最后存到map中
                m_nameAndComInfos[name.toString()]=curComInfo;
@@ -671,3 +709,170 @@
    connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo()));
    connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo()));
}
void ConverInfo2::on_pushButton_commit_clicked()
{
    // 将编辑框的数据更新到map中和数据库中,后期可以更新到文件中
    // 单位基本情况
    QString creditCode = ui->lineEdit_creditCode->text();
    QString name = ui->lineEdit_name->text();
    QString comType = ui->comboBox_comType->currentText();
    QString business = ui->lineEdit_business->text();
    QString businessCode = ui->lineEdit_businessCode->text();
    QString addr = ui->lineEdit_addr->text();
    QString areaCode = ui->lineEdit_areaCode->text();
    QString townCode = ui->lineEdit_townCode->text();
    QString scale = ui->comboBox_scale->currentText();
    QString people = ui->lineEdit_people->text();
    QString representative = ui->lineEdit_representative->text();
    QString standardType = ui->comboBox_standardType->currentText();
    QString trunkCode = ui->lineEdit_trunkCode->text();
    QString fixedTel = ui->lineEdit_fixedTel->text();
    QString postCode = ui->lineEdit_postCode->text();
    QString email = ui->lineEdit_email->text();
    QString webSite = ui->lineEdit_webSite->text();
    // 单位组织结构情况
    QString hasUpLegal = ui->comboBox_hasUpLegal->currentText();
    QString upCreditCode = ui->lineEdit_upCreditCode->text();
    QString oldCreditCode = ui->lineEdit_oldCreditCode->text();
    QString upName = ui->lineEdit_upName->text();
    // 总审计师与内审机构基本情况
    QString hasChiefDesigner = ui->comboBox_hasChiefDesigner->currentText();
    QString ChiefDesignerLevel = ui->comboBox_ChiefDesignerLevel->currentText();
    QString employmentMode = ui->comboBox_employmentMode->currentText();
    QString hasSetIntervalAudit = ui->comboBox_hasSetIntervalAudit->currentText();
    QString internalName = ui->lineEdit_internalName->text();
    QString leadingOrganization = ui->comboBox_leadingOrganization->currentText();
    QString hasSetSeparateIA = ui->comboBox_hasSetSeparateIA->currentText();
    bool financeDepartment = ui->checkBox_financeDepartment->isChecked();
    bool legalDepartment = ui->checkBox_legalDepartment->isChecked();
    bool internalConDepart = ui->checkBox_internalConDepart->isChecked();
    bool disceplineInDepart = ui->checkBox_disceplineInDepart->isChecked();
    bool otherDepart = ui->checkBox_otherDepart->isChecked();
    QString intavalAuditLeval = ui->comboBox_intavalAuditLeval->currentText();
    // 四、内审人员配备基本情况
    int organazationNum = ui->lineEdit_organazationNum->text().toInt();
    int realNum = ui->lineEdit_realNum->text().toInt();
    int professionalNum = ui->lineEdit_professionalNum->text().toInt();
    int CIANum = ui->lineEdit_CIANum->text().toInt();
    int masterNum = ui->lineEdit_masterNum->text().toInt();
    int undergraduatesNum = ui->lineEdit_undergraduatesNum->text().toInt();
    int juniorNum = ui->lineEdit_juniorNum->text().toInt();
    int seniorNum = ui->lineEdit_seniorNum->text().toInt();
    int intermediateNum = ui->lineEdit_intermediateNum->text().toInt();
    int primaryNum = ui->lineEdit_primaryNum->text().toInt();
    int noTitleNum = ui->lineEdit_noTitleNum->text().toInt();
    int upFiftyOldNum = ui->lineEdit_upFiftyOldNum->text().toInt();
    int upThirtyOldNum = ui->lineEdit_upThirtyOldNum->text().toInt();
    int downThirtyOldNum = ui->lineEdit_downThirtyOldNum->text().toInt();
    int auditNum = ui->lineEdit_auditNum->text().toInt();
    int accountingNum = ui->lineEdit_accountingNum->text().toInt();
    int economyNum = ui->lineEdit_economyNum->text().toInt();
    int lawNum = ui->lineEdit_lawNum->text().toInt();
    int managerNum = ui->lineEdit_managerNum->text().toInt();
    int itNum = ui->lineEdit_itNum->text().toInt();
    int engineeringNum = ui->lineEdit_engineeringNum->text().toInt();
    int otherNum = ui->lineEdit_otherNum->text().toInt();
    // 后面的4个信息
    QString statisticalConOfficer = ui->lineEdit_statisticalConOfficer->text();
    QString personFilling = ui->lineEdit_personFilling->text();
    QString officerTel = ui->lineEdit_officerTel->text();
    QString fillingDateTime = ui->lineEdit_fillingDateTime->text();
    qDebug()<<"统计负责人"<<statisticalConOfficer;
    // 更新到map中
    auto &curComInfo = m_nameAndComInfos[name];
    strcpy(curComInfo.creditCode,creditCode.toLocal8Bit().data());
    strcpy(curComInfo.name,name.toLocal8Bit().data());
    strcpy(curComInfo.comType,comType.toLocal8Bit().data());
    strcpy(curComInfo.business,business.toLocal8Bit().data());
    strcpy(curComInfo.businessCode,businessCode.toLocal8Bit().data());
    strcpy(curComInfo.addr,addr.toLocal8Bit().data());
    strcpy(curComInfo.areaCode,areaCode.toLocal8Bit().data());
    strcpy(curComInfo.townCode,townCode.toLocal8Bit().data());
    strcpy(curComInfo.scale,scale.toLocal8Bit().data());
    curComInfo.people = people.toInt();
    strcpy(curComInfo.representative,representative.toLocal8Bit().data());
    strcpy(curComInfo.standardType,standardType.toLocal8Bit().data());
    strcpy(curComInfo.trunkCode,trunkCode.toLocal8Bit().data());
    strcpy(curComInfo.fixedTel,fixedTel.toLocal8Bit().data());
    strcpy(curComInfo.postCode,postCode.toLocal8Bit().data());
    strcpy(curComInfo.email,email.toLocal8Bit().data());
    strcpy(curComInfo.webSite,webSite.toLocal8Bit().data());
    // 二
    strcpy(curComInfo.hasUpLegal,hasUpLegal.toLocal8Bit().data());
    strcpy(curComInfo.upCreditCode,upCreditCode.toLocal8Bit().data());
    strcpy(curComInfo.oldCreditCode,oldCreditCode.toLocal8Bit().data());
    strcpy(curComInfo.upName,upName.toLocal8Bit().data());
    // 三
    strcpy(curComInfo.hasChiefDesigner,hasChiefDesigner.toLocal8Bit().data());
    strcpy(curComInfo.ChiefDesignerLevel,ChiefDesignerLevel.toLocal8Bit().data());
    strcpy(curComInfo.employmentMode,employmentMode.toLocal8Bit().data());
    strcpy(curComInfo.hasSetIntervalAudit,hasSetIntervalAudit.toLocal8Bit().data());
    strcpy(curComInfo.internalName,internalName.toLocal8Bit().data());
    strcpy(curComInfo.leadingOrganization,leadingOrganization.toLocal8Bit().data());
    strcpy(curComInfo.hasSetSeparateIA,hasSetSeparateIA.toLocal8Bit().data());
    curComInfo.financeDepartment = financeDepartment;
    curComInfo.legalDepartment = legalDepartment;
    curComInfo.internalConDepart = internalConDepart;
    curComInfo.disceplineInDepart = disceplineInDepart;
    curComInfo.otherDepart = otherDepart;
    strcpy(curComInfo.intavalAuditLeval,intavalAuditLeval.toLocal8Bit().data());
    // 四
    curComInfo.organazationNum = organazationNum;
    curComInfo.realNum = realNum;
    curComInfo.professionalNum = professionalNum;
    curComInfo.CIANum = CIANum;
    curComInfo.masterNum = masterNum;
    curComInfo.undergraduatesNum = undergraduatesNum;
    curComInfo.juniorNum = juniorNum;
    curComInfo.seniorNum = seniorNum;
    curComInfo.intermediateNum = intermediateNum;
    curComInfo.primaryNum = primaryNum;
    curComInfo.noTitleNum = noTitleNum;
    curComInfo.upFiftyOldNum = upFiftyOldNum;
    curComInfo.upThirtyOldNum = upThirtyOldNum;
    curComInfo.downThirtyOldNum = downThirtyOldNum;
    curComInfo.auditNum = auditNum;
    curComInfo.accountingNum = accountingNum;
    curComInfo.economyNum = economyNum;
    curComInfo.lawNum = lawNum;
    curComInfo.managerNum = managerNum;
    curComInfo.itNum = itNum;
    curComInfo.engineeringNum = engineeringNum;
    curComInfo.otherNum = otherNum;
    // 后4个信息
    strcpy(curComInfo.statisticalConOfficer,statisticalConOfficer.toLocal8Bit().data());
    strcpy(curComInfo.personFilling,personFilling.toLocal8Bit().data());
    strcpy(curComInfo.officerTel,officerTel.toLocal8Bit().data());
    strcpy(curComInfo.fillingDateTime,fillingDateTime.toLocal8Bit().data());
    // 更新到数据库
    // 先判断是不是已经存在公司名了,若已存在,则更新,不存在则插入
    QString sql = QString("select id,name from all_company_info where name='%1'").arg(name);
    QSqlQuery query;
    int rowCnt = 0;
    if(query.exec(sql)){
        qDebug()<<"size:"<<query.size();
        while (query.next()) {
            rowCnt++;
        }
    }
    if(rowCnt == 0){
        // 不存在,则插入一条新数据
    }else{
        // 更新
    }
}