Browse Source

'添加工程脑图关联接口'

zsf 1 year ago
parent
commit
457285d684

+ 20 - 3
QFD/dbService/ClassSet.h

@@ -268,9 +268,9 @@ class ProjectInfo
 public:
     int id = -1;                //项目id
     QString projectName;        //项目名称
-    int demandMindId    = -1;   //需求分享评估脑图ID
-    int programmeMindId = -1;   //方案优选评估脑图ID
-    int generalMindId   = -1;   //综合效能评估脑图ID
+                                //    int demandMindId    = -1;   //需求分享评估脑图ID
+                                //    int programmeMindId = -1;   //方案优选评估脑图ID
+                                //    int generalMindId   = -1;   //综合效能评估脑图ID
     QString remark;             //备注
     QString taskName;           //任务名称
     QString estimateTime;       //评估时间
@@ -320,4 +320,21 @@ public:
     QString updateTime;  //更新时间
 };
 
+/**
+ * @projectName   QFD2
+ * @author        mimang
+ * @date          2023-09-15
+ * @desc          工程脑图关联信息
+ */
+class ProjectMindRelation
+{
+public:
+    int id = -1;         //主键id
+    int mindId;          //脑图ID
+    int projectId;       //工程id
+    int type;            //评估类型
+    QString createTime;  //创建时间
+    QString updateTime;  //更新时间
+};
+
 #endif  // CLASSSET_H

+ 81 - 0
QFD/dbService/ProjectMindRelationService.cpp

@@ -0,0 +1,81 @@
+#include "ProjectMindRelationService.h"
+#include "SqlDBHelper.h"
+#include <QDebug>
+ProjectMindRelationService::ProjectMindRelationService(QObject *parent) { }
+
+bool ProjectMindRelationService::AddOrUpdateRelation(const ProjectMindRelation &relation)
+{
+    bool ret = false;
+    try {
+        QString nowDate = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
+        Transaction t(SqlDBHelper::getDatabase());
+        int id = relation.id;
+        if (id == -1) {
+            t.update("t_project_mind_ralation")
+                    .set("mind_id", relation.mindId)
+                    .set("type", relation.type)
+                    .set("projectId", relation.projectId)
+                    .set("updateTime", nowDate)
+                    .where("id = ?", id);
+        } else {
+            InsertQuery query = t.insertInto("t_project_mind_ralation( `mind_id`, `project_id`, `type` `create_time`)");
+
+            NonQueryResult result = query.values(relation.mindId, relation.projectId, relation.type, nowDate).exec();
+        }
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool ProjectMindRelationService::QueryByProjectIdAndType(ProjectMindRelation *relation, int projectId, int type)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT id, mind_id,project_id,type FROM t_project_mind_ralation WHERE type = %1 and "
+                                "project_id = %2 ")
+                                .arg(type)
+                                .arg(projectId);
+    if (query.exec(selectSql)) {
+        if (query.isNull(0) == false) {
+            relation->id        = query.value(0).toInt();
+            relation->mindId    = query.value(1).toInt();
+            relation->projectId = query.value(0).toInt();
+            relation->type      = query.value(0).toInt();
+        }
+        ret = true;
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool ProjectMindRelationService::QueryByProjectId(QList<ProjectMindRelation *> *relationList, int projectId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT id, mind_id,project_id,type FROM t_project_mind_ralation WHERE  "
+                                "project_id = %1 ")
+                                .arg(projectId);
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                ProjectMindRelation *relation = new ProjectMindRelation();
+                relation->id                  = query.value(0).toInt();
+                relation->mindId              = query.value(1).toInt();
+                relation->projectId           = query.value(0).toInt();
+                relation->type                = query.value(0).toInt();
+                relationList->append(relation);
+            }
+        }
+
+        ret = true;
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}

+ 19 - 0
QFD/dbService/ProjectMindRelationService.h

