ProjectService.cpp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. #include "ProjectService.h"
  2. #include "SqlDBHelper.h"
  3. #include <QDebug>
  4. ProjectService::ProjectService(QObject *parent) { }
  5. //新增项目
  6. int ProjectService::AddProjectInfo(const ProjectInfo &projectInfo)
  7. {
  8. int ret = -1;
  9. try {
  10. Transaction t(SqlDBHelper::getDatabase());
  11. InsertQuery query =
  12. t.insertInto("t_project_info(`project_name`, `demand_mind_id`, `programme_mind_id`, "
  13. "`general_mind_id`, `remark`, `task_name`, `estimate_time`, `estimate_objective`, "
  14. "`estimate_dept`, `estimate_person`,`estimate_type`, `positional_titles`, `create_time`)");
  15. NonQueryResult result =
  16. query.values(projectInfo.projectName, projectInfo.demandMindId, projectInfo.programmeMindId,
  17. projectInfo.generalMindId, projectInfo.remark, projectInfo.taskName,
  18. projectInfo.estimateTime, projectInfo.estimateObjective, projectInfo.estimateDept,
  19. projectInfo.estimatePerson, projectInfo.estimateType, projectInfo.positionalTitles,
  20. projectInfo.createTime)
  21. .exec();
  22. t.commit();
  23. ret = result.lastInsertId().toInt();
  24. } catch (const DBException &ex) {
  25. qDebug() << ex.lastError.text();
  26. }
  27. return ret;
  28. }
  29. //更新项目信息
  30. bool ProjectService::UpdateProjectInfo(const ProjectInfo &proInfo)
  31. {
  32. bool ret = false;
  33. try {
  34. Transaction t(SqlDBHelper::getDatabase());
  35. t.update("t_project_info")
  36. .set("project_name", proInfo.projectName)
  37. .set("remark", proInfo.remark)
  38. .set("task_name", proInfo.taskName)
  39. .set("estimate_time", proInfo.estimateTime)
  40. .set("estimate_objective", proInfo.estimateObjective)
  41. .set("estimate_dept", proInfo.estimateDept)
  42. .set("estimatePerson", proInfo.estimatePerson)
  43. .set("estimateType", proInfo.estimateType)
  44. .set("positionalTitles", proInfo.positionalTitles)
  45. .set("updateTime", proInfo.updateTime)
  46. .where("id = ?", proInfo.id);
  47. t.commit();
  48. ret = true;
  49. } catch (const DBException &ex) {
  50. qDebug() << ex.lastError.text();
  51. }
  52. return ret;
  53. }
  54. //更新脑图ID
  55. bool ProjectService::UpdateDemandById(int enjId, int demandId)
  56. {
  57. bool ret = false;
  58. try {
  59. Transaction t(SqlDBHelper::getDatabase());
  60. t.update("t_project_info").set("demand_mind_id", demandId).where("id = ?", enjId);
  61. t.commit();
  62. ret = true;
  63. } catch (const DBException &ex) {
  64. qDebug() << ex.lastError.text();
  65. }
  66. return ret;
  67. }
  68. bool ProjectService::UpdateGeneralById(int enjId, int generalId)
  69. {
  70. bool ret = false;
  71. try {
  72. Transaction t(SqlDBHelper::getDatabase());
  73. t.update("t_project_info").set("general", generalId).where("id = ?", enjId);
  74. t.commit();
  75. ret = true;
  76. } catch (const DBException &ex) {
  77. qDebug() << ex.lastError.text();
  78. }
  79. return ret;
  80. }
  81. bool ProjectService::UpdateProgrammeById(int enjId, int programmeId)
  82. {
  83. bool ret = false;
  84. try {
  85. Transaction t(SqlDBHelper::getDatabase());
  86. t.update("t_project_info").set("programme_mind_id", programmeId).where("id = ?", enjId);
  87. t.commit();
  88. ret = true;
  89. } catch (const DBException &ex) {
  90. qDebug() << ex.lastError.text();
  91. }
  92. return ret;
  93. }
  94. //获取项目详情
  95. bool ProjectService::QueryProjectById(ProjectInfo *proJectInfo, int id)
  96. {
  97. QSqlDatabase db = SqlDBHelper::getDatabase();
  98. QSqlQuery query(db);
  99. bool ret = false;
  100. QString selectSql = QString("SELECT id, project_name, demand_mind_id, programme_mind_id, "
  101. "general_mind_id,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
  102. "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
  103. "t_project_info WHERE id = %1")
  104. .arg(id);
  105. if (query.exec(selectSql)) {
  106. if (query.next()) {
  107. if (query.isNull(0) == false) {
  108. proJectInfo->id = query.value(0).toInt();
  109. proJectInfo->projectName = query.value(1).toString();
  110. proJectInfo->demandMindId = query.value(2).toInt();
  111. proJectInfo->programmeMindId = query.value(3).toInt();
  112. proJectInfo->generalMindId = query.value(4).toInt();
  113. proJectInfo->remark = query.value(5).toString();
  114. proJectInfo->taskName = query.value(6).toString();
  115. proJectInfo->estimateTime = query.value(7).toString();
  116. proJectInfo->estimateObjective = query.value(8).toString();
  117. proJectInfo->estimateDept = query.value(9).toString();
  118. proJectInfo->estimatePerson = query.value(10).toString();
  119. proJectInfo->positionalTitles = query.value(11).toString();
  120. proJectInfo->createTime = query.value(12).toString();
  121. proJectInfo->updateTime = query.value(13).toString();
  122. proJectInfo->estimateType = query.value(14).toString();
  123. }
  124. ret = true;
  125. }
  126. } else {
  127. qDebug() << query.lastError();
  128. }
  129. return ret;
  130. }
  131. bool ProjectService::QueryAll(QList<ProjectInfo *> *projectInfoList)
  132. {
  133. QSqlDatabase db = SqlDBHelper::getDatabase();
  134. QSqlQuery query(db);
  135. bool ret = false;
  136. QString selectSql = QString("SELECT id, project_name, demand_mind_id, programme_mind_id, "
  137. "general_mind_id,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
  138. "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
  139. "t_project_info");
  140. if (query.exec(selectSql)) {
  141. while (query.next()) {
  142. if (query.isNull(0) == false) {
  143. ProjectInfo *projectInfo = new ProjectInfo();
  144. projectInfo->id = query.value(0).toInt();
  145. projectInfo->projectName = query.value(1).toString();
  146. projectInfo->demandMindId = query.value(2).toInt();
  147. projectInfo->programmeMindId = query.value(3).toInt();
  148. projectInfo->generalMindId = query.value(4).toInt();
  149. projectInfo->remark = query.value(5).toString();
  150. projectInfo->taskName = query.value(6).toString();
  151. projectInfo->estimateTime = query.value(7).toString();
  152. projectInfo->estimateObjective = query.value(8).toString();
  153. projectInfo->estimateDept = query.value(9).toString();
  154. projectInfo->estimatePerson = query.value(10).toString();
  155. projectInfo->positionalTitles = query.value(11).toString();
  156. projectInfo->createTime = query.value(12).toString();
  157. projectInfo->updateTime = query.value(13).toString();
  158. projectInfo->estimateType = query.value(14).toString();
  159. projectInfoList->append(projectInfo);
  160. }
  161. ret = true;
  162. }
  163. } else {
  164. qDebug() << query.lastError();
  165. }
  166. return ret;
  167. }
  168. //根据id删除
  169. bool ProjectService::DeleteById(int id)
  170. {
  171. bool ret = false;
  172. try {
  173. Transaction t(SqlDBHelper::getDatabase());
  174. t.deleteFrom("t_project_info").where("id = ?", id);
  175. t.commit();
  176. ret = true;
  177. } catch (const DBException &ex) {
  178. qDebug() << ex.lastError.text();
  179. }
  180. return ret;
  181. }