ProjectManager.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef PROJECTMANAGER_H
  2. #define PROJECTMANAGER_H
  3. #include <QObject>
  4. class ProjectInfo;
  5. class ProjectManager : QObject
  6. {
  7. Q_OBJECT
  8. public:
  9. /// 指标体系类型
  10. /// @attention 枚举值与本地数据库关联,可以新增,但如无必要禁止修改,除非你知道自己在干什么
  11. enum IndexType
  12. {
  13. Capability = 0b1, // 能力重要度评估指标体系
  14. TechMessaures = 0b1 << 1, // 技术措施重要度评估对象
  15. SchemaEval = 0b1 << 2, // 方案评估指标体系
  16. };
  17. static QString nameOFIndexType(IndexType t);
  18. /// 评估方案类型
  19. /// @attention 枚举值与本地数据库关联,可以新增,但如无必要禁止修改,除非你知道自己在干什么
  20. enum EvalType
  21. {
  22. None = 0,
  23. Importance = Capability | TechMessaures, // 能力与技术重要度评估
  24. TechSchema = SchemaEval, // 技术方案评估
  25. // QFD2 新增
  26. Requirements = 0b1 << 5, // 需求分析评估
  27. SchemeOptimization = 0b1 << 6, // 方案优选评估
  28. OverallEfficiency = 0b1 << 7, // 综合效能评估
  29. };
  30. Q_ENUM(EvalType);
  31. Q_DECLARE_FLAGS(EvalTypes, EvalType)
  32. static QString nameOfEvalType(EvalType t);
  33. static QList<IndexType> indexListOfEvalTypes(EvalTypes flags);
  34. static EvalTypes evalTypes(ProjectInfo proj);
  35. static QList<EvalType> evalTypeList(EvalTypes types);
  36. static QList<EvalType> evalTypeList(ProjectInfo proj);
  37. static QList<IndexType> indexList(ProjectInfo proj);
  38. ///
  39. /// \brief queryProjects 查询全部项目
  40. /// \param projList 项目列表
  41. /// \return 错误码
  42. static int queryProjects(QList<ProjectInfo *> *projList);
  43. static int verifyProjectInfo(ProjectInfo proj);
  44. static int insertProject(ProjectInfo &proj);
  45. static int updateProject(ProjectInfo &proj);
  46. static int deleteProject(int id);
  47. };
  48. #endif // PROJECTMANAGER_H