wumu
2024-02-28 7dd76d103a351caae20261fc7bb67d01bd66e906
0228
4个文件已修改
342 ■■■■ 已修改文件
internal_system_v1/converinfo2.cpp 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/converinfo2.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/converinfo2.ui 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
internal_system_v1/struct_data.h 107 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,30 @@
    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();
    // 单位组织结构情况
}
internal_system_v1/converinfo2.h
@@ -27,6 +27,8 @@
    void deleteInfo();
    void on_treeWidget_doubleClicked(const QModelIndex &index);
    void on_pushButton_commit_clicked();
private:
    Ui::ConverInfo2 *ui;
    QMenu *m_menu;
internal_system_v1/converinfo2.ui
@@ -38,8 +38,8 @@
      <widget class="QWidget" name="scrollAreaWidgetContents">
       <property name="geometry">
        <rect>
         <x>-15</x>
         <y>-908</y>
         <x>0</x>
         <y>-1097</y>
         <width>1000</width>
         <height>3000</height>
        </rect>
@@ -3365,6 +3365,135 @@
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QLineEdit" name="lineEdit_statisticalConOfficer">
        <property name="geometry">
         <rect>
          <x>100</x>
          <y>1390</y>
          <width>151</width>
          <height>21</height>
         </rect>
        </property>
       </widget>
       <widget class="QLabel" name="label_126">
        <property name="geometry">
         <rect>
          <x>10</x>
          <y>1390</y>
          <width>91</width>
          <height>21</height>
         </rect>
        </property>
        <property name="frameShape">
         <enum>QFrame::Box</enum>
        </property>
        <property name="text">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;统计负责人&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QLineEdit" name="lineEdit_officerTel">
        <property name="geometry">
         <rect>
          <x>100</x>
          <y>1410</y>
          <width>151</width>
          <height>21</height>
         </rect>
        </property>
       </widget>
       <widget class="QLabel" name="label_127">
        <property name="geometry">
         <rect>
          <x>10</x>
          <y>1410</y>
          <width>91</width>
          <height>21</height>
         </rect>
        </property>
        <property name="frameShape">
         <enum>QFrame::Box</enum>
        </property>
        <property name="text">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;联系电话&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QLineEdit" name="lineEdit_personFilling">
        <property name="geometry">
         <rect>
          <x>340</x>
          <y>1390</y>
          <width>151</width>
          <height>21</height>
         </rect>
        </property>
       </widget>
       <widget class="QLabel" name="label_128">
        <property name="geometry">
         <rect>
          <x>250</x>
          <y>1390</y>
          <width>91</width>
          <height>21</height>
         </rect>
        </property>
        <property name="frameShape">
         <enum>QFrame::Box</enum>
        </property>
        <property name="text">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;填表人&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QLineEdit" name="lineEdit_fillingDateTime">
        <property name="geometry">
         <rect>
          <x>340</x>
          <y>1410</y>
          <width>151</width>
          <height>21</height>
         </rect>
        </property>
       </widget>
       <widget class="QLabel" name="label_129">
        <property name="geometry">
         <rect>
          <x>250</x>
          <y>1410</y>
          <width>91</width>
          <height>21</height>
         </rect>
        </property>
        <property name="frameShape">
         <enum>QFrame::Box</enum>
        </property>
        <property name="text">
         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;right&quot;&gt;填表日期&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
        </property>
        <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
       <widget class="QPushButton" name="pushButton_commit">
        <property name="geometry">
         <rect>
          <x>420</x>
          <y>1460</y>
          <width>241</width>
          <height>41</height>
         </rect>
        </property>
        <property name="text">
         <string>修改后更新提交</string>
        </property>
       </widget>
       <zorder>label_70</zorder>
       <zorder>label_webSite</zorder>
       <zorder>label_townCode</zorder>
@@ -3551,6 +3680,15 @@
       <zorder>label_125</zorder>
       <zorder>label_228</zorder>
       <zorder>label_229</zorder>
       <zorder>lineEdit_statisticalConOfficer</zorder>
       <zorder>label_126</zorder>
       <zorder>lineEdit_officerTel</zorder>
       <zorder>label_127</zorder>
       <zorder>lineEdit_personFilling</zorder>
       <zorder>label_128</zorder>
       <zorder>lineEdit_fillingDateTime</zorder>
       <zorder>label_129</zorder>
       <zorder>pushButton_commit</zorder>
      </widget>
     </widget>
    </item>
