Browse Source

添加项目对象接口

zsf 1 year ago
parent
commit
1826587313

+ 2 - 1
QFD/common/ProjectManager.cpp

@@ -1,6 +1,7 @@
 #include "ProjectManager.h"
 
 #include <dbService/DBServiceSet.h>
+#include <dbService/UserConfigService.h>
 
 int ProjectManager::queryProjects(QList<EngineerInfo *> *projList)
 {
@@ -8,7 +9,7 @@ int ProjectManager::queryProjects(QList<EngineerInfo *> *projList)
 
     if (ret) {
         for (EngineerInfo *proj : *projList) {
-            DBServiceSet().QueryUserConfigListInfoByEngineerId(&proj->configs, proj->engineerId);
+            UserConfigService().QueryUserConfigListInfoByEngineerId(&proj->configs, proj->engineerId);
         }
     }
 

+ 0 - 301
QFD/dbService/DBServiceSet.cpp

@@ -1986,304 +1986,3 @@ bool DBServiceSet::QueryIndexSetPlanListByColumnAndColumnValue(QList<IndexSetPla
 }
 
 //////////////////////指标体系评估方案关系信息表-end////////////////////
-
-//////////////////////用户工程配置-start////////////////////
-int DBServiceSet::AddUserConfig(const UserConfig &cfg)
-{
-    int returnId = -1;
-    try {
-        returnId = getNextId("t_user_config");
-        Transaction t(SqlDBHelper::getDatabase());
-        InsertQuery query = t.insertInto("t_user_config (user_id, engineer_id, "
-                                         "weight, create_time, update_time,user_name)");
-        NonQueryResult result =
-                query.values(cfg.userId, cfg.engineerId, cfg.weight, cfg.createTime, cfg.updateTime, cfg.userName)
-                        .exec();
-        t.commit();
-        returnId = result.lastInsertId().toInt();
-
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-        returnId = -1;
-    }
-    return returnId;
-}
-
-//添加配置信息
-bool DBServiceSet::AddUserConfigList(QList<UserConfig *> cfgList)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        for (auto cfg : cfgList) {
-            InsertQuery query     = t.insertInto("t_user_config (user_id, engineer_id, "
-                                             "weight, create_time, update_time,user_name)");
-            NonQueryResult result = query.values(cfg->userId, cfg->engineerId, cfg->weight * 100, cfg->createTime,
-                                                 cfg->updateTime, cfg->userName)
-                                            .exec();
-            t.commit();
-        }
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-int DBServiceSet::QueryUserWeightSum(int engineerId)
-{
-    int returnId = -1;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql = QString("SELECT sum(weight) from t_user_config "
-                                    " WHERE  engineer_id = %1 and is_valid =1")
-                                    .arg(engineerId);
-        QueryResult queryResult = t.execQuery(selectSql);
-        if (queryResult.next()) {
-            returnId = queryResult.value(0).toInt();
-        }
-
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-        returnId = -1;
-    }
-    return returnId;
-}
-
-int DBServiceSet::QueryUserWeightSum(int engineerId, int userId)
-{
-    int returnId = -1;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql = QString("SELECT sum(weight) from t_user_config "
-                                    " WHERE  engineer_id = %1 and user_id != %2 and is_valid =1")
-                                    .arg(engineerId)
-                                    .arg(userId);
-        QueryResult queryResult = t.execQuery(selectSql);
-        if (queryResult.next()) {
-            returnId = queryResult.value(0).toInt();
-        }
-
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-        returnId = -1;
-    }
-    return returnId;
-}
-
-bool DBServiceSet::UpdateUserConfig(const UserConfig &cfg)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.update("t_user_config")
-                .set("user_id", cfg.userId)
-                .set("engineer_id", cfg.engineerId)
-                .set("weight", cfg.weight)
-                .set("user_name", cfg.userName)
-                .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
-                .where("id=?", cfg.id);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::UpdateUserValid(int userId, int flag)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.update("t_user_config")
-                .set("is_valid", flag)
-                .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
-                .where("user_id=?", userId);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryUserConfigInfoById(UserConfig *cfg, int cfgId)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
-                                    "create_time, update_time,user_name from t_user_config "
-                                    " WHERE id = %1")
-                                    .arg(cfgId);
-        QueryResult queryResult = t.execQuery(selectSql);
-        if (queryResult.next()) {
-            cfg->id         = queryResult.value(0).toInt();
-            cfg->userId     = queryResult.value(1).toInt();
-            cfg->engineerId = queryResult.value(2).toInt();
-            cfg->weight     = queryResult.value(3).toDouble();
-            cfg->createTime = queryResult.value(4).toString();
-            cfg->updateTime = queryResult.value(5).toString();
-            cfg->userName   = queryResult.value(6).toString();
-            ret             = true;
-        }
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryUserConfigListInfoByUserIdAndEngineerId(UserConfig *cfg, int userId, int engineerId)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
-                                    "create_time, update_time,user_name from t_user_config "
-                                    " WHERE user_id = %1 and engineer_id = %2")
-                                    .arg(userId)
-                                    .arg(engineerId);
-        QueryResult queryResult = t.execQuery(selectSql);
-        if (queryResult.next()) {
-            cfg->id         = queryResult.value(0).toInt();
-            cfg->userId     = queryResult.value(1).toInt();
-            cfg->engineerId = queryResult.value(2).toInt();
-            cfg->weight     = queryResult.value(3).toDouble();
-            cfg->createTime = queryResult.value(4).toString();
-            cfg->updateTime = queryResult.value(5).toString();
-            cfg->userName   = queryResult.value(6).toString();
-            ret             = true;
-        }
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-bool DBServiceSet::QueryUserConfigListInfoByEngineerId(QList<UserConfig *> *userCfgList, int engineerId)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
-                                    "create_time, update_time,user_name from t_user_config"
-                                    " WHERE engineer_id = %1 and is_valid =1 ")
-                                    .arg(engineerId);
-        QueryResult queryResult = t.execQuery(selectSql);
-        while (queryResult.next()) {
-            UserConfig *cfg = new UserConfig();
-            cfg->id         = queryResult.value(0).toInt();
-            cfg->userId     = queryResult.value(1).toInt();
-            cfg->engineerId = queryResult.value(2).toInt();
-            cfg->weight     = queryResult.value(3).toDouble();
-            cfg->createTime = queryResult.value(4).toString();
-            cfg->updateTime = queryResult.value(5).toString();
-            cfg->userName   = queryResult.value(6).toString();
-            userCfgList->append(cfg);
-        }
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryUserConfigListInfoByUserId(QList<UserConfig *> *userCfgList, int userId)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
-                                    "create_time, update_time,user_name from t_user_config"
-                                    " WHERE user_id = %1 and is_valid=1 ")
-                                    .arg(userId);
-        QueryResult queryResult = t.execQuery(selectSql);
-        while (queryResult.next()) {
-            UserConfig *cfg = new UserConfig();
-            cfg->id         = queryResult.value(0).toInt();
-            cfg->userId     = queryResult.value(1).toInt();
-            cfg->engineerId = queryResult.value(2).toInt();
-            cfg->weight     = queryResult.value(3).toDouble();
-            cfg->createTime = queryResult.value(4).toString();
-            cfg->updateTime = queryResult.value(5).toString();
-            cfg->userName   = queryResult.value(6).toString();
-            userCfgList->append(cfg);
-        }
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryAllUserConfig(QList<UserConfig *> *userCfgList)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        QString selectSql       = QString("SELECT id, user_id, engineer_id, weight, "
-                                    "create_time, update_time,user_name from t_user_config");
-        QueryResult queryResult = t.execQuery(selectSql);
-        while (queryResult.next()) {
-            UserConfig *cfg = new UserConfig();
-            cfg->id         = queryResult.value(0).toInt();
-            cfg->userId     = queryResult.value(1).toInt();
-            cfg->engineerId = queryResult.value(2).toInt();
-            cfg->weight     = queryResult.value(3).toDouble();
-            cfg->createTime = queryResult.value(4).toString();
-            cfg->updateTime = queryResult.value(5).toString();
-            cfg->userName   = queryResult.value(6).toString();
-            userCfgList->append(cfg);
-        }
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::DeleteUserConfigById(int cfgId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString deleteSql = QString("DELETE FROM t_user_config WHERE id = %1").arg(cfgId);
-    if (query.exec(deleteSql)) {
-        ret = true;
-        qDebug() << "deleteSql success!";
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::DeleteUserConfigByEngineerId(int enjId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString deleteSql = QString("DELETE FROM t_user_config WHERE engineer_id = %1").arg(enjId);
-    if (query.exec(deleteSql)) {
-        ret = true;
-        qDebug() << "deleteSql success!";
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::DeleteUserConfigByUserId(int userId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString deleteSql = QString("DELETE FROM t_user_config WHERE user_id = %1").arg(userId);
-    if (query.exec(deleteSql)) {
-        ret = true;
-        qDebug() << "deleteSql success!";
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-//////////////////////用户工程配置-end////////////////////

+ 0 - 25
QFD/dbService/DBServiceSet.h

@@ -215,31 +215,6 @@ public:
     bool DeleteIndexSetPlanByPlanId(int planId);
     bool DeleteIndexSetPlanByIndexSetId(int indexSetId);
     //////////////////////评估方案指标体系关系表-end////////////////////
-
-    //////////////////////用户工程配置-start////////////////////
-    //添加信息
-    int AddUserConfig(const UserConfig &cfg);
-
-    //添加配置列表
-    bool AddUserConfigList(QList<UserConfig *> cfgList);
-    /*修改用户工程配置*/
-    bool UpdateUserConfig(const UserConfig &cfg);
-    /*修改用户工程配置为无效状态*/
-    bool UpdateUserValid(int userId, int flag);
-    /*查询该工程用户权重和*/
-    int QueryUserWeightSum(int engineerId);
-    int QueryUserWeightSum(int engineerId, int userId);
-    /*根据用户工程配置id查询用户工程配置*/
-    bool QueryUserConfigInfoById(UserConfig *cfg, int cfgId);
-    bool QueryUserConfigListInfoByUserId(QList<UserConfig *> *userCfgList, int userId);
-    bool QueryUserConfigListInfoByUserIdAndEngineerId(UserConfig *userCfg, int userId, int engineerId);
-    bool QueryUserConfigListInfoByEngineerId(QList<UserConfig *> *userCfgList, int engineerId);
-    bool QueryAllUserConfig(QList<UserConfig *> *userCfgList);
-    /*根据用户工程配置id删除用户工程配置*/
-    bool DeleteUserConfigById(int cfgId);
-    bool DeleteUserConfigByEngineerId(int enjId);
-    bool DeleteUserConfigByUserId(int userId);
-    //////////////////////用户工程配置-end////////////////////
 };
 
 #endif  // DBSERVICESET_H

+ 431 - 2
QFD/dbService/EngineerService.cpp

@@ -1,6 +1,435 @@
-#include "EngineerService.h"
+#include "EngineerService.h"
+#include "SqlDBHelper.h"
+#include <QDebug>
 
-EngineerService::EngineerService()
+EngineerService::EngineerService(QObject *parent) { }
+//////////////////////工程信息表-start////////////////////
+bool EngineerService::AddEngineerInfo(const EngineerInfo &engineerInfo)
 {
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        InsertQuery query =
+                t.insertInto("t_engineer_info(`engineer_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`)");
 
+        NonQueryResult result =
+                query.values(engineerInfo.engineerName, engineerInfo.indexSetId, engineerInfo.schemaEvalId,
+                             engineerInfo.measureFunctionId, engineerInfo.remark, engineerInfo.effectNameStr)
+                        .exec();
+        t.commit();
+        qDebug() << "---------" << result.lastInsertId();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
 }
+
+int EngineerService::AddEngineerInfoReturnId(const EngineerInfo &engineerInfo)
+{
+    int ret = -1;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        InsertQuery query = t.insertInto("t_engineer_info(engineer_name,index_set_id,schema_set_id,"
+                                         "measure_function_id,remark,effect_name_str)");
+
+        NonQueryResult result =
+                query.values(engineerInfo.engineerName, engineerInfo.indexSetId, engineerInfo.schemaEvalId,
+                             engineerInfo.measureFunctionId, engineerInfo.remark, engineerInfo.effectNameStr)
+                        .exec();
+        t.commit();
+        ret = result.lastInsertId().toInt();
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::UpdateEngineerInfo(const EngineerInfo &engineerInfo)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_engineer_info")
+                .set("engineer_name", engineerInfo.engineerName)
+                .set("index_set_id", engineerInfo.indexSetId)
+                .set("schema_set_id", engineerInfo.schemaEvalId)
+                .set("measure_function_id", engineerInfo.measureFunctionId)
+                .set("effect_name_str", engineerInfo.effectNameStr)
+                .where("engineer_id = ?", engineerInfo.engineerId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::UpdateEngineerIndex(int enjId, int indexId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_engineer_info").set("index_set_id", indexId).where("engineer_id = ?", enjId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::UpdateEngineerMessaure(int enjId, int messaureId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_engineer_info").set("measure_function_id", messaureId).where("engineer_id = ?", enjId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::UpdateEngineerSchema(int enjId, int schemaId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_engineer_info").set("schema_set_id", schemaId).where("engineer_id = ?", enjId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::UpdateNameById(QString name, int id)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_engineer_info").set("engineer_name", name).where("engineer_id = ?", id);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::QueryEngineerByEngineerId(EngineerInfo *engineerInfo, int engineerId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
+                                "measure_function_id,remark,effect_name_str FROM "
+                                "t_engineer_info WHERE engineer_id = %1")
+                                .arg(engineerId);
+    // qDebug() << "sql= " << selectSql;
+    if (query.exec(selectSql)) {
+        if (query.next()) {
+            if (query.isNull(0) == false) {
+
+                engineerInfo->engineerId        = query.value(0).toInt();
+                engineerInfo->engineerName      = query.value(1).toString();
+                engineerInfo->indexSetId        = query.value(2).toInt();
+                engineerInfo->schemaEvalId      = query.value(3).toInt();
+                engineerInfo->measureFunctionId = query.value(4).toInt();
+                engineerInfo->remark            = query.value(5).toString();
+                engineerInfo->effectNameStr     = query.value(6).toString();
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool EngineerService::QueryEngineerByEngineerName(EngineerInfo *engineerInfo, QString engineerName)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
+                                "measure_function_id,remark,effect_name_str FROM "
+                                "t_engineer_info WHERE engineer_name = '%1'")
+                                .arg(engineerName);
+    if (query.exec(selectSql)) {
+        if (query.next()) {
+            if (query.isNull(0) == false) {
+                engineerInfo->engineerId        = query.value(0).toInt();
+                engineerInfo->engineerName      = query.value(1).toString();
+                engineerInfo->indexSetId        = query.value(2).toInt();
+                engineerInfo->schemaEvalId      = query.value(3).toInt();
+                engineerInfo->measureFunctionId = query.value(4).toInt();
+                engineerInfo->remark            = query.value(5).toString();
+                engineerInfo->effectNameStr     = query.value(6).toString();
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool EngineerService::QueryEngineerListByName(QList<EngineerInfo *> *engineerInfoList, QString engineerName)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
+                                "measure_function_id,remark,effect_name_str "
+                                "FROM t_engineer_info WHERE engineer_name like '%1'")
+                                .arg("%" + engineerName + "%");
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                EngineerInfo *engineerInfo      = new EngineerInfo();
+                engineerInfo->engineerId        = query.value(0).toInt();
+                engineerInfo->engineerName      = query.value(1).toString();
+                engineerInfo->indexSetId        = query.value(2).toInt();
+                engineerInfo->schemaEvalId      = query.value(3).toInt();
+                engineerInfo->measureFunctionId = query.value(4).toInt();
+                engineerInfo->remark            = query.value(5).toString();
+                engineerInfo->effectNameStr     = query.value(6).toString();
+                engineerInfoList->append(engineerInfo);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool EngineerService::QueryEngineerList(QList<EngineerInfo *> *engineerInfoList)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret = false;
+    try {
+        QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
+                                    "measure_function_id,remark,effect_name_str FROM t_engineer_info");
+        if (query.exec(selectSql)) {
+            while (query.next()) {
+                if (query.isNull(0) == false) {
+                    EngineerInfo *engineerInfo      = new EngineerInfo();
+                    engineerInfo->engineerId        = query.value(0).toInt();
+                    engineerInfo->engineerName      = query.value(1).toString();
+                    engineerInfo->indexSetId        = query.value(2).toInt();
+                    engineerInfo->schemaEvalId      = query.value(3).toInt();
+                    engineerInfo->measureFunctionId = query.value(4).toInt();
+                    engineerInfo->remark            = query.value(5).toString();
+                    engineerInfo->effectNameStr     = query.value(6).toString();
+                    engineerInfoList->append(engineerInfo);
+                }
+            }
+        }
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+
+    return ret;
+}
+
+bool EngineerService::QueryEngineerListByIndexSetId(QList<EngineerInfo *> *engineerInfoList, int indexSetId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
+                                "measure_function_id,remark,effect_name_str FROM "
+                                "t_engineer_info WHERE index_set_id = %1")
+                                .arg(indexSetId);
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                EngineerInfo *engineerInfo      = new EngineerInfo();
+                engineerInfo->engineerId        = query.value(0).toInt();
+                engineerInfo->engineerName      = query.value(1).toString();
+                engineerInfo->indexSetId        = query.value(2).toInt();
+                engineerInfo->schemaEvalId      = query.value(3).toInt();
+                engineerInfo->measureFunctionId = query.value(4).toInt();
+                engineerInfo->remark            = query.value(5).toString();
+                engineerInfo->effectNameStr     = query.value(6).toString();
+                engineerInfoList->append(engineerInfo);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool EngineerService::QueryEngineerListByMeasureFunctionId(QList<EngineerInfo *> *engineerInfoList,
+                                                           int measureFunctionId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
+                                "measure_function_id,remark FROM "
+                                "t_engineer_info WHERE measure_function_id = %1")
+                                .arg(measureFunctionId);
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                EngineerInfo *engineerInfo      = new EngineerInfo();
+                engineerInfo->engineerId        = query.value(0).toInt();
+                engineerInfo->engineerName      = query.value(1).toString();
+                engineerInfo->indexSetId        = query.value(2).toInt();
+                engineerInfo->schemaEvalId      = query.value(3).toInt();
+                engineerInfo->measureFunctionId = query.value(4).toInt();
+                engineerInfo->remark            = query.value(5).toString();
+                engineerInfoList->append(engineerInfo);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool EngineerService::DeleteEngineerByEngineerId(int engineerId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_engineer_info").where("engineer_id = ?", engineerId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+bool EngineerService::DeleteEngineerByIndexSetId(int indexSetId)
+{
+
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_engineer_info").where("index_set_id = ?", indexSetId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+bool EngineerService::DeleteEngineerByMeasureFunctionId(int measureFunctionId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_engineer_info").where("measure_function_id = ?", measureFunctionId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+//删除所有工程
+bool EngineerService::DeleteEngineers()
+{
+    bool ret = false;
+    try {
+        QSqlDatabase db = SqlDBHelper::getDatabase();
+        db.exec("delete from  t_engineer_info");
+        db.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool EngineerService::QueryChlidNodeByPId(int pid, QString dbName, QString mindPath)
+{
+    QSqlDatabase db;
+
+    if (QSqlDatabase::contains(dbName)) {
+        db = QSqlDatabase::database(dbName);
+    } else {
+        db = QSqlDatabase::addDatabase("QSQLITE", dbName);
+        db.setDatabaseName(mindPath);
+    }
+    if (!db.open()) {
+        qDebug() << "test.db Open failed!";
+    }
+    // qDebug() << "open=" << db.isOpen();
+
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("SELECT  * from "
+                                "mind_data WHERE pid = %1")
+                                .arg(pid);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        if (query.next()) {
+            // qDebug() << "cunzai";
+            ret = true;
+        } else {
+            // qDebug() << "bucunzai";
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    db.close();
+    // qDebug() << "------" << ret;
+    return ret;
+}
+
+//删除资源包中多余工程
+bool EngineerService::DeleteEngineerNotInId(int id, QString dbPath)
+{
+    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
+    db.setDatabaseName(dbPath);
+    if (!db.open()) {
+        qDebug() << "test.db Open failed!";
+    }
+
+    QSqlQuery query(db);
+    bool ret                 = false;
+    QString deleteSql        = QString("DELETE FROM t_engineer_info WHERE engineer_id != %1").arg(id);
+    QString deleteUserConfig = QString("DELETE FROM t_user_config WHERE  engineer_id != %1").arg(id);
+    QString deleteUser = QString("DELETE FROM t_user_info WHERE id not in (select user_id  FROM t_user_config WHERE "
+                                 "engineer_id = %1)")
+                                 .arg(id);
+    QString deleteNodeValue = QString("DELETE FROM t_node_matrix_info ");
+    QString deleteTechnical = QString("DELETE FROM t_technical_import");
+    QString deleteScheme    = QString("DELETE FROM t_scheme_info ");
+    QString deleteDemand    = QString("DELETE FROM t_demand_weight");
+    QString deletePlan      = QString("DELETE FROM t_plan_info");
+    QString deletePlanIndex = QString("DELETE FROM t_plan_index");
+    if (query.exec(deleteSql)) {
+        query.exec(deleteUserConfig);
+        query.exec(deleteUser);
+        query.exec(deleteNodeValue);
+        query.exec(deleteTechnical);
+        query.exec(deleteScheme);
+        query.exec(deleteDemand);
+        query.exec(deletePlan);
+        query.exec(deletePlanIndex);
+        ret = true;
+        qDebug() << "deleteSql success!";
+    } else {
+        qDebug() << query.lastError();
+    }
+    db.close();
+    return ret;
+}
+//////////////////////工程信息表-end////////////////////

+ 41 - 4
QFD/dbService/EngineerService.h

@@ -1,11 +1,48 @@
-#ifndef ENGINEERSERVICE_H
+#ifndef ENGINEERSERVICE_H
 #define ENGINEERSERVICE_H
-
+#include "ClassSet.h"
 
 class EngineerService
 {
 public:
-    EngineerService();
+    EngineerService(QObject *parent = nullptr);
+    //////////////////////工程信息表-start////////////////////
+    //添加信息
+    bool AddEngineerInfo(const EngineerInfo &engineerInfo);
+    int AddEngineerInfoReturnId(const EngineerInfo &engineerInfo);
+    /*修改节点值*/
+    bool UpdateEngineerInfo(const EngineerInfo &engineerInfo);
+    bool UpdateEngineerIndex(int enjId, int indexId);
+    bool UpdateEngineerMessaure(int enjId, int messaureId);
+    bool UpdateEngineerSchema(int enjId, int schemaId);
+    bool UpdateNameById(QString name, int id);
+    /*根据指标体系id查询工程信息*/
+    bool QueryEngineerByEngineerId(EngineerInfo *engineerInfo, int engineerId);
+    /*根据指标体系名查询工程信息*/
+    bool QueryEngineerByEngineerName(EngineerInfo *engineerInfo, QString engineerName);
+    /*根据指标体系id查询工程信息*/
+    bool QueryEngineerList(QList<EngineerInfo *> *engineerInfoList);
+
+    bool QueryEngineerListByName(QList<EngineerInfo *> *engineerInfoList, QString engineerName);
+    /*根据指标体系id查询工程信息*/
+    bool QueryEngineerListByIndexSetId(QList<EngineerInfo *> *engineerInfoList, int indexSetId);
+    /*根据测量方法ig查询对应的工程信息*/
+    bool QueryEngineerListByMeasureFunctionId(QList<EngineerInfo *> *engineerInfoList, int measureFunctionId);
+    /*根据工程编号删除工程信息*/
+    bool DeleteEngineerByEngineerId(int engineerId);
+    /*根据指标体系编号删除工程信息*/
+    bool DeleteEngineerByIndexSetId(int indexSetId);
+    /*根据测量方法编号删除工程信息*/
+    bool DeleteEngineerByMeasureFunctionId(int measureFunctionId);
+    /*删除所有工程*/
+    bool DeleteEngineers();
+
+    //删除其他工程id
+    bool DeleteEngineerNotInId(int id, QString dbPath);
+
+    bool QueryChlidNodeByPId(int pid, QString dbName, QString mindPath);
+
+    //////////////////////工程信息表-end////////////////////
 };
 
-#endif // ENGINEERSERVICE_H
+#endif  // ENGINEERSERVICE_H

+ 188 - 0
QFD/dbService/ProjectService.cpp

@@ -0,0 +1,188 @@
+#include "ProjectService.h"
+#include "SqlDBHelper.h"
+#include <QDebug>
+
+ProjectService::ProjectService(QObject *parent) { }
+
+//新增项目
+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`)");
+
+        NonQueryResult result =
+                query.values(projectInfo.projectName, projectInfo.demandMindId, projectInfo.programmeMindId,
+                             projectInfo.generalMindId, projectInfo.remark, projectInfo.taskName,
+                             projectInfo.estimateTime, projectInfo.estimateObjective, projectInfo.estimateDept,
+                             projectInfo.estimatePerson, projectInfo.estimateType, projectInfo.positionalTitles,
+                             projectInfo.createTime)
+                        .exec();
+        t.commit();
+        ret = result.lastInsertId().toInt();
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+//更新项目信息
+bool ProjectService::UpdateProjectInfo(const ProjectInfo &proInfo)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_project_info")
+                .set("project_name", proInfo.projectName)
+                .set("remark", proInfo.remark)
+                .set("task_name", proInfo.taskName)
+                .set("estimate_time", proInfo.estimateTime)
+                .set("estimate_objective", proInfo.estimateObjective)
+                .set("estimate_dept", proInfo.estimateDept)
+                .set("estimatePerson", proInfo.estimatePerson)
+                .set("estimateType", proInfo.estimateType)
+                .set("positionalTitles", proInfo.positionalTitles)
+                .set("updateTime", proInfo.updateTime)
+                .where("id = ?", proInfo.id);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+//更新脑图ID
+bool ProjectService::UpdateDemandById(int enjId, int demandId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_project_info").set("demand_mind_id", demandId).where("id = ?", enjId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+bool ProjectService::UpdateGeneralById(int enjId, int generalId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_project_info").set("general", generalId).where("id = ?", enjId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+bool ProjectService::UpdateProgrammeById(int enjId, int programmeId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_project_info").set("programme_mind_id", programmeId).where("id = ?", enjId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+//获取项目详情
+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);
+    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();
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+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");
+    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();
+                projectInfoList->append(projectInfo);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+//根据id删除
+bool ProjectService::DeleteById(int id)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_project_info").where("id = ?", id);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}

+ 28 - 0
QFD/dbService/ProjectService.h

@@ -0,0 +1,28 @@
+#ifndef PROJECTSERVICE_H
+#define PROJECTSERVICE_H
+#include "ClassSet.h"
+
+class ProjectService
+{
+public:
+    ProjectService(QObject *parent = nullptr);
+    //添加项目
+    int AddProjectInfo(const ProjectInfo &projectInfo);
+    //更新项目
+    bool UpdateProjectInfo(const ProjectInfo &projectInfo);
+    //根据ID更新脑图ID
+    bool UpdateDemandById(int enjId, int demandId);
+    bool UpdateProgrammeById(int enjId, int programmeId);
+    bool UpdateGeneralById(int enjId, int generalId);
+
+    /*根据项目id查询项目信息*/
+    bool QueryProjectById(ProjectInfo *proJectInfo, int id);
+
+    //查询所有
+    bool QueryAll(QList<ProjectInfo *> *projectInfoList);
+
+    //根据id删除
+    bool DeleteById(int id);
+};
+
+#endif  // PROJECTSERVICE_H

+ 306 - 0
QFD/dbService/UserConfigService.cpp

@@ -0,0 +1,306 @@
+#include "UserConfigService.h"
+
+#include "SqlDBHelper.h"
+#include <QDebug>
+
+UserConfigService::UserConfigService(QObject *parent) { }
+
+//////////////////////用户工程配置-start////////////////////
+int UserConfigService::AddUserConfig(const UserConfig &cfg)
+{
+    int returnId = -1;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        InsertQuery query = t.insertInto("t_user_config (user_id, engineer_id, "
+                                         "weight, create_time, update_time,user_name)");
+        NonQueryResult result =
+                query.values(cfg.userId, cfg.engineerId, cfg.weight, cfg.createTime, cfg.updateTime, cfg.userName)
+                        .exec();
+        t.commit();
+        returnId = result.lastInsertId().toInt();
+
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+        returnId = -1;
+    }
+    return returnId;
+}
+
+//添加配置信息
+bool UserConfigService::AddUserConfigList(QList<UserConfig *> cfgList)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        for (auto cfg : cfgList) {
+            InsertQuery query     = t.insertInto("t_user_config (user_id, engineer_id, "
+                                             "weight, create_time, update_time,user_name)");
+            NonQueryResult result = query.values(cfg->userId, cfg->engineerId, cfg->weight * 100, cfg->createTime,
+                                                 cfg->updateTime, cfg->userName)
+                                            .exec();
+            t.commit();
+        }
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+int UserConfigService::QueryUserWeightSum(int engineerId)
+{
+    int returnId = -1;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql = QString("SELECT sum(weight) from t_user_config "
+                                    " WHERE  engineer_id = %1 and is_valid =1")
+                                    .arg(engineerId);
+        QueryResult queryResult = t.execQuery(selectSql);
+        if (queryResult.next()) {
+            returnId = queryResult.value(0).toInt();
+        }
+
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+        returnId = -1;
+    }
+    return returnId;
+}
+
+int UserConfigService::QueryUserWeightSum(int engineerId, int userId)
+{
+    int returnId = -1;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql = QString("SELECT sum(weight) from t_user_config "
+                                    " WHERE  engineer_id = %1 and user_id != %2 and is_valid =1")
+                                    .arg(engineerId)
+                                    .arg(userId);
+        QueryResult queryResult = t.execQuery(selectSql);
+        if (queryResult.next()) {
+            returnId = queryResult.value(0).toInt();
+        }
+
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+        returnId = -1;
+    }
+    return returnId;
+}
+
+bool UserConfigService::UpdateUserConfig(const UserConfig &cfg)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_user_config")
+                .set("user_id", cfg.userId)
+                .set("engineer_id", cfg.engineerId)
+                .set("weight", cfg.weight)
+                .set("user_name", cfg.userName)
+                .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
+                .where("id=?", cfg.id);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool UserConfigService::UpdateUserValid(int userId, int flag)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_user_config")
+                .set("is_valid", flag)
+                .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
+                .where("user_id=?", userId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool UserConfigService::QueryUserConfigInfoById(UserConfig *cfg, int cfgId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
+                                    "create_time, update_time,user_name from t_user_config "
+                                    " WHERE id = %1")
+                                    .arg(cfgId);
+        QueryResult queryResult = t.execQuery(selectSql);
+        if (queryResult.next()) {
+            cfg->id         = queryResult.value(0).toInt();
+            cfg->userId     = queryResult.value(1).toInt();
+            cfg->engineerId = queryResult.value(2).toInt();
+            cfg->weight     = queryResult.value(3).toDouble();
+            cfg->createTime = queryResult.value(4).toString();
+            cfg->updateTime = queryResult.value(5).toString();
+            cfg->userName   = queryResult.value(6).toString();
+            ret             = true;
+        }
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool UserConfigService::QueryUserConfigListInfoByUserIdAndEngineerId(UserConfig *cfg, int userId, int engineerId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
+                                    "create_time, update_time,user_name from t_user_config "
+                                    " WHERE user_id = %1 and engineer_id = %2")
+                                    .arg(userId)
+                                    .arg(engineerId);
+        QueryResult queryResult = t.execQuery(selectSql);
+        if (queryResult.next()) {
+            cfg->id         = queryResult.value(0).toInt();
+            cfg->userId     = queryResult.value(1).toInt();
+            cfg->engineerId = queryResult.value(2).toInt();
+            cfg->weight     = queryResult.value(3).toDouble();
+            cfg->createTime = queryResult.value(4).toString();
+            cfg->updateTime = queryResult.value(5).toString();
+            cfg->userName   = queryResult.value(6).toString();
+            ret             = true;
+        }
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+bool UserConfigService::QueryUserConfigListInfoByEngineerId(QList<UserConfig *> *userCfgList, int engineerId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
+                                    "create_time, update_time,user_name from t_user_config"
+                                    " WHERE engineer_id = %1 and is_valid =1 ")
+                                    .arg(engineerId);
+        QueryResult queryResult = t.execQuery(selectSql);
+        while (queryResult.next()) {
+            UserConfig *cfg = new UserConfig();
+            cfg->id         = queryResult.value(0).toInt();
+            cfg->userId     = queryResult.value(1).toInt();
+            cfg->engineerId = queryResult.value(2).toInt();
+            cfg->weight     = queryResult.value(3).toDouble();
+            cfg->createTime = queryResult.value(4).toString();
+            cfg->updateTime = queryResult.value(5).toString();
+            cfg->userName   = queryResult.value(6).toString();
+            userCfgList->append(cfg);
+        }
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool UserConfigService::QueryUserConfigListInfoByUserId(QList<UserConfig *> *userCfgList, int userId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
+                                    "create_time, update_time,user_name from t_user_config"
+                                    " WHERE user_id = %1 and is_valid=1 ")
+                                    .arg(userId);
+        QueryResult queryResult = t.execQuery(selectSql);
+        while (queryResult.next()) {
+            UserConfig *cfg = new UserConfig();
+            cfg->id         = queryResult.value(0).toInt();
+            cfg->userId     = queryResult.value(1).toInt();
+            cfg->engineerId = queryResult.value(2).toInt();
+            cfg->weight     = queryResult.value(3).toDouble();
+            cfg->createTime = queryResult.value(4).toString();
+            cfg->updateTime = queryResult.value(5).toString();
+            cfg->userName   = queryResult.value(6).toString();
+            userCfgList->append(cfg);
+        }
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool UserConfigService::QueryAllUserConfig(QList<UserConfig *> *userCfgList)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        QString selectSql       = QString("SELECT id, user_id, engineer_id, weight, "
+                                    "create_time, update_time,user_name from t_user_config");
+        QueryResult queryResult = t.execQuery(selectSql);
+        while (queryResult.next()) {
+            UserConfig *cfg = new UserConfig();
+            cfg->id         = queryResult.value(0).toInt();
+            cfg->userId     = queryResult.value(1).toInt();
+            cfg->engineerId = queryResult.value(2).toInt();
+            cfg->weight     = queryResult.value(3).toDouble();
+            cfg->createTime = queryResult.value(4).toString();
+            cfg->updateTime = queryResult.value(5).toString();
+            cfg->userName   = queryResult.value(6).toString();
+            userCfgList->append(cfg);
+        }
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool UserConfigService::DeleteUserConfigById(int cfgId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString deleteSql = QString("DELETE FROM t_user_config WHERE id = %1").arg(cfgId);
+    if (query.exec(deleteSql)) {
+        ret = true;
+        qDebug() << "deleteSql success!";
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool UserConfigService::DeleteUserConfigByEngineerId(int enjId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString deleteSql = QString("DELETE FROM t_user_config WHERE engineer_id = %1").arg(enjId);
+    if (query.exec(deleteSql)) {
+        ret = true;
+        qDebug() << "deleteSql success!";
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool UserConfigService::DeleteUserConfigByUserId(int userId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString deleteSql = QString("DELETE FROM t_user_config WHERE user_id = %1").arg(userId);
+    if (query.exec(deleteSql)) {
+        ret = true;
+        qDebug() << "deleteSql success!";
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+//////////////////////用户工程配置-end////////////////////

+ 35 - 0
QFD/dbService/UserConfigService.h

@@ -0,0 +1,35 @@
+#ifndef USERCONFIGSERVICE_H
+#define USERCONFIGSERVICE_H
+#include "ClassSet.h"
+
+class UserConfigService
+{
+public:
+    UserConfigService(QObject *parent = nullptr);
+    //////////////////////用户工程配置-start////////////////////
+    //添加信息
+    int AddUserConfig(const UserConfig &cfg);
+
+    //添加配置列表
+    bool AddUserConfigList(QList<UserConfig *> cfgList);
+    /*修改用户工程配置*/
+    bool UpdateUserConfig(const UserConfig &cfg);
+    /*修改用户工程配置为无效状态*/
+    bool UpdateUserValid(int userId, int flag);
+    /*查询该工程用户权重和*/
+    int QueryUserWeightSum(int engineerId);
+    int QueryUserWeightSum(int engineerId, int userId);
+    /*根据用户工程配置id查询用户工程配置*/
+    bool QueryUserConfigInfoById(UserConfig *cfg, int cfgId);
+    bool QueryUserConfigListInfoByUserId(QList<UserConfig *> *userCfgList, int userId);
+    bool QueryUserConfigListInfoByUserIdAndEngineerId(UserConfig *userCfg, int userId, int engineerId);
+    bool QueryUserConfigListInfoByEngineerId(QList<UserConfig *> *userCfgList, int engineerId);
+    bool QueryAllUserConfig(QList<UserConfig *> *userCfgList);
+    /*根据用户工程配置id删除用户工程配置*/
+    bool DeleteUserConfigById(int cfgId);
+    bool DeleteUserConfigByEngineerId(int enjId);
+    bool DeleteUserConfigByUserId(int userId);
+    //////////////////////用户工程配置-end////////////////////
+};
+
+#endif  // USERCONFIGSERVICE_H

+ 0 - 1
QFD/dbService/UserService.cpp

@@ -1,7 +1,6 @@
 #include "UserService.h"
 #include "SqlDBHelper.h"
 #include <QDebug>
-#include "DBServiceSet.h"
 
 UserService::UserService(QObject *parent) { }
 //////////////////////用户信息表-start////////////////////

+ 4 - 0
QFD/dbService/dbService.pri

@@ -2,16 +2,20 @@ HEADERS += \
     $$PWD/ClassSet.h \
     $$PWD/DBServiceSet.h \
     $$PWD/EngineerService.h \
+    $$PWD/ProjectService.h \
     $$PWD/ReturnMessage.h \
     $$PWD/SqlDBHelper.h \
+    $$PWD/UserConfigService.h \
     $$PWD/UserService.h
 
 SOURCES += \
     $$PWD/ClassSet.cpp \
     $$PWD/DBServiceSet.cpp \
     $$PWD/EngineerService.cpp \
+    $$PWD/ProjectService.cpp \
     $$PWD/ReturnMessage.cpp \
     $$PWD/SqlDBHelper.cpp \
+    $$PWD/UserConfigService.cpp \
     $$PWD/UserService.cpp
 
 FORMS +=

+ 2 - 1
QFD/shemeTable/ExportProjectDlg.cpp

@@ -3,6 +3,7 @@
 #include <qcheckbox.h>
 #include <qgridlayout.h>
 #include <dbService/DBServiceSet.h>
+#include <dbService/UserConfigService.h>
 #include "FileUtil.h"
 #include <QDebug>
 #include <QFileDialog>
@@ -173,7 +174,7 @@ void ExportProjectDlg::exportProject(int engineerId, QString name)
 
     //判断是否配置过专家
     QList<UserConfig *> list;
-    if (DBServiceSet().QueryUserConfigListInfoByEngineerId(&list, engineerId)) {
+    if (UserConfigService().QueryUserConfigListInfoByEngineerId(&list, engineerId)) {
         if (list.isEmpty()) {
             QMessageBox::warning(this, "警告", "请先给该工程配置专家!");
             return;

+ 2 - 1
QFD/shemeTable/GroupPanelWidget.cpp

@@ -2,6 +2,7 @@
 #include "GroupTableWidget.h"
 #include "dbService/DBServiceSet.h"
 #include "dbService/UserService.h"
+#include "dbService/UserConfigService.h"
 #include "ui_GroupPanelWidget.h"
 
 #include <QDebug>
@@ -197,7 +198,7 @@ void GroupPanelWidget::initPlainWidget(int engineerId)
         const QFUser *user = userInfoList.at(i);
         QString str        = "专家" + QString::number(i + 1) + "-" + user->userName;
         UserConfig userConfig;
-        DBServiceSet().QueryUserConfigListInfoByUserIdAndEngineerId(&userConfig, user->id, engineerId);
+        UserConfigService().QueryUserConfigListInfoByUserIdAndEngineerId(&userConfig, user->id, engineerId);
         table->addColNode(QString::number(user->id), str, QString::number(userConfig.weight / 100));
         if (analysisViewType == IndexType::IndexTech) {
             QList<DemandWeight *> nodeValueInfoList;

+ 9 - 9
QFD/shemeTable/UserConfigDlg.cpp

@@ -2,7 +2,7 @@
 #include "ui_UserConfigDlg.h"
 #include "dbService/DBServiceSet.h"
 #include "dbService/UserService.h"
-
+#include "dbService/UserConfigService.h"
 #include <QDoubleSpinBox>
 #include <QComboBox>
 #include <QCheckBox>
@@ -131,7 +131,7 @@ void UserConfigDlg::deleteUserItem()
             if (checkBox && (checkBox->checkState() == Qt::Checked)) {
                 int id = ui->tableWidget->item(row, 1)->data(Qt::UserRole).toInt();
                 if (id >= 0) {
-                    if (!DBServiceSet().DeleteUserConfigById(id)) {
+                    if (!UserConfigService().DeleteUserConfigById(id)) {
                         qDebug() << QString("删除第%1条数据失败").arg(id);
                         QMessageBox::warning(nullptr, "删除失败", "数据库操作异常");
                         return;
@@ -223,15 +223,15 @@ void UserConfigDlg::saveCurrentRow()
                 QString ops = btn->property("saveAction").toString();
                 //新增或更新之前确该工程权重
                 if (ops == "add") {
-                    int sum    = DBServiceSet().QueryUserWeightSum(cfg.engineerId);
+                    int sum    = UserConfigService().QueryUserWeightSum(cfg.engineerId);
                     int result = sum + cfg.weight;
                     if (result > 100) {
                         QMessageBox::warning(nullptr, "警告", "专家权重和>100,请确认!");
                         break;
                     }
                     //新增前需要把之前设置为无效状态
-                    if (DBServiceSet().UpdateUserValid(cfg.userId, 0)) {
-                        int newId = DBServiceSet().AddUserConfig(cfg);
+                    if (UserConfigService().UpdateUserValid(cfg.userId, 0)) {
+                        int newId = UserConfigService().AddUserConfig(cfg);
                         if (newId == -1) {
                             QMessageBox::critical(nullptr, "异常", "添加用户配置失败!");
                             break;
@@ -244,14 +244,14 @@ void UserConfigDlg::saveCurrentRow()
 
                 } else if (ops == "update") {
                     cfg.id     = ui->tableWidget->item(r, 1)->data(Qt::UserRole).toInt();
-                    int sum    = DBServiceSet().QueryUserWeightSum(cfg.engineerId, cfg.userId);
+                    int sum    = UserConfigService().QueryUserWeightSum(cfg.engineerId, cfg.userId);
                     int result = sum + cfg.weight;
                     if (result > 100) {
                         QMessageBox::warning(nullptr, "警告", "专家权重和>100,请确认!");
                         refreshConfigTable(cfg.userId);
                         break;
                     }
-                    if (!DBServiceSet().UpdateUserConfig(cfg)) {
+                    if (!UserConfigService().UpdateUserConfig(cfg)) {
                         QMessageBox::critical(nullptr, "异常", "修改用户配置失败!");
                         break;
                     } else {
@@ -293,7 +293,7 @@ void UserConfigDlg::deleteUserAction()
     if (curItem) {
         int userId = curItem->data(Qt::UserRole).toInt();
         if (UserService().DeleteUserById(userId)) {
-            DBServiceSet().DeleteUserConfigByUserId(userId);
+            UserConfigService().DeleteUserConfigByUserId(userId);
             ui->tableWidget->clearContents();
             ui->tableWidget->setRowCount(0);
             ui->listWidget->takeItem(ui->listWidget->currentRow());
@@ -357,7 +357,7 @@ void UserConfigDlg::refreshConfigTable(int userId)
 {
     ui->tableWidget->clearContents();
     QList<UserConfig *> userConfigs;
-    if (!DBServiceSet().QueryUserConfigListInfoByUserId(&userConfigs, userId)) {
+    if (!UserConfigService().QueryUserConfigListInfoByUserId(&userConfigs, userId)) {
         qDebug() << "用户数据库查询失败!";
         return;
     }