소스 검색

加载节点

chengxr 1 년 전
부모
커밋
9606d17cf3
6개의 변경된 파일70개의 추가작업 그리고 43개의 파일을 삭제
  1. 1 4
      QFD/CCanvas/CMind.cpp
  2. 18 3
      QFD/CCanvas/CMindView.cpp
  3. 36 35
      QFD/dbService/CNodeDataService.cpp
  4. 1 1
      QFD/widgets/EvalWidget.h
  5. 12 0
      QFD/widgets/IndexSystemWidget.cpp
  6. 2 0
      QFD/widgets/IndexSystemWidget.h

+ 1 - 4
QFD/CCanvas/CMind.cpp

@@ -42,9 +42,7 @@ void CMind::setNodeList(QList<CNodeData> list)
 {
     m_nodeList.clear();
     for (CNodeData n : list) {
-        if (canAddNode(n)) {
-            addNode(n);
-        }
+        addNode(n);
     }
 }
 
@@ -95,7 +93,6 @@ bool CMind::canAddNode(CNodeData n)
 
 void CMind::addNode(CNodeData n)
 {
-
     m_nodeList.append(n);
 }
 

+ 18 - 3
QFD/CCanvas/CMindView.cpp

@@ -36,9 +36,22 @@ CMind *CMindView::mind() const
 void CMindView::setNodeList(QList<CNodeData> list)
 {
     clear();
-    m_mind->setNodeList(list);
-    m_root = new CNodeItem(m_mind->root());
-    refreshItems();
+
+    for (int i = 0; i < list.count() - 1; i++) {
+        for (int j = 0; j < list.count() - 1 - i; j++) {
+            if ((list[j].pNumber > list[j + 1].pNumber)
+                || ((list[j].pNumber == list[j + 1].pNumber) && (list[j].number > list[j + 1].number))) {
+                CNodeData temp = list[j];
+                list[j]        = list[j + 1];
+                list[j + 1]    = temp;
+            }
+        }
+    }
+
+    for (int i = 0; i < list.count(); i++) {
+        CNodeData n = list[i];
+        addNode(n);
+    }
 }
 
 void CMindView::addNode(CNodeData n)
@@ -215,5 +228,7 @@ void CMindView::slotRemoveNode(int number)
 
 void CMindView::slotTextChanged()
 {
+    CNodeItem *item = (CNodeItem *)sender();
+    qDebug() << __FUNCTION__ << __LINE__ << item->data().name << endl;
     refreshItems();
 }

+ 36 - 35
QFD/dbService/CNodeDataService.cpp

@@ -1,7 +1,7 @@
-#include "CNodeDataService.h"
+#include "CNodeDataService.h"
 #include "SqlDBHelper.h"
 #include <QDebug>
