SchemeInfoService.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "SchemeInfoService.h"
  2. #include "SqlDBHelper.h"
  3. #include <QDebug>
  4. SchemeInfoService::SchemeInfoService(QObject *parent) { }
  5. /////////////////////方案持久化-start////////////////
  6. bool SchemeInfoService::AddSchemeInfoList(const QList<SchemaEval *> &schemeList)
  7. {
  8. bool ret = false;
  9. try {
  10. Transaction t(SqlDBHelper::getDatabase());
  11. for (int i = 0; i < schemeList.length(); i++) {
  12. SchemaEval *scheme = schemeList.at(i);
  13. InsertQuery q = t.insertInto("t_scheme_info (project_id,name,remark,value_str,score,file_path)");
  14. q.values(scheme->engineerId, scheme->name, scheme->remark, scheme->valueStr, scheme->score,
  15. scheme->filePath)
  16. .exec();
  17. t.commit();
  18. }
  19. ret = true;
  20. } catch (const DBException &ex) {
  21. qDebug() << ex.lastError.text();
  22. }
  23. return ret;
  24. }
  25. bool SchemeInfoService::DeleteSchemeByEngineerId(int engineerId)
  26. {
  27. bool ret = false;
  28. try {
  29. Transaction t(SqlDBHelper::getDatabase());
  30. t.deleteFrom("t_scheme_info").where("project_id = ?", engineerId);
  31. t.commit();
  32. ret = true;
  33. } catch (const DBException &ex) {
  34. qDebug() << ex.lastError.text();
  35. }
  36. return ret;
  37. }
  38. bool SchemeInfoService::QuerySchemeInfoByEngineerId(QList<SchemaEval *> *schemeList, int engineerId)
  39. {
  40. QSqlDatabase db = SqlDBHelper::getDatabase();
  41. QSqlQuery query(db);
  42. bool ret = false;
  43. QString selectSql = QString("select id,project_id,name,remark,value_str "
  44. ",score from t_scheme_info where "
  45. " engineer_id =%1 ")
  46. .arg(QString::number(engineerId));
  47. // qDebug() << "sql=" << selectSql;
  48. if (query.exec(selectSql)) {
  49. while (query.next()) {
  50. if (query.isNull(0) == false) {
  51. SchemaEval *scheme = new SchemaEval();
  52. scheme->id = query.value(0).toInt();
  53. scheme->engineerId = query.value(1).toInt();
  54. scheme->name = query.value(2).toString();
  55. scheme->remark = query.value(3).toString();
  56. scheme->valueStr = query.value(4).toString();
  57. scheme->score = query.value(5).toDouble();
  58. schemeList->append(scheme);
  59. }
  60. ret = true;
  61. }
  62. } else {
  63. qDebug() << query.lastError();
  64. }
  65. return ret;
  66. }
  67. ///////////////////////common-end/////////////////////