ProjectManager.cpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "ProjectManager.h"
  2. #include <dbService/DBServiceSet.h>
  3. #include <dbService/UserConfigService.h>
  4. #include <dbService/EngineerService.h>
  5. QString ProjectManager::nameOFIndexType(ProjectManager::IndexType t)
  6. {
  7. switch (t) {
  8. case Capability:
  9. return "能力重要度评估指标体系";
  10. case TechMessaures:
  11. return "技术措施重要度评估对象";
  12. case SchemaEval:
  13. return "方案评估指标体系";
  14. }
  15. }
  16. QString ProjectManager::nameOfEvalType(ProjectManager::EvalType t)
  17. {
  18. switch (t) {
  19. case None:
  20. return "无";
  21. case Importance:
  22. return "能力与技术重要度评估";
  23. case TechSchema:
  24. return "技术方案评估";
  25. case Requirements:
  26. return "需求分析评估";
  27. case SchemeOptimization:
  28. return "方案优选评估";
  29. case OverallEfficiency:
  30. return "综合效能评估";
  31. }
  32. }
  33. QList<ProjectManager::IndexType> ProjectManager::indexListOfEvalFlags(EvalTypes flags)
  34. {
  35. QList<IndexType> list;
  36. if ((flags & EngineerInfo::Importance) == EngineerInfo::Importance) {
  37. list.append(Capability);
  38. list.append(TechMessaures);
  39. }
  40. if ((flags & EngineerInfo::TechSchema) == EngineerInfo::TechSchema) {
  41. list.append(SchemaEval);
  42. }
  43. return list;
  44. }
  45. ProjectManager::EvalTypes ProjectManager::evalFlags(ProjectInfo proj) const
  46. {
  47. EvalTypes flags = EvalTypes(proj.estimateType.toInt());
  48. return flags;
  49. }
  50. QList<ProjectManager::IndexType> ProjectManager::indexList(ProjectInfo proj) const
  51. {
  52. return indexListOfEvalFlags(evalFlags(proj));
  53. }
  54. int ProjectManager::queryProjects(QList<EngineerInfo *> *projList)
  55. {
  56. bool ret = EngineerService().QueryEngineerList(projList);
  57. if (ret) {
  58. for (EngineerInfo *proj : *projList) {
  59. UserConfigService().QueryUserConfigListInfoByEngineerId(&proj->configs, proj->engineerId);
  60. }
  61. }
  62. return ret ? QF_CODE_SUCCEEDED : QF_CODE_DATA_ERROR;
  63. }