Browse Source

'1.调整脑图数据库2.剥离节点矩阵接口'

zsf 1 year ago
parent
commit
76d33facf0

+ 0 - 530
QFD/dbService/DBServiceSet.cpp

@@ -22,536 +22,6 @@ int DBServiceSet::getNextId(QString tableName)
 }
 //////////////////////common-end////////////////////
 
-//////////////////////节点权重值持久化-start////////////////////
-
-bool DBServiceSet::AddNodeWeightInfo(const DemandWeight &demandWeight)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        InsertQuery q = t.insertInto("t_demand_weight (engineer_id,expert_id, node_name, node_weight, "
-                                     "node_value,table_index )");
-        q.values(demandWeight.engineerId, demandWeight.expertId, demandWeight.nodeName, demandWeight.nodeWeight,
-                 demandWeight.nodeValue, demandWeight.tableIndex)
-                .exec();
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-/*批量节点信息新增*/
-bool DBServiceSet::AddNodeWeightInfoList(const QList<DemandWeight *> &demandWeightList)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        for (int i = 0; i < demandWeightList.length(); i++) {
-            DemandWeight *demandWeight = demandWeightList.at(i);
-            InsertQuery q              = t.insertInto("t_demand_weight (engineer_id,expert_id, node_name, node_weight, "
-                                         "node_value,table_index,table_msg,is_valid,page_index )");
-            q.values(demandWeight->engineerId, demandWeight->expertId, demandWeight->nodeName, demandWeight->nodeWeight,
-                     demandWeight->nodeValue, demandWeight->tableIndex, demandWeight->tableMsg, demandWeight->isValid,
-                     demandWeight->pageIndex)
-                    .exec();
-            t.commit();
-        }
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-/*修改节点值*/
-bool DBServiceSet::UpdateNodeValue(const DemandWeight &demandWeight)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.update("t_demand_weight")
-                .set("NODE_VALUE", demandWeight.nodeValue)
-                .set("NODE_WEIGHT", demandWeight.nodeWeight)
-                .where("ENGINEER_ID = ? and expert_id = ? and node_name = ? ", demandWeight.engineerId,
-                       demandWeight.expertId, demandWeight.nodeName);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::UpdateNodeValueList(const QList<DemandWeight *> demandWeightList)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret = false;
-    for (int i = 0; i < demandWeightList.length(); i++) {
-        DemandWeight *demandWeight = demandWeightList.at(i);
-        QString updateSql          = QString("UPDATE t_demand_weight SET NODE_VALUE ='%1' , NODE_WEIGHT = '%2' "
-                                    "WHERE ENGINEER_ID =%3 AND expert_id =%4"
-                                    " AND node_name = '%5' AND table_index =%6 and table_msg ='%7' and page_index=%8")
-                                    .arg(demandWeight->nodeValue)
-                                    .arg(demandWeight->nodeWeight)
-                                    .arg(demandWeight->engineerId)
-                                    .arg(demandWeight->expertId)
-                                    .arg(demandWeight->nodeName)
-                                    .arg(demandWeight->tableIndex)
-                                    .arg(demandWeight->tableMsg)
-                                    .arg(demandWeight->pageIndex);
-        // qDebug() << updateSql;
-        query.exec(updateSql);
-        ret = true;
-    }
-
-    return ret;
-}
-bool DBServiceSet::QueryByTableIndexAndTableMsg(int expertId, int engineerId, int tableIndex, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_index=%3 and table_msg='%4'")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql===" << selectSql;
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-            ret = true;
-        }
-
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryByTableIndexAndTableMsg(QString expertId, int engineerId, int tableIndex, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4'")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql===" << selectSql;
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-            ret = true;
-        }
-
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryByTableIndexAndTableMsgAndPage(QString expertId, int engineerId, int tableIndex,
-                                                       QString tableMsg, int page)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4' and page_index=%5")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg)
-                                .arg(page);
-    // qDebug() << "sql===" << selectSql;
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-            ret = true;
-        }
-
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-bool DBServiceSet::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
-                                                int tableIndex, QString tableMsg)
-
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_index=%3 and table_msg='%4'")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeight->tableMsg     = query.value(7).toString();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                int engineerId, int tableIndex, QString tableMsg)
-
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4'")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeight->tableMsg     = query.value(7).toString();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryByPageIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                               int engineerId, int pageIndex, QString tableMsg)
-
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and page_index=%3 and table_msg='%4'")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(QString::number(pageIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeight->tableMsg     = query.value(7).toString();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::updateValidByExperIdAndEngineerId(int expertId, int engineerId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret = false;
-    try {
-        QString updateSql = QString("UPDATE t_demand_weight SET is_valid =1  "
-                                    "WHERE ENGINEER_ID =%1 AND expert_id =%2")
-                                    .arg(engineerId)
-                                    .arg(expertId);
-        // qDebug() << updateSql;
-        query.exec(updateSql);
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-bool DBServiceSet::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                      int engineerId, QString tableMsg)
-{
-
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_msg = "
-                                "'%3' and table_index = 0")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryLastDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                     int engineerId, QString tableMsg, int tableIndex)
-{
-
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_msg = "
-                                "'%3' and table_index = %4")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg)
-                                .arg(QString::number(tableIndex));
-    qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                      int engineerId, QString tableMsg)
-{
-
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and table_msg = "
-                                "'%3' and table_index = 0")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryLastPageDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                         int engineerId, QString tableMsg, int page)
-{
-
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and table_msg = "
-                                "'%3' and page_index = %4")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg)
-                                .arg(page);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                       int engineerId, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_msg = "
-                                "'%3' and table_index != 0")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                                 int engineerId, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_msg = "
-                                "'%3' and page_index = (select max(page_index) from t_demand_weight where expert_id "
-                                "=%1 and engineer_id =%2 and table_msg = '%3' ) order by table_index ")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                       int engineerId, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select * from t_demand_weight where expert_id "
-                                "='%1' and engineer_id =%2 and table_msg = "
-                                "'%3' and table_index != 0")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                DemandWeight *demandWeight = new DemandWeight();
-                demandWeight->id           = query.value(0).toInt();
-                demandWeight->engineerId   = query.value(1).toInt();
-                demandWeight->expertId     = query.value(2).toInt();
-                demandWeight->nodeName     = query.value(3).toString();
-                demandWeight->nodeValue    = query.value(4).toDouble();
-                demandWeight->nodeWeight   = query.value(5).toDouble();
-                demandWeight->tableIndex   = query.value(6).toInt();
-                demandWeightList->append(demandWeight);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-//////////////////////common-end////////////////////
-
 /////////////////////方案持久化-start////////////////
 bool DBServiceSet::AddSchemeInfoList(const QList<SchemaEval *> &schemeList)
 {

+ 0 - 51
QFD/dbService/DBServiceSet.h

@@ -12,57 +12,6 @@ public:
 
     //////////////////////节点权重值持久化-start////////////////////
 
-    /*单个节点信息新增*/
-    //添加信息
-    bool AddNodeWeightInfo(const DemandWeight &demandWeight);
-    /*批量节点信息新增*/
-    bool AddNodeWeightInfoList(const QList<DemandWeight *> &demandWeightList);
-    /*修改节点值*/
-    bool UpdateNodeValue(const DemandWeight &demandWeight);
-    /*批量修改节点值*/
-    bool UpdateNodeValueList(const QList<DemandWeight *> demandWeightList);
-
-    bool QueryByTableIndexAndTableMsg(int expertId, int engineerId, int tableIndex, QString tableMsg);
-    bool QueryByTableIndexAndTableMsg(QString expertId, int engineerId, int tableIndex, QString tableMsg);
-
-    bool QueryByTableIndexAndTableMsgAndPage(QString expertId, int engineerId, int tableIndex, QString tableMsg,
-                                             int page);
-
-    bool QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
-                                      int tableIndex, QString tableMsg);
-
-    bool QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId, int engineerId,
-                                      int tableIndex, QString tableMsg);
-
-    bool QueryByPageIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId, int engineerId,
-                                     int pageIndex, QString tableMsg);
-
-    bool updateValidByExperIdAndEngineerId(int expertId, int engineerId);
-
-    bool QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
-                                             QString tableMsg);
-
-    bool QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                       int engineerId, QString tableMsg);
-
-    bool QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertIds, int engineerId,
-                                             QString tableMsg);
-
-    // bool QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
-    // QString tableMsg);
-
-    bool QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
-                                            QString tableMsg);
-
-    bool QueryLastDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
-                                           QString tableMsg, int tableIndex);
-
-    bool QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertIds, int engineerId,
-                                            QString tableMsg);
-
-    bool QueryLastPageDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertIds,
-                                               int engineerId, QString tableMsg, int page);
-
     //////////////////////common-start////////////////////
 
     ////////////////////方案持久化-start////////////////////

