瀏覽代碼

方案流程数据存取

chengxr 1 年之前
父節點
當前提交
5d7043fd4d

+ 3 - 3
QFD/common/SchemePlanManager.h

@@ -80,9 +80,9 @@ public:
      */
     struct SchemeProcessInfo
     {
-        int id;         // 对应数据库中主键
-        int projectId;  // 所属项目id
-        int indexType;  // 指标体系类型
+        int id        = -1;  // 对应数据库中主键
+        int projectId = -1;  // 所属项目id
+        int indexType;       // 指标体系类型
 
         int step;                // 步骤编号
         SchemeProcessType type;  // 步骤类型

+ 1 - 0
QFD/dbService/SchemeProcessService.cpp

@@ -122,6 +122,7 @@ bool SchemeProcessService::AddAllSchemeProcess(QList<SchemePlanManager::SchemePr
             int id = result.lastInsertId().toInt();
             qDebug() << id;
             schemeProcessInfo.id = id;
+            schemeProcessInfos.replace(i, schemeProcessInfo);
         }
         ret = true;
     } catch (const DBException &ex) {

+ 6 - 4
QFD/shemeFlow/FlowGraphNodeWidget.cpp

@@ -191,6 +191,7 @@ void FlowGraphCommonNodeWidget::loadInfo()
     if (dsrc.count() > 0 && m_process.dSource != SchemePlanManager::NoData) {
         dataIndex = dsrc.indexOf(m_process.dSource);
     }
+
     m_dataCombo->setCurrentIndex(dataIndex);
 
     /// 选择执行组件
@@ -232,8 +233,9 @@ void FlowGraphCommonNodeWidget::slotAlgComboChanged(int index)
     if (m_process.algorithm == list.at(index)) {
         return;
     }
-    m_process.algorithm = list.at(index);
+
     if (m_isLoaded) {
+        m_process.algorithm = list.at(index);
         emit sigProcessChanged(m_process);
     }
 }
@@ -245,8 +247,8 @@ void FlowGraphCommonNodeWidget::slotDataComboChanged(int index)
         return;
     }
 
-    m_process.dSource = list.at(index);
     if (m_isLoaded) {
+        m_process.dSource = list.at(index);
         emit sigProcessChanged(m_process);
     }
 }
@@ -257,8 +259,8 @@ void FlowGraphCommonNodeWidget::slotSpinBoxChanged(int value)
         return;
     }
 
-    m_process.efficiencyGrades = value;
     if (m_isLoaded) {
+        m_process.efficiencyGrades = value;
         emit sigProcessChanged(m_process);
     }
 }
@@ -269,8 +271,8 @@ void FlowGraphCommonNodeWidget::slotCheckBoxChanged()
         return;
     }
 
-    m_process.isChecked = m_checkBox->isChecked();
     if (m_isLoaded) {
+        m_process.isChecked = m_checkBox->isChecked();
         emit sigProcessChanged(m_process);
     }
 }

+ 1 - 0
QFD/widgets/SchemeFlowWidget.cpp

@@ -129,6 +129,7 @@ void SchemeFlowWidget::loadSchemes(const QList<SchemePlanManager::SchemeProcessI
         FlowGraphCommonNodeWidget *w = new FlowGraphCommonNodeWidget();
         connect(w, &FlowGraphCommonNodeWidget::sigProcessChanged, this, &SchemeFlowWidget::slotSchemeProcessEdited);
         SchemePlanManager::SchemeProcessInfo process = schems[i];
+
         w->setProcess(process);
         if (w->isTitleHidden()) {
             m_graphModel->setNodeData(id, NodeRole::Caption, SchemePlanManager::processName(process));

+ 3 - 4
QFD/widgets/SchemePlanWidget.cpp

@@ -77,6 +77,8 @@ QList<SchemePlanManager::SchemeProcessInfo> SchemePlanWidget::templateSchemes(in
         process.indexType = indexType;
         process.type      = types[i];
         process.step      = i;
+        process.dSource   = SchemePlanManager::processOptionalDataSource(process).first();
+        process.algorithm = SchemePlanManager::processOptionalAlgorithms(process).first();
         schemes.append(process);
     }
 
@@ -98,9 +100,6 @@ void SchemePlanWidget::setupTabWidget()
             ret     = SchemeProcessService().AddAllSchemeProcess(schemes);
         }
         if (ret) {
-            for (SchemePlanManager::SchemeProcessInfo process : schemes) {
-                qDebug() << __FUNCTION__ << __LINE__ << process.id << process.step << process.type << endl;
-            }
             m->loadSchemes(schemes);
         }
 
@@ -121,5 +120,5 @@ void SchemePlanWidget::slotExportClicked()
 
 void SchemePlanWidget::slotSchemeProcessEdited(const SchemePlanManager::SchemeProcessInfo &process)
 {
-    qDebug() << __FUNCTION__ << __LINE__ << process.id << endl;
+    SchemeProcessService().UpdateSchemeProcess(process);
 }