#include "SchemeInfoService.h" #include "SqlDBHelper.h" #include SchemeInfoService::SchemeInfoService(QObject *parent) { } /////////////////////方案持久化-start//////////////// bool SchemeInfoService::AddSchemeInfoList(const QList &schemeList) { bool ret = false; try { Transaction t(SqlDBHelper::getDatabase()); for (int i = 0; i < schemeList.length(); i++) { SchemaEval *scheme = schemeList.at(i); InsertQuery q = t.insertInto("t_scheme_info (project_id,name,remark,value_str,score,file_path)"); q.values(scheme->engineerId, scheme->name, scheme->remark, scheme->valueStr, scheme->score, scheme->filePath) .exec(); t.commit(); } ret = true; } catch (const DBException &ex) { qDebug() << ex.lastError.text(); } return ret; } bool SchemeInfoService::DeleteSchemeByEngineerId(int engineerId) { bool ret = false; try { Transaction t(SqlDBHelper::getDatabase()); t.deleteFrom("t_scheme_info").where("project_id = ?", engineerId); t.commit(); ret = true; } catch (const DBException &ex) { qDebug() << ex.lastError.text(); } return ret; } bool SchemeInfoService::QuerySchemeInfoByEngineerId(QList *schemeList, int engineerId) { QSqlDatabase db = SqlDBHelper::getDatabase(); QSqlQuery query(db); bool ret = false; QString selectSql = QString("select id,project_id,name,remark,value_str " ",score from t_scheme_info where " " engineer_id =%1 ") .arg(QString::number(engineerId)); // qDebug() << "sql=" << selectSql; if (query.exec(selectSql)) { while (query.next()) { if (query.isNull(0) == false) { SchemaEval *scheme = new SchemaEval(); scheme->id = query.value(0).toInt(); scheme->engineerId = query.value(1).toInt(); scheme->name = query.value(2).toString(); scheme->remark = query.value(3).toString(); scheme->valueStr = query.value(4).toString(); scheme->score = query.value(5).toDouble(); schemeList->append(scheme); } ret = true; } } else { qDebug() << query.lastError(); } return ret; } ///////////////////////common-end/////////////////////