-CNodeDataService::CNodeDataService(QObject *parent){}
+CNodeDataService::CNodeDataService(QObject *parent) { }
 //新增节点
 int CNodeDataService::AddCNodeData(const CNodeData &cNodeData)
 {
@@ -11,9 +11,10 @@ int CNodeDataService::AddCNodeData(const CNodeData &cNodeData)
         InsertQuery query = t.insertInto(
                 "t_node_data(`project_id`, `eval_type`, `number`, `p_number`, `name`, `remark`, `create_time`)");
 
-        NonQueryResult result =
-                query.values(cNodeData.projectId,cNodeData.evalType,cNodeData.number,cNodeData.pNumber,cNodeData.name,cNodeData.remark,QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
-                        .exec();
+        NonQueryResult result = query.values(cNodeData.projectId, cNodeData.evalType, cNodeData.number,
+                                             cNodeData.pNumber, cNodeData.name, cNodeData.remark,
+                                             QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
+                                        .exec();
         t.commit();
         ret = result.lastInsertId().toInt();
     } catch (const DBException &ex) {
@@ -34,7 +35,7 @@ bool CNodeDataService::UpdateCNodeData(const CNodeData &cNodeData)
                 .set("number", cNodeData.number)
                 .set("p_number", cNodeData.pNumber)
                 .set("name", cNodeData.name)
-                .set("remark",cNodeData.remark)
+                .set("remark", cNodeData.remark)
                 .set("update_time", QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
                 .where("id = ?", cNodeData.id);
         t.commit();
@@ -46,25 +47,25 @@ bool CNodeDataService::UpdateCNodeData(const CNodeData &cNodeData)
 }
 
 /*根据项目id查询节点信息*/
-bool CNodeDataService::QueryCNodeDataById(CNodeData &cNodeData, int id){
+bool CNodeDataService::QueryCNodeDataById(CNodeData &cNodeData, int id)
+{
 
     QSqlDatabase db = SqlDBHelper::getDatabase();
     QSqlQuery query(db);
-    bool ret = false;
-    QString selectSql =
-            QString("SELECT id,project_id, eval_type,number,p_number,name,remark FROM "
-                    "t_node_data WHERE id = %1")
-                    .arg(id);
+    bool ret          = false;
+    QString selectSql = QString("SELECT id,project_id, eval_type,number,p_number,name,remark FROM "
+                                "t_node_data WHERE id = %1")
+                                .arg(id);
     if (query.exec(selectSql)) {
         if (query.next()) {
             if (query.isNull(0) == false) {
-                cNodeData.id                = query.value(0).toInt();
-                cNodeData.projectId       = query.value(1).toInt();
-                cNodeData.evalType       = query.value(1).toInt();
-                cNodeData.number            = query.value(2).toInt();
-                cNodeData.pNumber          = query.value(3).toInt();
+                cNodeData.id        = query.value(0).toInt();
+                cNodeData.projectId = query.value(1).toInt();
+                cNodeData.evalType  = query.value(1).toInt();
+                cNodeData.number    = query.value(2).toInt();
+                cNodeData.pNumber   = query.value(3).toInt();
                 cNodeData.name      = query.value(4).toString();
-                cNodeData.remark = query.value(5).toString();
+                cNodeData.remark    = query.value(5).toString();
             }
             ret = true;
         }
@@ -75,39 +76,40 @@ bool CNodeDataService::QueryCNodeDataById(CNodeData &cNodeData, int id){
 }
 
 //查询所有
-bool CNodeDataService::QueryAll(QList<CNodeData> &cNodeDataList,int projectId,int evalType){
+bool CNodeDataService::QueryAll(QList<CNodeData> &cNodeDataList, int projectId, int evalType)
+{
 
     QSqlDatabase db = SqlDBHelper::getDatabase();
     QSqlQuery query(db);
-    bool ret = false;
-    QString selectSql =
-            QString("SELECT id,project_id, eval_type,number,p_number,name,remark FROM t_node_data WHERE project_id = %1 and eval_type= %2"
-                    ).arg(projectId).arg(evalType);
+    bool ret          = false;
+    QString selectSql = QString("SELECT id,project_id, eval_type,number,p_number,name,remark FROM t_node_data WHERE "
+                                "project_id = %1 and eval_type= %2")
+                                .arg(projectId)
+                                .arg(evalType);
     if (query.exec(selectSql)) {
         while (query.next()) {
             if (query.isNull(0) == false) {
                 CNodeData cNodeData;
-                cNodeData.id                = query.value(0).toInt();
-                cNodeData.projectId       = query.value(1).toInt();
-                cNodeData.evalType       = query.value(1).toInt();
-                cNodeData.number            = query.value(2).toInt();
-                cNodeData.pNumber          = query.value(3).toInt();
-                cNodeData.name      = query.value(4).toString();
-                cNodeData.remark = query.value(5).toString();
+                cNodeData.id        = query.value(0).toInt();
+                cNodeData.projectId = query.value(1).toInt();
+                cNodeData.evalType  = query.value(2).toInt();
+                cNodeData.number    = query.value(3).toInt();
+                cNodeData.pNumber   = query.value(4).toInt();
+                cNodeData.name      = query.value(5).toString();
+                cNodeData.remark    = query.value(6).toString();
                 cNodeDataList.append(cNodeData);
             }
-            ret = true;
         }
+        ret = true;
     } else {
         qDebug() << query.lastError();
     }
     return ret;
-
-
 }
 
 //根据id删除
-bool CNodeDataService::DeleteCNodeDataById(int id){
+bool CNodeDataService::DeleteCNodeDataById(int id)
+{
     bool ret = false;
     try {
         qDebug() << __FUNCTION__ << __LINE__
@@ -121,4 +123,3 @@ bool CNodeDataService::DeleteCNodeDataById(int id){
     }
     return ret;
 }
-

+ 1 - 1
QFD/widgets/EvalWidget.h

@@ -18,7 +18,7 @@ public:
     void setProject(ProjectInfo *proj);
 
     int type() const;
-    void setType(int type);
+    virtual void setType(int type);
 
     void setTitle(const QString title);
 

+ 12 - 0
QFD/widgets/IndexSystemWidget.cpp

@@ -39,6 +39,18 @@ void IndexSystemWidget::connectSignalsAndSlots()
     connect(m_mindView->mind(), &CMind::sigRemoveNode, this, &IndexSystemWidget::slotRemoveNode);
 }
 
+void IndexSystemWidget::setType(int type)
+{
+    EvalWidget::setType(type);
+
+    QList<CNodeData> list;
+
+    bool ret = CNodeDataService().QueryAll(list, proj()->id, type);
+    if (ret) {
+        m_mindView->setNodeList(list);
+    }
+}
+
 void IndexSystemWidget::contextMenuEvent(QContextMenuEvent *event)
 {
     RoundMenu *menu = new RoundMenu();

+ 2 - 0
QFD/widgets/IndexSystemWidget.h

@@ -21,6 +21,8 @@ public:
     void initLayout();
     void connectSignalsAndSlots();
 
+    void setType(int type) override;
+
     void contextMenuEvent(QContextMenuEvent *event) override;
 
     void addNode(CNodeData node);