| | |
| | | #include "searchinfo.h" |
| | | #include "searchinfo.h" |
| | | #include "ui_searchinfo.h" |
| | | #include <QAxObject> |
| | | #include <QDebug> |
| | |
| | | #include <QSqlQuery> |
| | | #include <QMessageBox> |
| | | #include <QFileDialog> |
| | | #include <QCalendarWidget> |
| | | |
| | | SearchInfo::SearchInfo(QWidget *parent) : |
| | | QMainWindow(parent), |
| | |
| | | // ui->label_3->hide(); |
| | | // ui->dateTimeEdit->hide(); |
| | | // ui->dateTimeEdit_2->hide(); |
| | | ui->dateEdit_begin->calendarWidget()->setStyleSheet("background-color:#deab8a"); |
| | | ui->dateEdit_end->calendarWidget()->setStyleSheet("background-color:pink"); |
| | | ui->dateEdit_end->setDate(QDate::currentDate()); |
| | | |
| | | m_model = new QStandardItemModel(this); |
| | | ui->tableView->setModel(m_model); |
| | | ui->tableView->verticalHeader()->setVisible(false); // 隐藏行头 |
| | | m_model->setColumnCount(5); |
| | | QStringList labels; |
| | | labels<<"ID"<<"指标名称"<<"代码"<<"数量"<<"公司编号"; |
| | | labels<<"ID"<<"指标名称"<<"代码"<<"数量"<<"公司编号"<<"审计时间"; |
| | | m_model->setHorizontalHeaderLabels(labels); |
| | | if(QSqlDatabase::contains("qt_sql_default_connection")){ |
| | | m_db = QSqlDatabase::addDatabase("qt_sql_default_connection"); |
| | |
| | | createTableHasUnit("case_clue"); |
| | | m_itemAndTable["案件线索"] = "case_clue"; |
| | | |
| | | // 单位的所有信息表 创建 |
| | | createTableAllComInfo("all_company_info"); |
| | | |
| | | |
| | | } |
| | | |
| | | // 单位信息表 全 |
| | | void SearchInfo::createTableAllComInfo(QString tableName){ |
| | | QString sql = QString("CREATE TABLE %1 (\ |
| | | id INTEGER PRIMARY KEY AUTOINCREMENT,\ |
| | | name VARCHAR (30),\ |
| | | code VARCHAR (30),\ |
| | | 机构类型 TEXT,\ |
| | | 主要业务活动 TEXT,\ |
| | | 行业代码 TEXT,\ |
| | | 单位注册地及区域 TEXT,\ |
| | | 区域代码 TEXT,\ |
| | | 城乡代码 TEXT,\ |
| | | 单位规模 TEXT,\ |
| | | 从业期末人数 TEXT,\ |
| | | 法定代表人 TEXT,\ |
| | | 执行会记标准类别 TEXT,\ |
| | | 长途区号 TEXT,\ |
| | | 固定电话 TEXT,\ |
| | | 邮政编码 TEXT,\ |
| | | 电子邮箱 TEXT,\ |
| | | 网址 TEXT,\ |
| | | 是否有上一级法人 TEXT,\ |
| | | 上一级统信代码 TEXT,\ |
| | | 原组织代码 TEXT,\ |
| | | 上级单位名称 TEXT,\ |
| | | 是否设置总审计师 TEXT,\ |
| | | 总审计师职位层级 TEXT,\ |
| | | 总审任职方式 TEXT,\ |
| | | 是否设置内审机构 TEXT,\ |
| | | 内审机构名称 TEXT,\ |
| | | 领导机构 TEXT,\ |
| | | 是否独立设置内审机构 TEXT,\ |
| | | 财务部门 INTEGER,\ |
| | | 法务部门 INTEGER,\ |
| | | 内部控制部门 INTEGER,\ |
| | | 纪检部门 INTEGER,\ |
| | | 其他部门 INTEGER,\ |
| | | 内审层级 TEXT,\ |
| | | 编制数量 INTEGER,\ |
| | | 实有人数量 INTEGER,\ |
| | | 专职人员数量 INTEGER,\ |
| | | 拥有CIA人数 INTEGER,\ |
| | | 硕士学历以上人数 INTEGER,\ |
| | | 本科人数 INTEGER,\ |
| | | 专科及以下人数 INTEGER,\ |
| | | 高级职称人数 INTEGER,\ |
| | | 中级职称人数 INTEGER,\ |
| | | 初级职称人数 INTEGER,\ |
| | | 无职称人数 INTEGER,\ |
| | | 五十岁以上人数 INTEGER,\ |
| | | 三十至五十岁岁人数 INTEGER,\ |
| | | 三十岁以下人数 INTEGER,\ |
| | | 审计数量 INTEGER,\ |
| | | 会计数量 INTEGER,\ |
| | | 经济数量 INTEGER,\ |
| | | 法律数量 INTEGER,\ |
| | | 管理数量 INTEGER,\ |
| | | 信息技术数量 INTEGER,\ |
| | | 工程数量 INTEGER,\ |
| | | 其他数量 INTEGER,\ |
| | | 统计负责人 TEXT,\ |
| | | 填表人 TEXT,\ |
| | | 联系电话 TEXT,\ |
| | | 填报日期 TEXT\ |
| | | )").arg(tableName); |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | | { |
| | | qDebug()<<QString("create %1 ok...").arg(tableName); |
| | | }else{ |
| | | qDebug()<<QString("create %1 fail...").arg(tableName)<<query.lastError().text(); |
| | | } |
| | | } |
| | | |
| | | void SearchInfo::createTableHasEvidences(QString tableName) |
| | |
| | | code TEXT,\ |
| | | num INTEGER,\ |
| | | evidences TEXT,\ |
| | | com_id INTEGER\ |
| | | com_id INTEGER,\ |
| | | time TEXT\ |
| | | )").arg(tableName); |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | |
| | | kpi_name TEXT,\ |
| | | code TEXT,\ |
| | | num INTEGER,\ |
| | | com_id INTEGER\ |
| | | com_id INTEGER,\ |
| | | time TEXT\ |
| | | )").arg(tableName); |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | |
| | | code TEXT,\ |
| | | unit TEXT,\ |
| | | num INTEGER,\ |
| | | com_id INTEGER\ |
| | | com_id INTEGER,\ |
| | | time TEXT\ |
| | | )").arg(tableName); |
| | | QSqlQuery query; |
| | | if(query.exec(sql)) |
| | |
| | | void SearchInfo::setLabels() |
| | | { |
| | | QStringList labels,labels2,labels3; |
| | | labels<<"ID"<<"指标名称"<<"代码"<<"数量"<<"公司编号"<<" "; |
| | | labels2<<"ID"<<"指标名称"<<"代码"<<"单位"<<"数量"<<"公司编号"; |
| | | labels3<<"ID"<<"指标名称"<<"代码"<<"数量"<<"佐证"<<"公司编号"; |
| | | labels<<"ID"<<"指标名称"<<"代码"<<"数量"<<"公司编号"<<"审计时间"<<" "; |
| | | labels2<<"ID"<<"指标名称"<<"代码"<<"单位"<<"数量"<<"公司编号"<<"审计时间"; |
| | | labels3<<"ID"<<"指标名称"<<"代码"<<"数量"<<"佐证"<<"公司编号"<<"审计时间"; |
| | | m_labels["审计项目"] = labels; |
| | | m_labels["内审工作量"] = labels; |
| | | m_labels["问题金额"] = labels3; |
| | |
| | | QString item = ui->comboBox->currentText(); |
| | | QString comName = ui->comboBox_company->currentText(); |
| | | QString sql = QString("select * from %1 where com_id=%2").arg(m_itemAndTable[item]).arg(m_comInfo[comName]); |
| | | if(ui->checkBox->isChecked()){ // 勾选之后 |
| | | sql = QString("select * from %1 where com_id=%2 and time between '%3' and '%4'").arg(m_itemAndTable[item]).arg(m_comInfo[comName]) |
| | | .arg(ui->dateEdit_begin->date().toString("yyyy-MM-dd")) |
| | | .arg(ui->dateEdit_end->date().toString("yyyy-MM-dd")); |
| | | } |
| | | qDebug()<<__FUNCTION__<<sql; |
| | | QSqlQuery query; |
| | | if(query.exec(sql)){ |
| | |
| | | rowCnt++; |
| | | m_model->setRowCount(rowCnt); |
| | | qDebug()<<query.value(0).toInt(); |
| | | for(int i=0;i<6;++i){ |
| | | for(int i=0;i<7;++i){ |
| | | if(query.value(i).isValid()){ |
| | | m_model->setItem(rowCnt-1,i,new QStandardItem(query.value(i).toString())); |
| | | } |
| | |
| | | } |
| | | //wb->dynamicCall("Save()"); // 若文件已存在,则直接保存 |
| | | //wb->dynamicCall("SaveAs(const QString&)", str); // 保存工作簿,若文件不存在,则带名字保存 |
| | | if(ui->lineEdit_excel_save->text() > 1){ |
| | | if(ui->lineEdit_excel_save->text().size() > 1){ |
| | | wb->dynamicCall("SaveAs(const QString&)", ui->lineEdit_excel_save->text()); // 保存工作簿,若文件不存在,则带名字保存 |
| | | qDebug()<<"保存到新文件中"; |
| | | }else{ |
| | |
| | | |
| | | void SearchInfo::on_comboBox_currentIndexChanged(const QString &arg1) |
| | | { |
| | | m_model->setHorizontalHeaderLabels(m_labels[arg1]); |
| | | m_model->setHorizontalHeaderLabels(m_labels[arg1]); |
| | | } |
| | | |
| | | void SearchInfo::on_toolButton_seleceExcel_clicked() |
| | |
| | | QString newPath = paths.at(0)+"_"+ui->comboBox_company->currentText()+"."+paths.at(1); |
| | | ui->lineEdit_excel_save->setText(newPath); |
| | | } |
| | | |
| | | void SearchInfo::on_comboBox_company_currentIndexChanged(const QString &arg1) |
| | | { |
| | | if(ui->lineEdit_excel_save->text().size() > 5){ |
| | | QStringList paths = ui->label_excel_path->text().split("."); |
| | | QString newPath = paths.at(0)+"_"+arg1+"."+paths.at(1); |
| | | ui->lineEdit_excel_save->setText(newPath); |
| | | } |
| | | } |
| | | |
| | | void SearchInfo::addComName(QString name) |
| | | { |
| | | ui->comboBox_company->addItem(name); |
| | | } |
| | | |
| | | void SearchInfo::on_checkBox_clicked() |
| | | { |
| | | if(ui->checkBox->isChecked()){ |
| | | ui->dateEdit_begin->setEnabled(true); |
| | | ui->dateEdit_end->setEnabled(true); |
| | | }else{ |
| | | ui->dateEdit_begin->setEnabled(false); |
| | | ui->dateEdit_end->setEnabled(false); |
| | | } |
| | | } |