CNodeDataService.cpp 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #include "CNodeDataService.h"
  2. #include "SqlDBHelper.h"
  3. #include <QDebug>
  4. CNodeDataService::CNodeDataService(QObject *parent){}
  5. //新增节点
  6. int CNodeDataService::AddCNodeData(const CNodeData &cNodeData)
  7. {
  8. int ret = -1;
  9. try {
  10. Transaction t(SqlDBHelper::getDatabase());
  11. InsertQuery query = t.insertInto(
  12. "t_node_data(`project_id`, `eval_type`, `number`, `p_number`, `name`, `remark`, `create_time`)");
  13. NonQueryResult result =
  14. query.values(cNodeData.projectId,cNodeData.evalType,cNodeData.number,cNodeData.pNumber,cNodeData.name,cNodeData.remark,QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
  15. .exec();
  16. t.commit();
  17. ret = result.lastInsertId().toInt();
  18. } catch (const DBException &ex) {
  19. qDebug() << ex.lastError.text();
  20. }
  21. return ret;
  22. }
  23. //更新节点信息
  24. bool CNodeDataService::UpdateCNodeData(const CNodeData &cNodeData)
  25. {
  26. bool ret = false;
  27. try {
  28. Transaction t(SqlDBHelper::getDatabase());
  29. t.update("t_node_data")
  30. .set("project_id", cNodeData.projectId)
  31. .set("eval_type", cNodeData.evalType)
  32. .set("number", cNodeData.number)
  33. .set("p_number", cNodeData.pNumber)
  34. .set("name", cNodeData.name)
  35. .set("remark",cNodeData.remark)
  36. .set("update_time", QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
  37. .where("id = ?", cNodeData.id);
  38. t.commit();
  39. ret = true;
  40. } catch (const DBException &ex) {
  41. qDebug() << ex.lastError.text();
  42. }
  43. return ret;
  44. }
  45. /*根据项目id查询节点信息*/
  46. bool CNodeDataService::QueryCNodeDataById(CNodeData &cNodeData, int id){
  47. QSqlDatabase db = SqlDBHelper::getDatabase();
  48. QSqlQuery query(db);
  49. bool ret = false;
  50. QString selectSql =
  51. QString("SELECT id,project_id, eval_type,number,p_number,name,remark FROM "
  52. "t_node_data WHERE id = %1")
  53. .arg(id);
  54. if (query.exec(selectSql)) {
  55. if (query.next()) {
  56. if (query.isNull(0) == false) {
  57. cNodeData.id = query.value(0).toInt();
  58. cNodeData.projectId = query.value(1).toInt();
  59. cNodeData.evalType = query.value(1).toInt();
  60. cNodeData.number = query.value(2).toInt();
  61. cNodeData.pNumber = query.value(3).toInt();
  62. cNodeData.name = query.value(4).toString();
  63. cNodeData.remark = query.value(5).toString();
  64. }
  65. ret = true;
  66. }
  67. } else {
  68. qDebug() << query.lastError();
  69. }
  70. return ret;
  71. }
  72. //查询所有
  73. bool CNodeDataService::QueryAll(QList<CNodeData> &cNodeDataList,int projectId,int evalType){
  74. QSqlDatabase db = SqlDBHelper::getDatabase();
  75. QSqlQuery query(db);
  76. bool ret = false;
  77. QString selectSql =
  78. QString("SELECT id,project_id, eval_type,number,p_number,name,remark FROM t_node_data WHERE project_id = %1 and eval_type= %2"
  79. ).arg(projectId).arg(evalType);
  80. if (query.exec(selectSql)) {
  81. while (query.next()) {
  82. if (query.isNull(0) == false) {
  83. CNodeData cNodeData;
  84. cNodeData.id = query.value(0).toInt();
  85. cNodeData.projectId = query.value(1).toInt();
  86. cNodeData.evalType = query.value(1).toInt();
  87. cNodeData.number = query.value(2).toInt();
  88. cNodeData.pNumber = query.value(3).toInt();
  89. cNodeData.name = query.value(4).toString();
  90. cNodeData.remark = query.value(5).toString();
  91. cNodeDataList.append(cNodeData);
  92. }
  93. ret = true;
  94. }
  95. } else {
  96. qDebug() << query.lastError();
  97. }
  98. return ret;
  99. }
  100. //根据id删除
  101. bool CNodeDataService::DeleteCNodeDataById(int id){
  102. bool ret = false;
  103. try {
  104. qDebug() << __FUNCTION__ << __LINE__
  105. << SqlDBHelper::getDatabase().driver()->hasFeature(QSqlDriver::Transactions) << endl;
  106. Transaction t(SqlDBHelper::getDatabase());
  107. t.deleteFrom("t_node_data").where("id = ?", id);
  108. t.commit();
  109. ret = true;
  110. } catch (const DBException &ex) {
  111. qDebug() << ex.lastError.text();
  112. }
  113. return ret;
  114. }