ProjectManager.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef PROJECTMANAGER_H
  2. #define PROJECTMANAGER_H
  3. #include <QObject>
  4. class EngineerInfo;
  5. class ProjectInfo;
  6. class ProjectManager
  7. {
  8. public:
  9. /// 指标体系类型
  10. enum IndexType
  11. {
  12. Capability = 0b1, // 能力重要度评估指标体系
  13. TechMessaures = 0b1 << 1, // 技术措施重要度评估对象
  14. SchemaEval = 0b1 << 2, // 方案评估指标体系
  15. };
  16. static QString nameOFIndexType(IndexType t);
  17. /// 评估方案类型
  18. enum EvalType
  19. {
  20. None = 0,
  21. Importance = Capability | TechMessaures, // 能力与技术重要度评估
  22. TechSchema = SchemaEval, // 技术方案评估
  23. // QFD2 新增
  24. Requirements = 0b1 << 5, // 需求分析评估
  25. SchemeOptimization = 0b1 << 6, // 方案优选评估
  26. OverallEfficiency = 0b1 << 7, // 综合效能评估
  27. };
  28. Q_DECLARE_FLAGS(EvalTypes, EvalType)
  29. static QString nameOfEvalType(EvalType t);
  30. static QList<IndexType> indexListOfEvalFlags(EvalTypes flags);
  31. EvalTypes evalFlags(ProjectInfo proj) const;
  32. QList<IndexType> indexList(ProjectInfo proj) const;
  33. static int queryProjects(QList<EngineerInfo *> *projList);
  34. };
  35. #endif // PROJECTMANAGER_H