@@ -0,0 +1,19 @@
+#ifndef PROJECTMINDRELATIONSERVICE_H
+#define PROJECTMINDRELATIONSERVICE_H
+#include "ClassSet.h"
+class ProjectMindRelationService
+{
+public:
+    ProjectMindRelationService(QObject *parent = nullptr);
+
+    //新增或更新关联信息
+    bool AddOrUpdateRelation(const ProjectMindRelation &relation);
+
+    //根据工程id和类型查询数据
+    bool QueryByProjectIdAndType(ProjectMindRelation *relation, int projectId, int type);
+
+    //根据工程id查询数据
+    bool QueryByProjectId(QList<ProjectMindRelation *> *relationList, int projectId);
+};
+
+#endif  // PROJECTMINDRELATIONSERVICE_H

+ 41 - 49
QFD/dbService/ProjectService.cpp

@@ -10,14 +10,12 @@ int ProjectService::AddProjectInfo(const ProjectInfo &projectInfo)
     int ret = -1;
     try {
         Transaction t(SqlDBHelper::getDatabase());
-        InsertQuery query =
-                t.insertInto("t_project_info(`project_name`, `demand_mind_id`, `programme_mind_id`, "
-                             "`general_mind_id`, `remark`, `task_name`, `estimate_time`, `estimate_objective`, "
-                             "`estimate_dept`, `estimate_person`,`estimate_type`, `positional_titles`, `create_time`)");
+        InsertQuery query = t.insertInto(
+                "t_project_info(`project_name`, `remark`, `task_name`, `estimate_time`, `estimate_objective`, "
+                "`estimate_dept`, `estimate_person`,`estimate_type`, `positional_titles`, `create_time`)");
 
         NonQueryResult result =
-                query.values(projectInfo.projectName, projectInfo.demandMindId, projectInfo.programmeMindId,
-                             projectInfo.generalMindId, projectInfo.remark, projectInfo.taskName,
+                query.values(projectInfo.projectName, projectInfo.remark, projectInfo.taskName,
                              projectInfo.estimateTime, projectInfo.estimateObjective, projectInfo.estimateDept,
                              projectInfo.estimatePerson, projectInfo.estimateType, projectInfo.positionalTitles,
                              projectInfo.createTime)
@@ -101,30 +99,27 @@ bool ProjectService::QueryProjectById(ProjectInfo *proJectInfo, int id)
 {
     QSqlDatabase db = SqlDBHelper::getDatabase();
     QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("SELECT id, project_name, demand_mind_id, programme_mind_id, "
-                                "general_mind_id,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
-                                "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
-                                "t_project_info WHERE id = %1")
-                                .arg(id);
+    bool ret = false;
+    QString selectSql =
+            QString("SELECT id, project_name,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
+                    "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
+                    "t_project_info WHERE id = %1")
+                    .arg(id);
     if (query.exec(selectSql)) {
         if (query.next()) {
             if (query.isNull(0) == false) {
                 proJectInfo->id                = query.value(0).toInt();
                 proJectInfo->projectName       = query.value(1).toString();
-                proJectInfo->demandMindId      = query.value(2).toInt();
-                proJectInfo->programmeMindId   = query.value(3).toInt();
-                proJectInfo->generalMindId     = query.value(4).toInt();
-                proJectInfo->remark            = query.value(5).toString();
-                proJectInfo->taskName          = query.value(6).toString();
-                proJectInfo->estimateTime      = query.value(7).toString();
-                proJectInfo->estimateObjective = query.value(8).toString();
-                proJectInfo->estimateDept      = query.value(9).toString();
-                proJectInfo->estimatePerson    = query.value(10).toString();
-                proJectInfo->positionalTitles  = query.value(11).toString();
-                proJectInfo->createTime        = query.value(12).toString();
-                proJectInfo->updateTime        = query.value(13).toString();
-                proJectInfo->estimateType      = query.value(14).toString();
+                proJectInfo->remark            = query.value(2).toString();
+                proJectInfo->taskName          = query.value(3).toString();
+                proJectInfo->estimateTime      = query.value(4).toString();
+                proJectInfo->estimateObjective = query.value(5).toString();
+                proJectInfo->estimateDept      = query.value(6).toString();
+                proJectInfo->estimatePerson    = query.value(7).toString();
+                proJectInfo->positionalTitles  = query.value(8).toString();
+                proJectInfo->createTime        = query.value(9).toString();
+                proJectInfo->updateTime        = query.value(10).toString();
+                proJectInfo->estimateType      = query.value(11).toString();
             }
             ret = true;
         }
@@ -139,12 +134,12 @@ bool ProjectService::QueryProjectByName(QString name)
 {
     QSqlDatabase db = SqlDBHelper::getDatabase();
     QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("SELECT id, project_name, demand_mind_id, programme_mind_id, "
-                                "general_mind_id,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
-                                "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
-                                "t_project_info WHERE project_name = %1")
-                                .arg(name);
+    bool ret = false;
+    QString selectSql =
+            QString("SELECT id, project_name,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
+                    "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
+                    "t_project_info WHERE project_name = %1")
+                    .arg(name);
     if (query.exec(selectSql)) {
         if (query.next()) {
             ret = true;
@@ -159,30 +154,27 @@ bool ProjectService::QueryAll(QList<ProjectInfo *> *projectInfoList)
 {
     QSqlDatabase db = SqlDBHelper::getDatabase();
     QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("SELECT id, project_name, demand_mind_id, programme_mind_id, "
-                                "general_mind_id,remark,task_name,estimate_time,estimate_objective,estimate_dept,"
-                                "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
-                                "t_project_info");
+    bool ret = false;
+    QString selectSql =
+            QString("SELECT id, project_name, remark,task_name,estimate_time,estimate_objective,estimate_dept,"
+                    "estimate_person,positional_titles,create_time,update_time,estimate_type FROM "
+                    "t_project_info");
     if (query.exec(selectSql)) {
         while (query.next()) {
             if (query.isNull(0) == false) {
                 ProjectInfo *projectInfo       = new ProjectInfo();
                 projectInfo->id                = query.value(0).toInt();
                 projectInfo->projectName       = query.value(1).toString();
-                projectInfo->demandMindId      = query.value(2).toInt();
-                projectInfo->programmeMindId   = query.value(3).toInt();
-                projectInfo->generalMindId     = query.value(4).toInt();
-                projectInfo->remark            = query.value(5).toString();
-                projectInfo->taskName          = query.value(6).toString();
-                projectInfo->estimateTime      = query.value(7).toString();
-                projectInfo->estimateObjective = query.value(8).toString();
-                projectInfo->estimateDept      = query.value(9).toString();
-                projectInfo->estimatePerson    = query.value(10).toString();
-                projectInfo->positionalTitles  = query.value(11).toString();
-                projectInfo->createTime        = query.value(12).toString();
-                projectInfo->updateTime        = query.value(13).toString();
-                projectInfo->estimateType      = query.value(14).toString();
+                projectInfo->remark            = query.value(2).toString();
+                projectInfo->taskName          = query.value(3).toString();
+                projectInfo->estimateTime      = query.value(4).toString();
+                projectInfo->estimateObjective = query.value(5).toString();
+                projectInfo->estimateDept      = query.value(6).toString();
+                projectInfo->estimatePerson    = query.value(7).toString();
+                projectInfo->positionalTitles  = query.value(8).toString();
+                projectInfo->createTime        = query.value(9).toString();
+                projectInfo->updateTime        = query.value(10).toString();
+                projectInfo->estimateType      = query.value(11).toString();
                 projectInfoList->append(projectInfo);
             }
             ret = true;

+ 2 - 0
QFD/dbService/dbService.pri

@@ -6,6 +6,7 @@ HEADERS += \
     $$PWD/EngineerService.h \
     $$PWD/NodeMatrixService.h \
     $$PWD/ProjectAlgorithmRelationService.h \
+    $$PWD/ProjectMindRelationService.h \
     $$PWD/ProjectService.h \
     $$PWD/ReturnMessage.h \
     $$PWD/SqlDBHelper.h \
@@ -20,6 +21,7 @@ SOURCES += \
     $$PWD/EngineerService.cpp \
     $$PWD/NodeMatrixService.cpp \
     $$PWD/ProjectAlgorithmRelationService.cpp \
+    $$PWD/ProjectMindRelationService.cpp \
     $$PWD/ProjectService.cpp \
     $$PWD/ReturnMessage.cpp \
     $$PWD/SqlDBHelper.cpp \