wumu
2023-09-16 e16e6f0cf090e4d9582bc38439f71a895499cf26
internal_system_v1/coverinfo.cpp
@@ -2,6 +2,10 @@
#include "ui_coverinfo.h"
#include <QDebug>
#include <QDirIterator>
#include <QSqlQuery>
#include <QSqlRecord>
int g_comId = 0; // 全局变量,保存单位id
CoverInfo::CoverInfo(QWidget *parent) :
    QMainWindow(parent),
@@ -9,6 +13,8 @@
{
    ui->setupUi(this);
    readInfo();
    readDataFromSQL(); // 从数据库读取数据
}
CoverInfo::~CoverInfo()
@@ -161,9 +167,6 @@
                // 网址
                QVariant webSite = valRows[32].toList().at(5);
                if(webSite.isValid()) ui->label_webSite->setText(webSite.toString());
            }
            wbs->dynamicCall("Close()");
            excel.dynamicCall("Quit(void)");
@@ -176,3 +179,84 @@
//    excel.setProperty("DisplayAlerts",false);
}
void CoverInfo::readDataFromSQL()
{
    QSqlQuery query;
    QString sql;
    if(ui->label_name->text().size() > 1){
        sql = QString("select id,name from company_info where name='%1'").arg(ui->label_name->text());
        qDebug()<<"查询公司sql:"<<sql;
        if(query.exec(sql)){
            qDebug()<<"OK sql"<<__FUNCTION__;
            QSqlRecord res = query.record();
            qDebug()<<query.size()<<query.numRowsAffected()<<res.count();
            if(!query.next()){
                // 插入一条单位信息:
                sql = QString("insert into company_info (name,code,机构类型,主要业务活动,行业代码,单位注册地及区域,"
                              "区域代码,城乡代码,单位规模,从业期末人数,法定代表人,执行会记标准类别,长途区号,固定电话,邮政编码,"
                              "电子邮箱,网址) values ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10','%11','%12','%13','%14','%15','%16','%17')").arg(ui->label_name->text())
                        .arg(ui->label_creditCode->text()).arg(ui->label_comType->text()).arg(ui->label_business->text()).arg(ui->label_businessCode->text()).arg(ui->label_addr->text())
                        .arg(ui->label_areaCode->text()).arg(ui->label_townCode->text()).arg(ui->label_scale->text()).arg(ui->label_people->text()).arg(ui->label_representative->text())
                        .arg(ui->label_standardType->text()).arg(ui->label_trunkCode->text()).arg(ui->label_fixedTel->text()).arg(ui->label_postCode->text()).arg(ui->label_email->text())
                        .arg(ui->label_webSite->text());
                qDebug()<<"com_insert sql:"<<sql;
                if(query.exec(sql)){
                    qDebug()<<"insert com ok";
                }else{
                    qDebug()<<"insert com fail";
                }
            }else{
                g_comId = query.value(0).toInt();
            }
        }else{
            qDebug()<<"fail sql"<<__FUNCTION__;
        }
    }
    sql = QString("select id,name from company_info");
    if(query.exec(sql)){
        qDebug()<<"size:"<<query.size();
        while(query.next()){
            int id = query.value(0).toInt();
            QString name = query.value(1).toString();
            qDebug()<<"com select:"<<id<<name;
            m_com[name] = id;
            ui->comboBox->addItem(name);
        }
    }
}
void CoverInfo::on_comboBox_currentIndexChanged(const QString &arg1)
{
    QString sql = QString("select * from company_info where name='%1'").arg(arg1);
    QSqlQuery query;
    if(query.exec(sql)){
        qDebug()<<"切换查询成功:"<<arg1;
        while (query.next()) {
            qDebug()<<"切换查询成功查询到目标单位:"<<arg1;
            g_comId = query.value(0).toInt();
            ui->label_name->setText(query.value(1).toString());
            ui->label_creditCode->setText(query.value(2).toString());
            ui->label_comType->setText(query.value(3).toString());
            ui->label_business->setText(query.value(4).toString());
            ui->label_businessCode->setText(query.value(5).toString());
            ui->label_addr->setText(query.value(6).toString());
            ui->label_areaCode->setText(query.value(7).toString());
            ui->label_townCode->setText(query.value(8).toString());
            ui->label_scale->setText(query.value(9).toString());
            ui->label_people->setText(query.value(10).toString());
            ui->label_representative->setText(query.value(11).toString());
            ui->label_standardType->setText(query.value(12).toString());
            ui->label_trunkCode->setText(query.value(13).toString());
            ui->label_fixedTel->setText(query.value(14).toString());
            ui->label_postCode->setText(query.value(15).toString());
            ui->label_email->setText(query.value(16).toString());
            ui->label_webSite->setText(query.value(17).toString());
            break;
        }
    }else{
        qDebug()<<"切换查询失败:"<<arg1;
    }
}