+ 531 - 0
QFD/dbService/NodeMatrixService.cpp

@@ -0,0 +1,531 @@
+#include "NodeMatrixService.h"
+#include "SqlDBHelper.h"
+#include <QDebug>
+
+NodeMatrixService::NodeMatrixService(QObject *parent) { }
+
+bool NodeMatrixService::AddNodeWeightInfo(const DemandWeight &demandWeight)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        InsertQuery q = t.insertInto("t_demand_weight (engineer_id,expert_id, node_name, node_weight, "
+                                     "node_value,table_index )");
+        q.values(demandWeight.engineerId, demandWeight.expertId, demandWeight.nodeName, demandWeight.nodeWeight,
+                 demandWeight.nodeValue, demandWeight.tableIndex)
+                .exec();
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+/*批量节点信息新增*/
+bool NodeMatrixService::AddNodeWeightInfoList(const QList<DemandWeight *> &demandWeightList)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        for (int i = 0; i < demandWeightList.length(); i++) {
+            DemandWeight *demandWeight = demandWeightList.at(i);
+            InsertQuery q              = t.insertInto("t_demand_weight (engineer_id,expert_id, node_name, node_weight, "
+                                         "node_value,table_index,table_msg,is_valid,page_index )");
+            q.values(demandWeight->engineerId, demandWeight->expertId, demandWeight->nodeName, demandWeight->nodeWeight,
+                     demandWeight->nodeValue, demandWeight->tableIndex, demandWeight->tableMsg, demandWeight->isValid,
+                     demandWeight->pageIndex)
+                    .exec();
+            t.commit();
+        }
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+/*修改节点值*/
+bool NodeMatrixService::UpdateNodeValue(const DemandWeight &demandWeight)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.update("t_demand_weight")
+                .set("NODE_VALUE", demandWeight.nodeValue)
+                .set("NODE_WEIGHT", demandWeight.nodeWeight)
+                .where("ENGINEER_ID = ? and expert_id = ? and node_name = ? ", demandWeight.engineerId,
+                       demandWeight.expertId, demandWeight.nodeName);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::UpdateNodeValueList(const QList<DemandWeight *> demandWeightList)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret = false;
+    for (int i = 0; i < demandWeightList.length(); i++) {
+        DemandWeight *demandWeight = demandWeightList.at(i);
+        QString updateSql          = QString("UPDATE t_demand_weight SET NODE_VALUE ='%1' , NODE_WEIGHT = '%2' "
+                                    "WHERE ENGINEER_ID =%3 AND expert_id =%4"
+                                    " AND node_name = '%5' AND table_index =%6 and table_msg ='%7' and page_index=%8")
+                                    .arg(demandWeight->nodeValue)
+                                    .arg(demandWeight->nodeWeight)
+                                    .arg(demandWeight->engineerId)
+                                    .arg(demandWeight->expertId)
+                                    .arg(demandWeight->nodeName)
+                                    .arg(demandWeight->tableIndex)
+                                    .arg(demandWeight->tableMsg)
+                                    .arg(demandWeight->pageIndex);
+        // qDebug() << updateSql;
+        query.exec(updateSql);
+        ret = true;
+    }
+
+    return ret;
+}
+bool NodeMatrixService::QueryByTableIndexAndTableMsg(int expertId, int engineerId, int tableIndex, QString tableMsg)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_index=%3 and table_msg='%4'")
+                                .arg(QString::number(expertId))
+                                .arg(QString::number(engineerId))
+                                .arg(QString::number(tableIndex))
+                                .arg(tableMsg);
+    // qDebug() << "sql===" << selectSql;
+    if (query.exec(selectSql)) {
+        if (query.next()) {
+            ret = true;
+        }
+
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryByTableIndexAndTableMsg(QString expertId, int engineerId, int tableIndex, QString tableMsg)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4'")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(QString::number(tableIndex))
+                                .arg(tableMsg);
+    // qDebug() << "sql===" << selectSql;
+    if (query.exec(selectSql)) {
+        if (query.next()) {
+            ret = true;
+        }
+
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryByTableIndexAndTableMsgAndPage(QString expertId, int engineerId, int tableIndex,
+                                                            QString tableMsg, int page)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4' and page_index=%5")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(QString::number(tableIndex))
+                                .arg(tableMsg)
+                                .arg(page);
+    // qDebug() << "sql===" << selectSql;
+    if (query.exec(selectSql)) {
+        if (query.next()) {
+            ret = true;
+        }
+
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+bool NodeMatrixService::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, int expertId,
+                                                     int engineerId, int tableIndex, QString tableMsg)
+
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_index=%3 and table_msg='%4'")
+                                .arg(QString::number(expertId))
+                                .arg(QString::number(engineerId))
+                                .arg(QString::number(tableIndex))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeight->tableMsg     = query.value(7).toString();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
+                                                     int engineerId, int tableIndex, QString tableMsg)
+
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4'")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(QString::number(tableIndex))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeight->tableMsg     = query.value(7).toString();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryByPageIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
+                                                    int engineerId, int pageIndex, QString tableMsg)
+
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and page_index=%3 and table_msg='%4'")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(QString::number(pageIndex))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeight->tableMsg     = query.value(7).toString();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::updateValidByExperIdAndEngineerId(int expertId, int engineerId)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret = false;
+    try {
+        QString updateSql = QString("UPDATE t_demand_weight SET is_valid =1  "
+                                    "WHERE ENGINEER_ID =%1 AND expert_id =%2")
+                                    .arg(engineerId)
+                                    .arg(expertId);
+        // qDebug() << updateSql;
+        query.exec(updateSql);
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+bool NodeMatrixService::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
+                                                           int engineerId, QString tableMsg)
+{
+
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_msg = "
+                                "'%3' and table_index = 0")
+                                .arg(QString::number(expertId))
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryLastDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
+                                                          int engineerId, QString tableMsg, int tableIndex)
+{
+
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_msg = "
+                                "'%3' and table_index = %4")
+                                .arg(QString::number(expertId))
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg)
+                                .arg(QString::number(tableIndex));
+    qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
+                                                           int engineerId, QString tableMsg)
+{
+
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and table_msg = "
+                                "'%3' and table_index = 0")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QueryLastPageDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
+                                                              int engineerId, QString tableMsg, int page)
+{
+
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and table_msg = "
+                                "'%3' and page_index = %4")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg)
+                                .arg(page);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
+                                                            int engineerId, QString tableMsg)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_msg = "
+                                "'%3' and table_index != 0")
+                                .arg(QString::number(expertId))
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<DemandWeight *> *demandWeightList,
+                                                                      int expertId, int engineerId, QString tableMsg)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_msg = "
+                                "'%3' and page_index = (select max(page_index) from t_demand_weight where expert_id "
+                                "=%1 and engineer_id =%2 and table_msg = '%3' ) order by table_index ")
+                                .arg(QString::number(expertId))
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}
+
+bool NodeMatrixService::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
+                                                            int engineerId, QString tableMsg)
+{
+    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlQuery query(db);
+    bool ret          = false;
+    QString selectSql = QString("select * from t_demand_weight where expert_id "
+                                "='%1' and engineer_id =%2 and table_msg = "
+                                "'%3' and table_index != 0")
+                                .arg(expertId)
+                                .arg(QString::number(engineerId))
+                                .arg(tableMsg);
+    // qDebug() << "sql=" << selectSql;
+    if (query.exec(selectSql)) {
+        while (query.next()) {
+            if (query.isNull(0) == false) {
+                DemandWeight *demandWeight = new DemandWeight();
+                demandWeight->id           = query.value(0).toInt();
+                demandWeight->engineerId   = query.value(1).toInt();
+                demandWeight->expertId     = query.value(2).toInt();
+                demandWeight->nodeName     = query.value(3).toString();
+                demandWeight->nodeValue    = query.value(4).toDouble();
+                demandWeight->nodeWeight   = query.value(5).toDouble();
+                demandWeight->tableIndex   = query.value(6).toInt();
+                demandWeightList->append(demandWeight);
+            }
+            ret = true;
+        }
+    } else {
+        qDebug() << query.lastError();
+    }
+    return ret;
+}

