From ec275ba3c4c22fccf3d4a2900c31be67ca56be23 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期一, 04 九月 2023 22:22:35 +0800 Subject: [PATCH] 0904 --- internal_system_v1/searchinfo.cpp | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 212 insertions(+), 0 deletions(-) diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp index e19e864..2b931ad 100644 --- a/internal_system_v1/searchinfo.cpp +++ b/internal_system_v1/searchinfo.cpp @@ -1,14 +1,226 @@ #include "searchinfo.h" #include "ui_searchinfo.h" +#include <QDebug> +#include <QSqlError> +#include <QSqlQuery> SearchInfo::SearchInfo(QWidget *parent) : QMainWindow(parent), ui(new Ui::SearchInfo) { ui->setupUi(this); + ui->label_2->hide(); + ui->label_3->hide(); + ui->dateTimeEdit->hide(); + ui->dateTimeEdit_2->hide(); + + m_model = new QStandardItemModel(this); + ui->tableView->setModel(m_model); + ui->tableView->verticalHeader()->setVisible(false); // 闅愯棌琛屽ご + + if(QSqlDatabase::contains("qt_sql_default_connection")){ + m_db = QSqlDatabase::addDatabase("qt_sql_default_connection"); + }else{ + m_db = QSqlDatabase::addDatabase("QSQLITE"); + } + m_db.setDatabaseName("sqlData.db"); + if(m_db.open()){ + qDebug()<<"db open ok"; + createSqlite(); + //m_db.close(); + searchComName(); // 鏌ヨ鍏徃鍚� + }else{ + qDebug()<<"db open fail"; + } + + } SearchInfo::~SearchInfo() { + m_db.close(); delete ui; } + +void SearchInfo::createSqlite() +{ + // 寤鸿〃 + QString sql = "create table Internal_1 (id int primary key, name varchar(30), _020100 int)"; + QSqlQuery query; + if(query.exec(sql)) + { + qDebug()<<"create Internal_1 ok..."; + }else{ + qDebug()<<"create Internal_1 fail..."<<query.lastError().text(); + } + + sql = "CREATE TABLE file_up_info (\ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + name VARCHAR (30),\ + code TEXT,\ + up_time TEXT\ + )"; + if(query.exec(sql)) + { + qDebug()<<"create file_up_info ok..."; + }else{ + qDebug()<<"create file_up_info fail..."<<query.lastError().text(); + } + + sql = "CREATE TABLE company_info (\ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + name VARCHAR (30),\ + code VARCHAR (30),\ + 鏈烘瀯绫诲瀷 TEXT,\ + 涓昏涓氬姟娲诲姩 TEXT,\ + 琛屼笟浠g爜 TEXT,\ + 鍗曚綅娉ㄥ唽鍦板強鍖哄煙 TEXT,\ + 鍖哄煙浠g爜 TEXT,\ + 鍩庝埂浠g爜 TEXT,\ + 鍗曚綅瑙勬ā TEXT,\ + 浠庝笟鏈熸湯浜烘暟 TEXT,\ + 娉曞畾浠h〃浜� TEXT,\ + 鎵ц浼氳鏍囧噯绫诲埆 TEXT,\ + 闀块�斿尯鍙� TEXT,\ + 鍥哄畾鐢佃瘽 TEXT,\ + 閭斂缂栫爜 TEXT,\ + 鐢靛瓙閭 TEXT,\ + 缃戝潃 TEXT\ + )"; + if(query.exec(sql)) + { + qDebug()<<"create company_info ok..."; + }else{ + qDebug()<<"create company_info fail..."<<query.lastError().text(); + } + + // 瀹¤椤圭洰琛� + createTableNoEvidences("audit_project"); + m_itemAndTable["瀹¤椤圭洰"] = "audit_project"; + + // 鍐呭宸ヤ綔閲忚〃 + createTableNoEvidences("audit_workload"); + m_itemAndTable["鍐呭宸ヤ綔閲�"] = "audit_workload"; + + // 闂閲戦琛� + createTableHasEvidences("problem_money"); + m_itemAndTable["闂閲戦"] = "problem_money"; + + // 闂涓暟琛� + createTableHasEvidences("problem_count"); + m_itemAndTable["闂涓暟"] = "problem_count"; + // 闂鏁存敼琛� + createTableHasEvidences("problem_rectification"); + m_itemAndTable["闂鏁存敼"] = "problem_rectification"; + + // 闂鏁存敼--闈為噾棰濊〃 + createTableHasEvidences("problem_no_money"); + m_itemAndTable["闂鏁存敼--闈為噾棰�"] = "problem_no_money"; + + // 澶勫垎琛� + createTableNoEvidences("punish"); + m_itemAndTable["澶勫垎"] = "punish"; + + // 妗堜欢绾跨储琛� + createTableHasUnit("case_clue"); + m_itemAndTable["妗堜欢绾跨储"] = "case_clue"; + +} + +void SearchInfo::createTableHasEvidences(QString tableName) +{ + QString sql =QString( "CREATE TABLE %1 ( \ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + kpi_name TEXT,\ + code TEXT,\ + num INTEGER,\ + evidences TEXT,\ + com_id INTEGER\ + )").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::createTableNoEvidences(QString tableName) +{ + QString sql = QString("CREATE TABLE %1 (\ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + kpi_name TEXT,\ + code TEXT,\ + num INTEGER,\ + com_id INTEGER\ + )").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::createTableHasUnit(QString tableName) +{ + QString sql = QString("CREATE TABLE %1 (\ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + kpi_name TEXT,\ + code TEXT,\ + unit TEXT,\ + num INTEGER,\ + com_id INTEGER\ + )").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::searchComName() +{ + QSqlQuery query; + QString sql = QString("select id,name from company_info"); + if(query.exec(sql)){ + qDebug()<<"size:"<<query.numRowsAffected(); + while(query.next()){ + int id = query.value(0).toInt(); + QString name = query.value(1).toString(); + qDebug()<<"com select:"<<id<<name; + m_comInfo[name] = id; + ui->comboBox_company->addItem(name); + } + } +} + +void SearchInfo::on_pushButton_search_clicked() +{ + // 鑾峰彇淇℃伅锛岀劧鍚庢煡璇� + 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]); + qDebug()<<__FUNCTION__<<sql; + QSqlQuery query; + if(query.exec(sql)){ + qDebug()<<"size:"<<query.size(); + m_model->setRowCount(0); + int rowCnt = 0; + while (query.next()) { + rowCnt++; + m_model->setRowCount(rowCnt); + qDebug()<<query.value(0).toInt(); + m_model->setItem(rowCnt-1,0,new QStandardItem(query.value(0).toString())); + m_model->setItem(rowCnt-1,1,new QStandardItem(query.value(1).toString())); + m_model->setItem(rowCnt-1,2,new QStandardItem(query.value(2).toString())); + m_model->setItem(rowCnt-1,3,new QStandardItem(query.value(3).toString())); + m_model->setItem(rowCnt-1,4,new QStandardItem(query.value(4).toString())); + } + } + +} -- Gitblit v1.8.0