wumu
2024-04-23 191d62844bc548707e8a310af615f594b576ca29
internal_system_v1/clientmainwindow.cpp
@@ -83,7 +83,12 @@
//    m_coverInfo->setParent(ui->tab);
    // 隐藏掉某个选项
    // 按索引来,从大到小
    ui->tabWidget->removeTab(3); // OK
    ui->tabWidget->removeTab(1); // OK  老业务情况表
    ui->tabWidget->removeTab(0); // OK  老封面
    // 问题整改台账
    m_proRecStandingBook = new ProblemRectStandingBook(this);
@@ -101,6 +106,30 @@
    connect(this,SIGNAL(sendDataToPunish(QVariantList)),m_punish,SLOT(showData(QVariantList)));
    connect(this,SIGNAL(sendDataToCaseClue(QVariantList)),m_caseClue,SLOT(showData(QVariantList)));
    // 新版本
    m_conInfo2 = new ConverInfo2(this);
    //ui->tabWidget->addTab(m_conInfo2,"基本信息");
    ui->tabWidget->insertTab(0,m_conInfo2,"封面信息");
    m_problemList = new ProblemList(this);
    ui->tabWidget->addTab(m_problemList,"问题清单");
    m_problemRectifResult = new ProblemRectificationResult(this);
    ui->tabWidget->addTab(m_problemRectifResult,"整改成果");
    m_tableItemDelegate = new TableItemDelegate(); // 代理 禁用编辑
    m_editDelegate = new QItemDelegate(this); // 可编辑
    ui->tableWidget->setItemDelegateForColumn(0,m_tableItemDelegate);
    ui->tableWidget->setItemDelegateForColumn(1,m_tableItemDelegate);
    ui->tableWidget->setItemDelegateForColumn(2,m_tableItemDelegate);
    // 3和1
    m_threeMPList = new ThreeMergeProblemList(this);
    ui->tabWidget->addTab(m_threeMPList,"三合一问题处理");
    // 默认调用一下下拉框的触发操作
    on_comboBox_currentIndexChanged("企业(不含金融企业)");
}
@@ -327,6 +356,7 @@
                val += ui->tableWidget->item(j,3)->text().toInt();
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
            ui->tableWidget->setItem(5,3,new QTableWidgetItem(QString::number(val))); // 内部审计人员数量
        }
        if(i==11){ // 职称
@@ -335,6 +365,7 @@
                val += ui->tableWidget->item(j,3)->text().toInt();
            }
            ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::number(val)));
        }
        if(i==20){ // 知识结构
@@ -443,3 +474,238 @@
    qDebug()<<__FUNCTION__<<row<<column;
    calc();
}
void ClientMainWindow::on_pushButton_save_clicked()
{
    // 保存数据,结构比较特殊,需要多行多列同时写入
    // 得考虑分段单表处理方可
    // 获取写到文件里面,每个单位一个文件
    // 把单位类型作为一个列即可
    qDebug()<<"保存数据";
    for(int i=1;i<ui->tableWidget->rowCount();++i){
        qDebug()<<"data:"<<ui->tableWidget->item(i,1)->text()<<" "<<ui->tableWidget->item(i,3)->text();
    }
    // 先判断公司在不在,不在则新增,在则修改
    QString sql = QString("select name from comprehensive_entry_info where name='%1'").arg(ui->comboBox_company->currentText());
    qDebug()<<"sql select:"<<sql;
    QSqlQuery query;
    bool nameExsit = false;
    if(query.exec(sql))
    {
      qDebug()<<QString("select comprehensive_entry_info ok...");
      while (query.next()) {
          nameExsit = true;
          qDebug()<<"公司名存在:"<<ui->comboBox_company->currentText();
          break;
      }
    }else{
      qDebug()<<QString("select comprehensive_entry_info fail...")<<query.lastError().text();
    }
    if(!nameExsit){
        qDebug()<<"公司名不存在:"<<ui->comboBox_company->currentText();
        // 插入
        sql = QString("insert into comprehensive_entry_info (name,_030000,_030001,_030100,_030101,_030200,_030210,_030220,_030221,_030222,_030223,_030230,\
                      _030231,\
                      _030232,\
                      _030233,\
                      _030234,\
                      _030240,\
                      _030241,\
                      _030242,\
                      _030243,\
                      _030250,\
                      _030251,\
                      _030252,\
                      _030253,\
                      _030254,\
                      _030255,\
                      _030256,\
                      _030257,\
                      _030258,\
                      _030260,\
                      _030300,\
                      _030301,\
                      _030302,\
                      _030303,\
                      _030304,\
                      _030305,\
                      _030306,\
                      _030307,\
                      _030308,\
                      _030310,\
                      _030400,\
                      _030500,\
                      _030510,\
                      _030520,\
                      _030521,\
                      _030522,\
                      _030523,\
                      _030524,\
                      _030525,\
                    _030526,\
                    _030527,\
                    _030528,\
                    _030600,\
                    _030610,\
                    _030620,\
                    _030621,\
                    _030622,\
                    _030623,\
                    _030624,\
                    _030700,\
                    _030701,\
                    _030702,\
                    _030703,\
                    _030704,\
                    _030705,\
                    _030706,\
                    _030800,\
                    _030801,\
                    _030802,\
                    _030803,\
                    _030804,\
                    _030900,\
                    _030901,\
                    _030902,\
                    _030903,\
                    _031000,\
                    _031001,\
                company_type\
                      ) 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','%61','%62','%63','%64','%65','%66','%67','%68','%69','%70','%71','%72','%73','%74','%75','%76'"
                              ",'%77','%78')").arg(ui->comboBox_company->currentText()).arg(ui->tableWidget->item(1,3)->text())
                .arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
                .arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
                .arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
                .arg(ui->tableWidget->item(17,3)->text()).arg(ui->tableWidget->item(18,3)->text()).arg(ui->tableWidget->item(19,3)->text()).arg(ui->tableWidget->item(20,3)->text()).arg(ui->tableWidget->item(21,3)->text())
                .arg(ui->tableWidget->item(22,3)->text()).arg(ui->tableWidget->item(23,3)->text()).arg(ui->tableWidget->item(24,3)->text()).arg(ui->tableWidget->item(25,3)->text()).arg(ui->tableWidget->item(26,3)->text())
                .arg(ui->tableWidget->item(27,3)->text()).arg(ui->tableWidget->item(28,3)->text()).arg(ui->tableWidget->item(29,3)->text()).arg(ui->tableWidget->item(30,3)->text()).arg(ui->tableWidget->item(31,3)->text())
                .arg(ui->tableWidget->item(32,3)->text()).arg(ui->tableWidget->item(33,3)->text()).arg(ui->tableWidget->item(34,3)->text()).arg(ui->tableWidget->item(35,3)->text()).arg(ui->tableWidget->item(36,3)->text())
                .arg(ui->tableWidget->item(37,3)->text()).arg(ui->tableWidget->item(38,3)->text()).arg(ui->tableWidget->item(39,3)->text()).arg(ui->tableWidget->item(40,3)->text()).arg(ui->tableWidget->item(41,3)->text())
                .arg(ui->tableWidget->item(42,3)->text()).arg(ui->tableWidget->item(43,3)->text()).arg(ui->tableWidget->item(44,3)->text()).arg(ui->tableWidget->item(45,3)->text()).arg(ui->tableWidget->item(46,3)->text())
                .arg(ui->tableWidget->item(47,3)->text()).arg(ui->tableWidget->item(48,3)->text()).arg(ui->tableWidget->item(49,3)->text()).arg(ui->tableWidget->item(50,3)->text()).arg(ui->tableWidget->item(51,3)->text())
                .arg(ui->tableWidget->item(52,3)->text()).arg(ui->tableWidget->item(53,3)->text()).arg(ui->tableWidget->item(54,3)->text()).arg(ui->tableWidget->item(55,3)->text()).arg(ui->tableWidget->item(56,3)->text())
                .arg(ui->tableWidget->item(57,3)->text()).arg(ui->tableWidget->item(58,3)->text()).arg(ui->tableWidget->item(59,3)->text()).arg(ui->tableWidget->item(60,3)->text()).arg(ui->tableWidget->item(61,3)->text())
                .arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
                .arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
                .arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
                .arg(ui->comboBox->currentText());
        qDebug()<<"comprehensive_entry_info insert sql:"<<sql;
        if(query.exec(sql)){
            qDebug()<<"comprehensive_entry_info insert sql ok";
            QMessageBox::information(this,"新数据录入成功",QString("新录入公司:%1 信息成功。").arg(ui->comboBox_company->currentText()));
        }else{
            qDebug()<<"comprehensive_entry_info insert sql fail:"<<query.lastError().text();
            QMessageBox::information(this,"新数据录入失败",QString("新录入公司:%1 信息失败。").arg(ui->comboBox_company->currentText()));
        }
    }else{
        // 更新
        sql = QString("update comprehensive_entry_info set _030000='%1',_030001='%2',_030100='%3',_030101='%4',_030200='%5',_030210='%6',_030220='%7',_030221='%8',_030222='%9',_030223='%10',_030230='%11'"
                      ",_030231='%12',_030232='%13',_030233='%14',_030234='%15',_030240='%16',_030241='%17',_030242='%18',_030243='%19',_030250='%20',_030251='%21'"
                      ",_030252='%22',_030253='%23',_030254='%24',_030255='%25',_030256='%26',_030257='%27',_030258='%28',_030260='%29',_030300='%30',_030301='%31'"
                      ",_030302='%32',_030303='%33',_030304='%34',_030305='%35',_030306='%36',_030307='%37',_030308='%38',_030310='%39',_030400='%40',_030500='%41'"
                      ",_030510='%42',_030520='%43',_030521='%44',_030522='%45',_030523='%46',_030524='%47',_030525='%48',_030526='%49',_030527='%50',_030528='%51'"
                      ",_030600='%52',_030610='%53',_030620='%54',_030621='%55',_030622='%56',_030623='%57',_030624='%58',_030700='%59',_030701='%60',_030702='%61'"
                      ",_030703='%62',_030704='%63',_030705='%64',_030706='%65',_030800='%66',_030801='%67',_030802='%68',_030803='%69',_030804='%70',_030900='%71'"
                      ",_030901='%72',_030902='%73',_030903='%74',_031000='%75',_031001='%76',company_type='%77' where name='%78'").arg(ui->tableWidget->item(1,3)->text())
                .arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
                .arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
                .arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
                .arg(ui->tableWidget->item(17,3)->text()).arg(ui->tableWidget->item(18,3)->text()).arg(ui->tableWidget->item(19,3)->text()).arg(ui->tableWidget->item(20,3)->text()).arg(ui->tableWidget->item(21,3)->text())
                .arg(ui->tableWidget->item(22,3)->text()).arg(ui->tableWidget->item(23,3)->text()).arg(ui->tableWidget->item(24,3)->text()).arg(ui->tableWidget->item(25,3)->text()).arg(ui->tableWidget->item(26,3)->text())
                .arg(ui->tableWidget->item(27,3)->text()).arg(ui->tableWidget->item(28,3)->text()).arg(ui->tableWidget->item(29,3)->text()).arg(ui->tableWidget->item(30,3)->text()).arg(ui->tableWidget->item(31,3)->text())
                .arg(ui->tableWidget->item(32,3)->text()).arg(ui->tableWidget->item(33,3)->text()).arg(ui->tableWidget->item(34,3)->text()).arg(ui->tableWidget->item(35,3)->text()).arg(ui->tableWidget->item(36,3)->text())
                .arg(ui->tableWidget->item(37,3)->text()).arg(ui->tableWidget->item(38,3)->text()).arg(ui->tableWidget->item(39,3)->text()).arg(ui->tableWidget->item(40,3)->text()).arg(ui->tableWidget->item(41,3)->text())
                .arg(ui->tableWidget->item(42,3)->text()).arg(ui->tableWidget->item(43,3)->text()).arg(ui->tableWidget->item(44,3)->text()).arg(ui->tableWidget->item(45,3)->text()).arg(ui->tableWidget->item(46,3)->text())
                .arg(ui->tableWidget->item(47,3)->text()).arg(ui->tableWidget->item(48,3)->text()).arg(ui->tableWidget->item(49,3)->text()).arg(ui->tableWidget->item(50,3)->text()).arg(ui->tableWidget->item(51,3)->text())
                .arg(ui->tableWidget->item(52,3)->text()).arg(ui->tableWidget->item(53,3)->text()).arg(ui->tableWidget->item(54,3)->text()).arg(ui->tableWidget->item(55,3)->text()).arg(ui->tableWidget->item(56,3)->text())
                .arg(ui->tableWidget->item(57,3)->text()).arg(ui->tableWidget->item(58,3)->text()).arg(ui->tableWidget->item(59,3)->text()).arg(ui->tableWidget->item(60,3)->text()).arg(ui->tableWidget->item(61,3)->text())
                .arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
                .arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
                .arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
                .arg(ui->comboBox->currentText()).arg(ui->comboBox_company->currentText());
        qDebug()<<"update sql:"<<sql;
        if(query.exec(sql)){
            qDebug()<<"update ok:comprehensive_entry_info";
            QMessageBox::information(this,"更新录入成功",QString("录入公司:%1 信息成功。").arg(ui->comboBox_company->currentText()));
        }else{
            qDebug()<<"update fail:comprehensive_entry_info"<<query.lastError().text();
            QMessageBox::information(this,"更新录入失败",QString("新录入公司:%1 信息失败。").arg(ui->comboBox_company->currentText()));
        }
    }
}
void ClientMainWindow::on_comboBox_currentIndexChanged(const QString &arg1)
{
    qDebug()<<"当前"<<arg1;
    if(arg1 == "企业(不含金融企业)"){
        ui->tableWidget->setItemDelegateForColumn(4,m_editDelegate);
    }else {
        ui->tableWidget->setItemDelegateForColumn(4,m_tableItemDelegate);
    }
    if(arg1 == "金融企业"){
        ui->tableWidget->setItemDelegateForColumn(5,m_editDelegate);
    }else {
        ui->tableWidget->setItemDelegateForColumn(5,m_tableItemDelegate);
    }
    if(arg1 == "机关"){
        ui->tableWidget->setItemDelegateForColumn(6,m_editDelegate);
    }else {
        ui->tableWidget->setItemDelegateForColumn(6,m_tableItemDelegate);
    }
    if(arg1 == "事业单位"){
        ui->tableWidget->setItemDelegateForColumn(7,m_editDelegate);
    }else{
        ui->tableWidget->setItemDelegateForColumn(7,m_tableItemDelegate);
    }
    if(arg1 == "其他"){
        ui->tableWidget->setItemDelegateForColumn(8,m_editDelegate);
    }else{
        ui->tableWidget->setItemDelegateForColumn(8,m_tableItemDelegate);
    }
}
void ClientMainWindow::on_pushButton_reset_clicked()
{
    // 重置某一列数据
    QString curText = ui->comboBox_2->currentText();
    int index = 4;
    if(curText == "企业(不含金融企业)"){
        index = 4;
    }else if(curText == "金融企业"){
        index = 5;
    }else if(curText == "机关"){
        index = 6;
    }else if(curText == "事业单位"){
        index = 7;
    }else if(curText == "其他"){
        index = 8;
    }
    qDebug()<<"重置列索引:"<<index;
    QMessageBox::StandardButton rb = QMessageBox::question (   \
        this, "重要提示", QString("你确定要重置:%1 当前列数据吗").arg(curText),     \
        QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes );
    if ( rb == QMessageBox::Yes ) {
        for(int i=1;i<ui->tableWidget->rowCount();++i){
            ui->tableWidget->item(i,index)->setData(Qt::EditRole,"0");
        }
        qDebug()<<"重置";
    }else{
        qDebug()<<"不重置";
    }
}