+ 59 - 0
QFD/dbService/NodeMatrixService.h

@@ -0,0 +1,59 @@
+#ifndef NODEMATRIXSERVICE_H
+#define NODEMATRIXSERVICE_H
+#include "ClassSet.h"
+
+class NodeMatrixService
+{
+public:
+    NodeMatrixService(QObject *parent = nullptr);
+
+    /*单个节点信息新增*/
+    //添加信息
+    bool AddNodeWeightInfo(const DemandWeight &demandWeight);
+    /*批量节点信息新增*/
+    bool AddNodeWeightInfoList(const QList<DemandWeight *> &demandWeightList);
+    /*修改节点值*/
+    bool UpdateNodeValue(const DemandWeight &demandWeight);
+    /*批量修改节点值*/
+    bool UpdateNodeValueList(const QList<DemandWeight *> demandWeightList);
+
+    bool QueryByTableIndexAndTableMsg(int expertId, int engineerId, int tableIndex, QString tableMsg);
+    bool QueryByTableIndexAndTableMsg(QString expertId, int engineerId, int tableIndex, QString tableMsg);
+
+    bool QueryByTableIndexAndTableMsgAndPage(QString expertId, int engineerId, int tableIndex, QString tableMsg,
+                                             int page);
+
+    bool QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
+                                      int tableIndex, QString tableMsg);
+
+    bool QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId, int engineerId,
+                                      int tableIndex, QString tableMsg);
+
+    bool QueryByPageIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId, int engineerId,
+                                     int pageIndex, QString tableMsg);
+
+    bool updateValidByExperIdAndEngineerId(int expertId, int engineerId);
+
+    bool QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
+                                             QString tableMsg);
+
+    bool QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<DemandWeight *> *demandWeightList, int expertId,
+                                                       int engineerId, QString tableMsg);
+
+    bool QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertIds, int engineerId,
+                                             QString tableMsg);
+
+    bool QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
+                                            QString tableMsg);
+
+    bool QueryLastDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
+                                           QString tableMsg, int tableIndex);
+
+    bool QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertIds, int engineerId,
+                                            QString tableMsg);
+
+    bool QueryLastPageDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertIds,
+                                               int engineerId, QString tableMsg, int page);
+};
+
+#endif  // NODEMATRIXSERVICE_H

