12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #ifndef DATAEVALUATOR_H
- #define DATAEVALUATOR_H
- #include <QObject>
- #include "SchemePlanManager.h"
- class NodeMatrixInfo;
- class DataEvaluator : public QObject
- {
- Q_OBJECT
- public:
- enum GatherType
- {
- Result, // 结果集结
- Matrix // 矩阵集结
- };
- explicit DataEvaluator(QObject *parent = nullptr);
- void setProcess(SchemePlanManager::SchemeProcessInfo process);
- SchemePlanManager::SchemeProcessInfo process() const;
- void setGatherType(GatherType type);
- GatherType gatherType() const;
- bool evaluate();
- private:
- /// 运行算法
- bool evaluateWeightFromExpert(); // 权重分析,专家数据
- bool evaluateWeightFromMeasure(); // 权重分析,实测数据
- bool evaluateTechFromExpert(); // 技术重要度评估,专家数据
- bool evaluateTechFromMeasure(); // 技术重要评估,实测数据
- bool evaluateScheme(); // 方案优选评估
- bool evaluateEfficiencyMEA(); // 效能评估, 物元分析法
- bool evaluateEfficiencyGCE(); // 效能评估, 灰色聚类法
- /// 准备数据
- bool getNodeData(QMap<QString, QMap<QString, NodeMatrixInfo *>> &nodeData) const;
- /// 获取算法
- bool getAlgorithm(SchemePlanManager::Algorithm &algorithm) const;
- /// 使用横坐标和纵坐标构造索引
- QString nodeDataKey(NodeMatrixInfo *data) const;
- private:
- SchemePlanManager::SchemeProcessInfo m_process;
- GatherType m_gatherType = Result;
- };
- #endif // DATAEVALUATOR_H
|