chengxr 1 year ago
parent
commit
40a444501e

+ 1 - 1
QFD/common/DataEvaluator.cpp

@@ -183,7 +183,7 @@ bool DataEvaluator::evaluateWeightFromMeasure()
 
     qDebug() << __FUNCTION__ << __LINE__ << allWeights << endl;
 
-    return false;
+    return true;
 }
 
 bool DataEvaluator::evaluateTechFromExpert()

+ 21 - 4
QFD/widgets/ConfigExpertDataWidget.cpp

@@ -2,9 +2,12 @@
 
 #include "QFDAlert.h"
 
+#include "ProjectManager.h"
+
 #include <dbService/ClassSet.h>
 #include <dbService/UserService.h>
 #include <dbService/UserConfigService.h>
+#include <dbService/NodeMatrixService.h>
 
 #include "common/QFDIcon.h"
 
@@ -147,22 +150,36 @@ void ConfigExpertDataWidget::setProcess(SchemePlanManager::SchemeProcessInfo pro
 
 void ConfigExpertDataWidget::loadData()
 {
+    // 获取专家列表数据
     qDeleteAll(m_expertList);
     m_expertList.clear();
     if (!UserService().QueryUserListNotAdmin(&m_expertList)) {
         QFDAlert::showAlertWithCode(QF_CODE_DATA_ERROR, this);
-        return;
     }
 
+    // 获取项目专家配置
     qDeleteAll(m_configList);
     m_configList.clear();
     if (!UserConfigService().QueryUserConfigListInfoByEngineerId(&m_configList, m_process.projectId)) {
         QFDAlert::showAlertWithCode(QF_CODE_DATA_ERROR, this);
-        return;
     }
 
+    // 获取专家录入数据
+    QString indexName = ProjectManager::nameOfIndexType((ProjectManager::IndexType)m_process.indexType);
+    QList<NodeMatrixInfo *> dataList;
+    NodeMatrixService().QueryExpertDataByProjectAndIndex(&dataList, indexName, m_process.projectId);
+    m_nodeData.clear();
+    for (NodeMatrixInfo *info : dataList) {
+        if (m_nodeData.keys().contains(info->expertId) == false) {
+            m_nodeData[info->expertId] = QList<NodeMatrixInfo *>();
+        }
+        m_nodeData[info->expertId].append(info);
+    }
+
+    qDebug() << __FUNCTION__ << __LINE__ << m_nodeData.size() << endl;
+
     refreshExpList();
-    refreshAddedList();
+    refreshConfigList();
 }
 
 void ConfigExpertDataWidget::showEvent(QShowEvent *event)
@@ -178,7 +195,7 @@ void ConfigExpertDataWidget::hideEvent(QHideEvent *event)
     Q_UNUSED(event)
 }
 
-void ConfigExpertDataWidget::refreshAddedList()
+void ConfigExpertDataWidget::refreshConfigList()
 {
     m_configListWidget->clear();
 

+ 7 - 1
QFD/widgets/ConfigExpertDataWidget.h

@@ -5,6 +5,10 @@
 
 #include "SchemePlanManager.h"
 
+#include <QMap>
+
+class NodeMatrixInfo;
+
 class QFUser;
 class UserConfig;
 
@@ -125,7 +129,7 @@ protected:
     virtual void hideEvent(QHideEvent *event) override;
 
 private:
-    void refreshAddedList();
+    void refreshConfigList();
     void refreshExpList();
 
 private slots:
@@ -164,6 +168,8 @@ private:
 
     QList<QFUser *> m_expertList;
     QList<UserConfig *> m_configList;
+
+    QMap<QString, QList<NodeMatrixInfo *>> m_nodeData;  // 按组归类的专家数据
 };
 
 #endif  // CONFIGEXPERTDATAWIDGET_H

+ 1 - 2
QFD/widgets/ConfigMeasureDataWidget.cpp

@@ -46,8 +46,7 @@ void ConfigMeasureDataWidget::reloadData()
     for (NodeMatrixInfo *info : dataList) {
         if (m_uuidList.contains(info->strUuid) == false) {
             m_uuidList.append(info->strUuid);
-            QList<NodeMatrixInfo *> list;
-            m_nodeData[info->strUuid] = list;
+            m_nodeData[info->strUuid] = QList<NodeMatrixInfo *>();
         }
         m_nodeData[info->strUuid].append(info);
     }