Quellcode durchsuchen

add CNodeData operation function

youcai luo vor 1 Jahr
Ursprung
Commit
18cad8abe8
3 geänderte Dateien mit 150 neuen und 0 gelöschten Zeilen
  1. 124 0
      QFD/dbService/CNodeDataService.cpp
  2. 24 0
      QFD/dbService/CNodeDataService.h
  3. 2 0
      QFD/dbService/dbService.pri

+ 124 - 0
QFD/dbService/CNodeDataService.cpp

@@ -0,0 +1,124 @@
+#include "CNodeDataService.h"
+#include "SqlDBHelper.h"
+#include <QDebug>
+CNodeDataService::CNodeDataService(QObject *parent){}
+//新增节点
+int CNodeDataService::AddCNodeData(const CNodeData &cNodeData)
+{
+    int ret = -1;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        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();
+        t.commit();
+        ret = result.lastInsertId().toInt();
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+//更新节点信息
+bool CNodeDataService::UpdateCNodeData(const CNodeData &cNodeData)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_node_data")
+                .set("project_id", cNodeData.projectId)
+                .set("eval_type", cNodeData.evalType)
+                .set("number", cNodeData.number)
+                .set("p_number", cNodeData.pNumber)
+                .set("name", cNodeData.name)
+                .set("remark",cNodeData.remark)
+                .set("update_time", QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
+                .where("id = ?", cNodeData.id);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+/*根据项目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);
+    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.name      = query.value(4).toString();
+                cNodeData.remark = query.value(5).toString();
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+//查询所有
+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);
+    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();
+                cNodeDataList.append(cNodeData);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+
+
+}
+
+//根据id删除
+bool CNodeDataService::DeleteCNodeDataById(int id){
+    bool ret = false;
+    try {
+        qDebug() << __FUNCTION__ << __LINE__
+                 << SqlDBHelper::getDatabase().driver()->hasFeature(QSqlDriver::Transactions) << endl;
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_node_data").where("id = ?", id);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+

+ 24 - 0
QFD/dbService/CNodeDataService.h

@@ -0,0 +1,24 @@
+#ifndef CNODEDATASERVICE_H
+#define CNODEDATASERVICE_H
+#include<CCanvas/CMind.h>
+
+class CNodeDataService
+{
+public:
+    CNodeDataService(QObject *parent = nullptr);
+    //添加节点
+    int AddCNodeData(const CNodeData &cNodeData);
+    //更新节点
+    bool UpdateCNodeData(const CNodeData &cNodeData);
+
+    /*根据项目id查询节点信息*/
+    bool QueryCNodeDataById(CNodeData &cNodeData, int id);
+
+    //查询所有
+    bool QueryAll(QList<CNodeData> &cNodeDataList,int projectId,int evalType);
+
+    //根据id删除
+    bool DeleteCNodeDataById(int id);
+};
+
+#endif // CNODEDATASERVICE_H

+ 2 - 0
QFD/dbService/dbService.pri

@@ -1,5 +1,6 @@
 HEADERS += \
     $$PWD/AlgorithmService.h \
+    $$PWD/CNodeDataService.h \
     $$PWD/ClassSet.h \
     $$PWD/DBServiceSet.h \
     $$PWD/DemandWeightService.h \
@@ -15,6 +16,7 @@ HEADERS += \
 
 SOURCES += \
     $$PWD/AlgorithmService.cpp \
+    $$PWD/CNodeDataService.cpp \
     $$PWD/ClassSet.cpp \
     $$PWD/DBServiceSet.cpp \
     $$PWD/DemandWeightService.cpp \