+ 2 - 0
QFD/dbService/dbService.pri

@@ -2,6 +2,7 @@ HEADERS += \
     $$PWD/ClassSet.h \
     $$PWD/DBServiceSet.h \
     $$PWD/EngineerService.h \
+    $$PWD/NodeMatrixService.h \
     $$PWD/ProjectService.h \
     $$PWD/ReturnMessage.h \
     $$PWD/SqlDBHelper.h \
@@ -12,6 +13,7 @@ SOURCES += \
     $$PWD/ClassSet.cpp \
     $$PWD/DBServiceSet.cpp \
     $$PWD/EngineerService.cpp \
+    $$PWD/NodeMatrixService.cpp \
     $$PWD/ProjectService.cpp \
     $$PWD/ReturnMessage.cpp \
     $$PWD/SqlDBHelper.cpp \

+ 19 - 14
QFD/mindmap/api/sql/sqlitewrapper.cpp

@@ -1,4 +1,5 @@
 #include "sqlitewrapper.h"
+#include "dbService/SqlDBHelper.h"
 
 SqliteWrapper::SqliteWrapper(QObject *parent) : QObject(parent) { }
 
@@ -20,14 +21,14 @@ void SqliteWrapper::setDbName(QString dbName)
 
 void SqliteWrapper::open()
 {
-    QSqlDatabase db;
+    QSqlDatabase db = SqlDBHelper::getDatabase();
 
-    if (QSqlDatabase::contains(dbName)) {
-        database = QSqlDatabase::database(dbName);
-    } else {
-        database = QSqlDatabase::addDatabase("QSQLITE", dbName);
-        database.setDatabaseName(fileName);
-    }
+    //        if (QSqlDatabase::contains(dbName)) {
+    //            database = QSqlDatabase::database(dbName);
+    //        } else {
+    //            database = QSqlDatabase::addDatabase("QSQLITE", dbName);
+    //            database.setDatabaseName(fileName);
+    //        }
     if (database.isOpen()) {
         opened = true;
     } else {
@@ -70,7 +71,7 @@ void SqliteWrapper::select(QString sql, QSqlQuery &qry)
 void SqliteWrapper::selectToTreeView(QString sql, int pid, QStandardItemModel *model)
 {
     QSqlQuery qry(database);
-    bool      ret = qry.exec(sql);
+    bool ret = qry.exec(sql);
     if (!ret) {
         qDebug() << sql;
         return;
@@ -113,10 +114,12 @@ void SqliteWrapper::loadItemData(int pid, QStandardItemModel *model, QStandardIt
 
 int SqliteWrapper::findId(QString tableName, QString fieldName, QString fieldValue)
 {
-    QString   sql = QString("select id from %1 where %2='%3'").arg(tableName).arg(fieldName).arg(fieldValue);
+    QString sql = QString("select id from %1 where %2='%3'").arg(tableName).arg(fieldName).arg(fieldValue);
     QSqlQuery qry(database);
-    bool      ret = qry.exec(sql);
-    if (!ret) { qDebug() << sql; }
+    bool ret = qry.exec(sql);
+    if (!ret) {
+        qDebug() << sql;
+    }
     if (qry.next()) {
         return qry.value(0).toInt();
     } else {
@@ -127,7 +130,7 @@ int SqliteWrapper::findId(QString tableName, QString fieldName, QString fieldVal
 bool SqliteWrapper::execute(QString sql)
 {
     QSqlQuery qry(database);
-    bool      ret = qry.exec(sql);
+    bool ret = qry.exec(sql);
 
     if (!ret) {
         qDebug() << sql;
@@ -153,10 +156,12 @@ QSqlDatabase &SqliteWrapper::getDataBase()
 
 int SqliteWrapper::getMaxId(QString tableName)
 {
-    QString   sql = "select max(id) from " + tableName;
+    QString sql = "select max(id) from " + tableName;
     QSqlQuery qry;
     select(sql, qry);
-    if (qry.next()) { return qry.value(0).toInt(); }
+    if (qry.next()) {
+        return qry.value(0).toInt();
+    }
     return 0;
 }
 

+ 11 - 10
QFD/shemeTable/AnalysisPanelWidget.cpp

@@ -1,6 +1,7 @@
 #include "AnalysisPanelWidget.h"
 #include "AnalysisTableWidget.h"
 #include "dbService/DBServiceSet.h"
+#include "dbService/NodeMatrixService.h"
 #include "ui_AnalysisPanelWidget.h"
 #include <QHeaderView>
 
@@ -302,11 +303,11 @@ void AnalysisPanelWidget::initPlainWidget(int engineerId, int expertId, QString
     //获取技术措施指标权重
     QList<DemandWeight *> firstDemandList;
     QList<DemandWeight *> secondDemandList;
-    DBServiceSet().QueryFirstDemandWeightByEngineerId(&firstDemandList, expertId, engineerId, tableMsg);
+    NodeMatrixService().QueryFirstDemandWeightByEngineerId(&firstDemandList, expertId, engineerId, tableMsg);
     // DBServiceSet().QuerySecondDemandWeightByEngineerId(&secondDemandList, expertId,
     // engineerId,"能力重要度评估指标体系");
-    DBServiceSet().QuerySecondDemandWeightByEngineerIdAndMaxPage(&secondDemandList, expertId, engineerId,
-                                                                 "能力重要度评估指标体系");
+    NodeMatrixService().QuerySecondDemandWeightByEngineerIdAndMaxPage(&secondDemandList, expertId, engineerId,
+                                                                      "能力重要度评估指标体系");
     QList<NodeMatrixInfo *> nodeValueInfoList;
     DBServiceSet().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertId, engineerId, tableMsg);
     //准备第一页,非tab的
@@ -366,8 +367,8 @@ void AnalysisPanelWidget::initPlainWidget(int engineerId, int expertId, QString
             if (table) {
                 firstDemandList.clear();
                 if (firstDemandList.size() == 0) {
-                    DBServiceSet().QueryLastPageDemandWeightByEngineerId(&firstDemandList, QString::number(expertId),
-                                                                         engineerId, tableMsg, p - 1);
+                    NodeMatrixService().QueryLastPageDemandWeightByEngineerId(
+                            &firstDemandList, QString::number(expertId), engineerId, tableMsg, p - 1);
                 }
                 // qDebug() << p << "=" << p << "===========" << firstDemandList.size();
                 table->setTableIndexAndTableMsg(index, engineerId, QString::number(expertId), tableMsg);
@@ -401,9 +402,9 @@ void AnalysisPanelWidget::initCompositePlainWidget(int engineerId, QList<int> ex
     //获取技术措施指标权重
     QList<DemandWeight *> firstDemandList;
     QList<DemandWeight *> secondDemandList;
-    DBServiceSet().QueryFirstDemandWeightByEngineerId(&firstDemandList, experId, engineerId, tableMsg);
-    DBServiceSet().QuerySecondDemandWeightByEngineerId(&secondDemandList, experId, engineerId,
-                                                       "能力重要度评估指标体系");
+    NodeMatrixService().QueryFirstDemandWeightByEngineerId(&firstDemandList, experId, engineerId, tableMsg);
+    NodeMatrixService().QuerySecondDemandWeightByEngineerId(&secondDemandList, experId, engineerId,
+                                                            "能力重要度评估指标体系");
     QList<NodeMatrixInfo *> compositeNodeValueInfoList;
     computerCompositeValue(compositeNodeValueInfoList, expertIds, engineerId, tableMsg);
     //准备第一页,非tab的
@@ -461,8 +462,8 @@ void AnalysisPanelWidget::initCompositePlainWidget(int engineerId, QList<int> ex
             if (table) {
                 firstDemandList.clear();
                 if (firstDemandList.size() == 0) {
-                    DBServiceSet().QueryLastPageDemandWeightByEngineerId(&firstDemandList, experId, engineerId,
-                                                                         tableMsg, p - 1);
+                    NodeMatrixService().QueryLastPageDemandWeightByEngineerId(&firstDemandList, experId, engineerId,
+                                                                              tableMsg, p - 1);
                 }
                 table->setTableWeight(firstDemandList, secondDemandList);
                 table->paintSecondMatrixTable(compositeNodeValueInfoList, p, analysisViewType, index);

+ 12 - 11
QFD/shemeTable/AnalysisTableWidget.cpp

@@ -9,6 +9,7 @@
 
 #include "dbService/ClassSet.h"
 #include <dbService/DBServiceSet.h>
+#include <dbService/NodeMatrixService.h>
 #include <QList>
 
 AnalysisTableWidget::AnalysisTableWidget(QWidget *parent) : QTableView(parent)
@@ -142,10 +143,10 @@ void AnalysisTableWidget::paintMatrixTable(QList<NodeMatrixInfo *> nodeValueInfo
             demandWeight->pageIndex    = 0;
             list.append(demandWeight);
         }
-        if (DBServiceSet().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
-            DBServiceSet().UpdateNodeValueList(list);
+        if (NodeMatrixService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
+            NodeMatrixService().UpdateNodeValueList(list);
         } else {
-            DBServiceSet().AddNodeWeightInfoList(list);
+            NodeMatrixService().AddNodeWeightInfoList(list);
         }
     } else {
         //获取到指标体系需求重要度
@@ -327,10 +328,10 @@ void AnalysisTableWidget::paintCompositeMatrixTable(QList<NodeMatrixInfo *> node
             demandWeight->tableMsg     = m_table_msg;
             list.append(demandWeight);
         }
-        if (DBServiceSet().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
-            DBServiceSet().UpdateNodeValueList(list);
+        if (NodeMatrixService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
+            NodeMatrixService().UpdateNodeValueList(list);
         } else {
-            DBServiceSet().AddNodeWeightInfoList(list);
+            NodeMatrixService().AddNodeWeightInfoList(list);
         }
 
     } else {
@@ -494,7 +495,7 @@ void AnalysisTableWidget::paintSecondMatrixTable(QList<NodeMatrixInfo *> nodeVal
         QList<DemandWeight *> list;
         QList<DemandWeight *> firstList;
         // DBServiceSet().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, 0, m_table_msg);
-        DBServiceSet().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, page - 1, m_table_msg);
+        NodeMatrixService().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, page - 1, m_table_msg);
         double weight = 0;
         // if (firstList.size() != 0) {
         weight = m_firstTableWeight.at(index - 1)->nodeWeight;
@@ -512,12 +513,12 @@ void AnalysisTableWidget::paintSecondMatrixTable(QList<NodeMatrixInfo *> nodeVal
             demandWeight->pageIndex    = page;
             list.append(demandWeight);
         }
-        if (DBServiceSet().QueryByTableIndexAndTableMsgAndPage(m_expertId, m_engineerId, m_tableIndex, m_table_msg,
-                                                               page)) {
+        if (NodeMatrixService().QueryByTableIndexAndTableMsgAndPage(m_expertId, m_engineerId, m_tableIndex, m_table_msg,
+                                                                    page)) {
 
-            DBServiceSet().UpdateNodeValueList(list);
+            NodeMatrixService().UpdateNodeValueList(list);
         } else {
-            DBServiceSet().AddNodeWeightInfoList(list);
+            NodeMatrixService().AddNodeWeightInfoList(list);
         }
     } else {
         model->setHorizontalHeaderItem(1, new QStandardItem("权重"));

+ 6 - 5
QFD/shemeTable/GroupPanelWidget.cpp

@@ -3,6 +3,7 @@
 #include "dbService/DBServiceSet.h"
 #include "dbService/UserService.h"
 #include "dbService/UserConfigService.h"
+#include "dbService/NodeMatrixService.h"
 #include "ui_GroupPanelWidget.h"
 
 #include <QDebug>
@@ -202,14 +203,14 @@ void GroupPanelWidget::initPlainWidget(int engineerId)
         table->addColNode(QString::number(user->id), str, QString::number(userConfig.weight / 100));
         if (analysisViewType == IndexType::IndexTech) {
             QList<DemandWeight *> nodeValueInfoList;
-            DBServiceSet().QuerySecondDemandWeightByEngineerId(&nodeValueInfoList, userInfoList.at(i)->id, engineerId,
-                                                               "能力重要度评估指标体系");
+            NodeMatrixService().QuerySecondDemandWeightByEngineerId(&nodeValueInfoList, userInfoList.at(i)->id,
+                                                                    engineerId, "能力重要度评估指标体系");
             demandLists.append(nodeValueInfoList);
         } else if (analysisViewType == IndexType::SchemaEval) {
             QList<DemandWeight *> nodeValueInfoList;
-            DBServiceSet().QueryLastPageDemandWeightByEngineerId(&nodeValueInfoList,
-                                                                 QString::number(userInfoList.at(i)->id), engineerId,
-                                                                 "方案评估指标体系", (classifiedNodes->count() - 1));
+            NodeMatrixService().QueryLastPageDemandWeightByEngineerId(
+                    &nodeValueInfoList, QString::number(userInfoList.at(i)->id), engineerId, "方案评估指标体系",
+                    (classifiedNodes->count() - 1));
             demandLists.append(nodeValueInfoList);
         } else {
             QList<TechnicalImport *> nodeValueInfoList;

+ 5 - 4
QFD/shemeTable/MatrixTableWidget.cpp

@@ -12,6 +12,7 @@
 
 #include "dbService/ClassSet.h"
 #include "dbService/DBServiceSet.h"
+#include "dbService/NodeMatrixService.h"
 
 MatrixTableWidget::MatrixTableWidget(bool diagonalOne, QWidget *parent) : QTableView(parent), diagonalIsOne(diagonalOne)
 {
@@ -291,7 +292,7 @@ void MatrixTableWidget::pollCellsData()
             } else {
                 //查询出第一页权重
                 QList<DemandWeight *> firstList;
-                DBServiceSet().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, 0, m_table_msg);
+                NodeMatrixService().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, 0, m_table_msg);
                 qDebug() << "firstList===" << firstList.size();
                 double weight = 0;
                 if (firstList.size() != 0) {
@@ -311,10 +312,10 @@ void MatrixTableWidget::pollCellsData()
                 }
             }
 
-            if (DBServiceSet().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
-                DBServiceSet().UpdateNodeValueList(list);
+            if (NodeMatrixService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
+                NodeMatrixService().UpdateNodeValueList(list);
             } else {
-                DBServiceSet().AddNodeWeightInfoList(list);
+                NodeMatrixService().AddNodeWeightInfoList(list);
             }
             QMessageBox::information(this, "一致性比例合格", QString("CR:%1").arg(cc.CR()));
             // TODO 判断是否是保存后修改后,如保存后修改续自动调用保存