internal_system_v1/struct_data.h
@@ -4,68 +4,75 @@
// 单位基本信息
struct ComInfo{
    // 基本情况
    char creditCode[64]; // 统一社会信用代码
    char name[128]; // 单位名称
    char comType[64]; // 机构类型 是一个下拉框选项
    char business[256]; // 业务活动
    char businessCode[32]; // 行业代码
    char addr[256]; // 注册地及区划
    char areaCode[32]; // 区域代码
    char townCode[32]; // 城乡代码
    char scale[32]; // 单位规模 下拉框选项
    char creditCode[64]={0}; // 统一社会信用代码
    char name[128]={0}; // 单位名称
    char comType[64]={0}; // 机构类型 是一个下拉框选项
    char business[256]={0}; // 业务活动
    char businessCode[32]={0}; // 行业代码
    char addr[256]={0}; // 注册地及区划
    char areaCode[32]={0}; // 区域代码
    char townCode[32]={0}; // 城乡代码
    char scale[32]={0}; // 单位规模 下拉框选项
    int people; // 从业人员数量
    char representative[32]; // 法人
    char standardType[32]; // 执行会计标准类别
    char trunkCode[32]; // 长途区号
    char fixedTel[32]; // 固定电话
    char postCode[32]; // 邮政编码
    char email[32]; // 电子邮箱
    char webSite[128]; // 网址
    char representative[32]={0}; // 法人
    char standardType[32]={0}; // 执行会计标准类别
    char trunkCode[32]={0}; // 长途区号
    char fixedTel[32]={0}; // 固定电话
    char postCode[32]={0}; // 邮政编码
    char email[32]={0}; // 电子邮箱
    char webSite[128]={0}; // 网址
    // 二、单位组织结构情况
    char hasUpLegal[32]; // 是否有上一级法人
    char upCreditCode[32]; // 上一级统一社会信用代码
    char oldCreditCode[32]; // 原组织机构代码
    char upName[128]; // 上一级单位名称
    char hasUpLegal[32]={0}; // 是否有上一级法人
    char upCreditCode[32]={0}; // 上一级统一社会信用代码
    char oldCreditCode[32]={0}; // 原组织机构代码
    char upName[128]={0}; // 上一级单位名称
    // 总审计师与内部审计机构基本情况
    char hasChiefDesigner[32]; // 是否设置总审计师
    char ChiefDesignerLevel[32]; // 总审计师职位层级
    char employmentMode[32]; // 总审任职方式
    char hasSetIntervalAudit[32]; // 是否设置内审机构
    char internalName[128]; // 内审机构名称
    char leadingOrganization[32]; // 领导机构
    char hasSetSeparateIA[32]; // 是否独立设置内审机构
    char hasChiefDesigner[32]={0}; // 是否设置总审计师
    char ChiefDesignerLevel[32]={0}; // 总审计师职位层级
    char employmentMode[32]={0}; // 总审任职方式
    char hasSetIntervalAudit[32]={0}; // 是否设置内审机构
    char internalName[128]={0}; // 内审机构名称
    char leadingOrganization[32]={0}; // 领导机构
    char hasSetSeparateIA[32]={0}; // 是否独立设置内审机构
    bool financeDepartment; // 财务部门
    bool legalDepartment; // 法务部门
    bool internalConDepart; // 内部控制部门
    bool disceplineInDepart; // 纪检部门
    bool otherDepart; // 其他部门
    char intavalAuditLeval[32]; // 内审层级
    char intavalAuditLeval[32]={0}; // 内审层级
    // 内部审计人员配备基本情况
    int organazationNum; // 编制数量
    int realNum; // 实有人员数
    int professionalNum; // 专职人员数量
    int CIANum; // 拥有CIA人数
    int masterNum; // 硕士学历以上人数
    int undergraduatesNum; // 本科人数
    int juniorNum; // 专科及以下人数
    int seniorNum; // 高级职称人数
    int intermediateNum; // 中级职称人数
    int primaryNum; // 初级职称人数
    int noTitleNum; // 无职称人数
    int upFiftyOldNum; // 50岁以上人数
    int upThirtyOldNum; // 30-50岁人数
    int downThirtyOldNum; // 30岁以下人数
    int auditNum; // 审计数量
    int accountingNum; // 会计数量
    int economyNum; // 经济数量
    int lawNum; // 法律数量
    int managerNum; // 管理数量
    int itNum; // 信息技术数量
    int engineeringNum; // 工程数量
    int otherNum; // 其他数量
    int organazationNum=0; // 编制数量
    int realNum=0; // 实有人员数
    int professionalNum=0; // 专职人员数量
    int CIANum=0; // 拥有CIA人数
    int masterNum=0; // 硕士学历以上人数
    int undergraduatesNum=0; // 本科人数
    int juniorNum=0; // 专科及以下人数
    int seniorNum=0; // 高级职称人数
    int intermediateNum=0; // 中级职称人数
    int primaryNum=0; // 初级职称人数
    int noTitleNum=0; // 无职称人数
    int upFiftyOldNum=0; // 50岁以上人数
    int upThirtyOldNum=0; // 30-50岁人数
    int downThirtyOldNum=0; // 30岁以下人数
    int auditNum=0; // 审计数量
    int accountingNum=0; // 会计数量
    int economyNum=0; // 经济数量
    int lawNum=0; // 法律数量
    int managerNum=0; // 管理数量
    int itNum=0; // 信息技术数量
    int engineeringNum=0; // 工程数量
    int otherNum=0; // 其他数量
    // 后面的4个信息
    char statisticalConOfficer[32]={0}; // 统计负责人
    char personFilling[32]={0}; // 填表人
    char officerTel[32]={0}; // 联系电话
    char fillingDateTime[32]={0}; // 填报日期
};
#endif // STRUCT_DATA_H