Sfoglia il codice sorgente

'调整节点接口和权重接口'

zsf 1 anno fa
parent
commit
a1e71159f7

+ 0 - 550
QFD/dbService/DBServiceSet.cpp

@@ -200,557 +200,7 @@ bool DBServiceSet::QueryTechnicalImportInfoByEngineerId(int expertId, int engine
 //////////////////////common-end////////////////////
 
 //////////////////////节点矩阵信息表-start////////////////////
-bool DBServiceSet::AddNodeMatrixInfo(const NodeMatrixInfo &nodeMatrixInfo)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        InsertQuery q = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, "
-                                     "abscissa, ordinate, "
-                                     "node_value, expert_id,mind_name,write_date,mark)");
-        q.values(nodeMatrixInfo.expertName, nodeMatrixInfo.engineerId, nodeMatrixInfo.node, nodeMatrixInfo.abscissa,
-                 nodeMatrixInfo.ordinate, nodeMatrixInfo.nodeValue, nodeMatrixInfo.expertId, nodeMatrixInfo.mindId,
-                 nodeMatrixInfo.writeDate.toString(), nodeMatrixInfo.mark)
-                .exec();
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-/*批量节点信息新增*/
-bool DBServiceSet::AddNodeMatrixInfoList(const QList<NodeMatrixInfo *> &jbInfoList)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        for (int i = 0; i < jbInfoList.length(); i++) {
-            NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
-            InsertQuery query = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, abscissa, "
-                                             "ordinate, "
-                                             "node_value, expert_id,mind_id,write_date,mark,table_msg)");
-            query.values(nodeMatrixInfo->expertName, nodeMatrixInfo->engineerId, nodeMatrixInfo->node,
-                         nodeMatrixInfo->abscissa, nodeMatrixInfo->ordinate, nodeMatrixInfo->nodeValue,
-                         nodeMatrixInfo->expertId, nodeMatrixInfo->mindId, nodeMatrixInfo->writeDate.toString(),
-                         nodeMatrixInfo->mark, nodeMatrixInfo->tableMsg)
-                    .exec();
-            t.commit();
-        }
-
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-/*批量节点信息新增----专家端*/
-bool DBServiceSet::AddNodeMatrixInfoList2(const QList<NodeMatrixInfo *> &jbInfoList)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase2());
-        for (int i = 0; i < jbInfoList.length(); i++) {
-            NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
-            InsertQuery query = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, abscissa, "
-                                             "ordinate, "
-                                             "node_value, expert_id,mind_id,write_date,mark,table_msg,tab_index)");
-            query.values(nodeMatrixInfo->expertName, nodeMatrixInfo->engineerId, nodeMatrixInfo->node,
-                         nodeMatrixInfo->abscissa, nodeMatrixInfo->ordinate, nodeMatrixInfo->nodeValue,
-                         nodeMatrixInfo->expertId, nodeMatrixInfo->mindId, nodeMatrixInfo->writeDate.toString(),
-                         nodeMatrixInfo->mark, nodeMatrixInfo->tableMsg, nodeMatrixInfo->tabIndex)
-                    .exec();
-            t.commit();
-        }
-
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-/*修改节点值*/
-bool DBServiceSet::UpdateNodeMatrixNodeValue(const NodeMatrixInfo &nodeMatrixInfo)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.update("t_node_matrix_info")
-                .set("NODE_VALUE", nodeMatrixInfo.nodeValue)
-                .where("ENGINEER_ID = ? and expert_name = and abscissa = ? and "
-                       "ordinate = ?  ",
-                       nodeMatrixInfo.engineerId, nodeMatrixInfo.expertName, nodeMatrixInfo.abscissa,
-                       nodeMatrixInfo.ordinate);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-
-bool DBServiceSet::UpdateNodeMatrixNodeValueList(const QList<NodeMatrixInfo *> jbInfoList)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret = false;
-    for (int i = 0; i < jbInfoList.length(); i++) {
-        NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
-        QString updateSql              = QString("UPDATE t_node_matrix_info SET NODE_VALUE ='%1' WHERE "
-                                    "ENGINEER_ID = %2 AND expert_name = '%3'"
-                                    " AND abscissa = '%4' AND ordinate = '%5' and table_msg = '%6' "
-                                    "and mark = '%7'")
-                                    .arg(nodeMatrixInfo->nodeValue)
-                                    .arg(nodeMatrixInfo->engineerId)
-                                    .arg(nodeMatrixInfo->expertName)
-                                    .arg(nodeMatrixInfo->abscissa)
-                                    .arg(nodeMatrixInfo->ordinate)
-                                    .arg(nodeMatrixInfo->tableMsg)
-                                    .arg(nodeMatrixInfo->mark);
-        // qDebug() << updateSql;
-        query.exec(updateSql);
-        ret = true;
-    }
-
-    return ret;
-}
-
-bool DBServiceSet::UpdateNodeMatrixNodeValueList2(const QList<NodeMatrixInfo *> jbInfoList)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase2();
-    QSqlQuery query(db);
-    bool ret = false;
-    for (int i = 0; i < jbInfoList.length(); i++) {
-        NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
-        QString updateSql              = QString("UPDATE t_node_matrix_info SET NODE_VALUE ='%1' WHERE "
-                                    "ENGINEER_ID = %2 AND expert_name = '%3'"
-                                    " AND abscissa = '%4' AND ordinate = '%5' and table_msg = '%6' "
-                                    "and mark = '%7' and tab_index = '%8'")
-                                    .arg(nodeMatrixInfo->nodeValue)
-                                    .arg(nodeMatrixInfo->engineerId)
-                                    .arg(nodeMatrixInfo->expertName)
-                                    .arg(nodeMatrixInfo->abscissa)
-                                    .arg(nodeMatrixInfo->ordinate)
-                                    .arg(nodeMatrixInfo->tableMsg)
-                                    .arg(nodeMatrixInfo->mark)
-                                    .arg(nodeMatrixInfo->tabIndex);
-        // qDebug() << updateSql;
-        query.exec(updateSql);
-        ret = true;
-    }
-
-    return ret;
-}
-
-/*根据专家姓名和工程id获取节点信息*/
-bool DBServiceSet::QueryNodeMatrixListByExpertNameAndEngineerId(QString expertName, int engineerId, QString tableMsg,
-                                                                QString mark)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_name "
-                                "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4'")
-                                .arg(expertName)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg)
-                                .arg(mark);
-
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    qDebug() << ret;
-    return ret;
-}
-
-/*根据专家姓名和工程id获取节点信息*/
-bool DBServiceSet::QueryNodeMatrixListByExpertIdAndEngineerId(QString expertId, int engineerId, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_id "
-                                "= '%1' and engineer_id ='%2' and table_msg='%3'")
-                                .arg(expertId)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << selectSql;
-
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    // qDebug() << ret;
-    return ret;
-}
-
-bool DBServiceSet::QueryNodeMatrixListByExpertNameAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
-                                                                QString expertName, int engineerId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_name "
-                                "= '%1' and engineer_id ='%2'")
-                                .arg(expertName)
-                                .arg(QString::number(engineerId));
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryNodeMatrixListByExpertNameAndEngineerId2(QString expertName, int engineerId, QString tableMsg,
-                                                                 QString mark, int tabIndex)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase2();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_name "
-                                "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4' and tab_index = '%5'")
-                                .arg(expertName)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg)
-                                .arg(mark)
-                                .arg(tabIndex);
-
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    qDebug() << ret;
-    return ret;
-}
-
-bool DBServiceSet::QueryNodesByExpertNameAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName,
-                                                        int engineerId, QString tableMsg, QString mark, int tabIndex)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase2();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_name "
-                                "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4' and tab_index = '%5'")
-                                .arg(expertName)
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg)
-                                .arg(mark)
-                                .arg(tabIndex);
-    // qDebug() << "----" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    qDebug() << ret;
-    return ret;
-}
-
-bool DBServiceSet::QueryNodeValueByUserIdAndEngineerId(int experId, int engineerId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_id "
-                                "= '%1' and engineer_id ='%2'")
-                                .arg(QString::number(experId))
-                                .arg(QString::number(engineerId));
-    // qDebug() << "selectSql=" << selectSql;
-    if (query.exec(selectSql)) {
-        if (query.next()) {
-
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
 
-bool DBServiceSet::QueryNodeMatrixListByExpertIdAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId,
-                                                              int engineerId, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_id "
-                                "= '%1' and engineer_id ='%2' and table_msg ='%3'")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "selectSql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-bool DBServiceSet::QueryNodeMatrixListByExpertIdAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
-                                                               int expertId, int engineerId, QString tableMsg)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase2();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_id,write_date from "
-                                "t_node_matrix_info where expert_id "
-                                "= '%1' and engineer_id ='%2' and table_msg ='%3'")
-                                .arg(QString::number(expertId))
-                                .arg(QString::number(engineerId))
-                                .arg(tableMsg);
-    // qDebug() << "selectSql=" << selectSql;
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-/*根据专家姓名查询对应的节点信息*/
-bool DBServiceSet::QueryNodeMatrixListByExpertName(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_name,write_date from "
-                                "t_node_matrix_info where expert_name = '%1'")
-                                .arg(expertName);
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-/*根据专家姓名编号对应的节点信息*/
-bool DBServiceSet::QueryNodeMatrixListByExpertId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id,mind_name,write_date from "
-                                "t_node_matrix_info where expert_id = '%1'")
-                                .arg(expertId);
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-/*根据工程编号查询对应的节点信息*/
-bool DBServiceSet::QueryNodeMatrixListByEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int engineerId)
-{
-    QSqlDatabase db = SqlDBHelper::getDatabase();
-    QSqlQuery query(db);
-    bool ret          = false;
-    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
-                                "node_value, expert_id ,mind_name,write_date from "
-                                "t_node_matrix_info where engineer_id = '%1'")
-                                .arg(engineerId);
-    if (query.exec(selectSql)) {
-        while (query.next()) {
-            if (query.isNull(0) == false) {
-                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
-                nodeMatrixInfo->id             = query.value(0).toInt();
-                nodeMatrixInfo->expertName     = query.value(1).toString();
-                nodeMatrixInfo->node           = query.value(2).toString();
-                nodeMatrixInfo->engineerId     = query.value(3).toInt();
-                nodeMatrixInfo->abscissa       = query.value(4).toString();
-                nodeMatrixInfo->ordinate       = query.value(5).toString();
-                nodeMatrixInfo->nodeValue      = query.value(6).toString();
-                nodeMatrixInfo->expertId       = query.value(7).toInt();
-                nodeMatrixInfo->mindId         = query.value(8).toInt();
-                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
-                nodeMatrixInfo->mark           = query.value(10).toString();
-                nodeMatrixInfoList->append(nodeMatrixInfo);
-            }
-            ret = true;
-        }
-    } else {
-        qDebug() << query.lastError();
-    }
-    return ret;
-}
-
-/*根据工程编号删除对应的节点信息*/
-bool DBServiceSet::DeleteNodeMatrixListByEngineerId(int engineerId)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.deleteFrom("t_node_matrix_info").where("engineer_id = ?", engineerId);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-/*根据专家名称删除对应的节点信息*/
-bool DBServiceSet::DeleteNodeMatrixListByExpertName(QString expertName)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.deleteFrom("t_node_matrix_info").where("expert_name = ?", expertName);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
-/*根据专家编号删除对应的节点信息*/
-bool DBServiceSet::DeleteNodeMatrixListByExpertId(int expertId)
-{
-    bool ret = false;
-    try {
-        Transaction t(SqlDBHelper::getDatabase());
-        t.deleteFrom("t_node_matrix_info").where("expert_id = ?", expertId);
-        t.commit();
-        ret = true;
-    } catch (const DBException &ex) {
-        qDebug() << ex.lastError.text();
-    }
-    return ret;
-}
 //////////////////////节点矩阵信息表-end////////////////////
 
 //////////////////////评估方案信息表-start////////////////////

+ 0 - 50
QFD/dbService/DBServiceSet.h

@@ -38,57 +38,7 @@ public:
     //////////////////////common-start////////////////////
 
     //////////////////////节点矩阵信息表-start////////////////////
-    /*单个节点信息新增*/
-    //添加信息
-    bool AddNodeMatrixInfo(const NodeMatrixInfo &nodeMatrixInfo);
-    /*批量节点信息新增*/
-    bool AddNodeMatrixInfoList(const QList<NodeMatrixInfo *> &jbInfoList);
-
-    /*批量节点信息新增----专家端*/
-    bool AddNodeMatrixInfoList2(const QList<NodeMatrixInfo *> &jbInfoList);
 
-    /*修改节点值*/
-    bool UpdateNodeMatrixNodeValue(const NodeMatrixInfo &nodeMatrixInfo);
-    /*批量修改节点值*/
-    bool UpdateNodeMatrixNodeValueList(const QList<NodeMatrixInfo *> jbInfoList);
-
-    /*批量修改节点值--专家端*/
-    bool UpdateNodeMatrixNodeValueList2(const QList<NodeMatrixInfo *> jbInfoList);
-    /*根据专家姓名查询对应的节点信息*/
-    bool QueryNodeMatrixListByExpertName(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName);
-    bool QueryNodeMatrixListByExpertNameAndEngineerId(QString expertName, int engineerId, QString tableMsg,
-                                                      QString mark);
-    /*根据专家id查询对应的节点信息*/
-    bool QueryNodeMatrixListByExpertIdAndEngineerId(QString expertId, int engineerId, QString tableMsg);
-    /*根据专家名称和工程ID查询对应的节点信息*/
-    bool QueryNodeMatrixListByExpertNameAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName,
-                                                      int engineerId);
-    /*根据专家名称和工程ID查询对应的节点信息--专家端*/
-    bool QueryNodeMatrixListByExpertNameAndEngineerId2(QString expertName, int engineerId, QString tableMsg,
-                                                       QString mark, int tabIndex);
-
-    bool QueryNodesByExpertNameAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName,
-                                              int engineerId, QString tableMsg, QString mark, int tabIndex);
-
-    /*根据专家id和工程ID查询对应的节点信息*/
-    bool QueryNodeMatrixListByExpertIdAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId,
-                                                    int engineerId, QString tableMsg);
-    /*判断专家是否已录入数据*/
-    bool QueryNodeValueByUserIdAndEngineerId(int experId, int engineerId);
-
-    /*根据专家id和工程ID查询对应的节点信息 ---专家端*/
-    bool QueryNodeMatrixListByExpertIdAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId,
-                                                     int engineerId, QString tableMsg);
-    /*根据专家编号查询对应的节点信息*/
-    bool QueryNodeMatrixListByExpertId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId);
-    /*根据工程编号查询节点矩阵信息*/
-    bool QueryNodeMatrixListByEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int engineerId);
-    /*根据工程编号删除节点信息*/
-    bool DeleteNodeMatrixListByEngineerId(int engineerId);
-    /*根据专家姓名删除节点信息*/
-    bool DeleteNodeMatrixListByExpertName(QString expertName);
-    /*根据专家编号删除节点信息*/
-    bool DeleteNodeMatrixListByExpertId(int expertId);
     //////////////////////节点矩阵信息表-end/////////////////////
 
     //////////////////////评估方案表-start////////////////////

+ 533 - 0
QFD/dbService/DemandWeightService.cpp

@@ -0,0 +1,533 @@
+#include "DemandWeightService.h"
+#include "SqlDBHelper.h"
+#include <QDebug>
+
+DemandWeightService::DemandWeightService(QObject *parent) { }
+
+bool DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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 DemandWeightService::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/DemandWeightService.h

@@ -0,0 +1,59 @@
+#ifndef DEMANDWEIGHTSERVICE_H
+#define DEMANDWEIGHTSERVICE_H
+#include "ClassSet.h"
+
+class DemandWeightService
+{
+public:
+    DemandWeightService(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  // DEMANDWEIGHTSERVICE_H

+ 319 - 293
QFD/dbService/NodeMatrixService.cpp

@@ -3,16 +3,17 @@
 #include <QDebug>
 
 NodeMatrixService::NodeMatrixService(QObject *parent) { }
-
-bool NodeMatrixService::AddNodeWeightInfo(const DemandWeight &demandWeight)
+bool NodeMatrixService::AddNodeMatrixInfo(const NodeMatrixInfo &nodeMatrixInfo)
 {
     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)
+        InsertQuery q = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, "
+                                     "abscissa, ordinate, "
+                                     "node_value, expert_id,mind_name,write_date,mark)");
+        q.values(nodeMatrixInfo.expertName, nodeMatrixInfo.engineerId, nodeMatrixInfo.node, nodeMatrixInfo.abscissa,
+                 nodeMatrixInfo.ordinate, nodeMatrixInfo.nodeValue, nodeMatrixInfo.expertId, nodeMatrixInfo.mindId,
+                 nodeMatrixInfo.writeDate.toString(), nodeMatrixInfo.mark)
                 .exec();
         t.commit();
         ret = true;
@@ -23,21 +24,50 @@ bool NodeMatrixService::AddNodeWeightInfo(const DemandWeight &demandWeight)
 }
 
 /*批量节点信息新增*/
-bool NodeMatrixService::AddNodeWeightInfoList(const QList<DemandWeight *> &demandWeightList)
+bool NodeMatrixService::AddNodeMatrixInfoList(const QList<NodeMatrixInfo *> &jbInfoList)
 {
     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)
+        for (int i = 0; i < jbInfoList.length(); i++) {
+            NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
+            InsertQuery query = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, abscissa, "
+                                             "ordinate, "
+                                             "node_value, expert_id,mind_id,write_date,mark,table_msg)");
+            query.values(nodeMatrixInfo->expertName, nodeMatrixInfo->engineerId, nodeMatrixInfo->node,
+                         nodeMatrixInfo->abscissa, nodeMatrixInfo->ordinate, nodeMatrixInfo->nodeValue,
+                         nodeMatrixInfo->expertId, nodeMatrixInfo->mindId, nodeMatrixInfo->writeDate.toString(),
+                         nodeMatrixInfo->mark, nodeMatrixInfo->tableMsg)
+                    .exec();
+            t.commit();
+        }
+
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+
+/*批量节点信息新增----专家端*/
+bool NodeMatrixService::AddNodeMatrixInfoList2(const QList<NodeMatrixInfo *> &jbInfoList)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase2());
+        for (int i = 0; i < jbInfoList.length(); i++) {
+            NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
+            InsertQuery query = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, abscissa, "
+                                             "ordinate, "
+                                             "node_value, expert_id,mind_id,write_date,mark,table_msg,tab_index)");
+            query.values(nodeMatrixInfo->expertName, nodeMatrixInfo->engineerId, nodeMatrixInfo->node,
+                         nodeMatrixInfo->abscissa, nodeMatrixInfo->ordinate, nodeMatrixInfo->nodeValue,
+                         nodeMatrixInfo->expertId, nodeMatrixInfo->mindId, nodeMatrixInfo->writeDate.toString(),
+                         nodeMatrixInfo->mark, nodeMatrixInfo->tableMsg, nodeMatrixInfo->tabIndex)
                     .exec();
             t.commit();
         }
+
         ret = true;
     } catch (const DBException &ex) {
         qDebug() << ex.lastError.text();
@@ -46,16 +76,17 @@ bool NodeMatrixService::AddNodeWeightInfoList(const QList<DemandWeight *> &deman
 }
 
 /*修改节点值*/
-bool NodeMatrixService::UpdateNodeValue(const DemandWeight &demandWeight)
+bool NodeMatrixService::UpdateNodeMatrixNodeValue(const NodeMatrixInfo &nodeMatrixInfo)
 {
     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.update("t_node_matrix_info")
+                .set("NODE_VALUE", nodeMatrixInfo.nodeValue)
+                .where("ENGINEER_ID = ? and expert_name = and abscissa = ? and "
+                       "ordinate = ?  ",
+                       nodeMatrixInfo.engineerId, nodeMatrixInfo.expertName, nodeMatrixInfo.abscissa,
+                       nodeMatrixInfo.ordinate);
         t.commit();
         ret = true;
     } catch (const DBException &ex) {
@@ -64,24 +95,24 @@ bool NodeMatrixService::UpdateNodeValue(const DemandWeight &demandWeight)
     return ret;
 }
 
-bool NodeMatrixService::UpdateNodeValueList(const QList<DemandWeight *> demandWeightList)
+bool NodeMatrixService::UpdateNodeMatrixNodeValueList(const QList<NodeMatrixInfo *> jbInfoList)
 {
     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);
+    for (int i = 0; i < jbInfoList.length(); i++) {
+        NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
+        QString updateSql              = QString("UPDATE t_node_matrix_info SET NODE_VALUE ='%1' WHERE "
+                                    "ENGINEER_ID = %2 AND expert_name = '%3'"
+                                    " AND abscissa = '%4' AND ordinate = '%5' and table_msg = '%6' "
+                                    "and mark = '%7'")
+                                    .arg(nodeMatrixInfo->nodeValue)
+                                    .arg(nodeMatrixInfo->engineerId)
+                                    .arg(nodeMatrixInfo->expertName)
+                                    .arg(nodeMatrixInfo->abscissa)
+                                    .arg(nodeMatrixInfo->ordinate)
+                                    .arg(nodeMatrixInfo->tableMsg)
+                                    .arg(nodeMatrixInfo->mark);
         // qDebug() << updateSql;
         query.exec(updateSql);
         ret = true;
@@ -89,103 +120,115 @@ bool NodeMatrixService::UpdateNodeValueList(const QList<DemandWeight *> demandWe
 
     return ret;
 }
-bool NodeMatrixService::QueryByTableIndexAndTableMsg(int expertId, int engineerId, int tableIndex, QString tableMsg)
+
+bool NodeMatrixService::UpdateNodeMatrixNodeValueList2(const QList<NodeMatrixInfo *> jbInfoList)
 {
-    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlDatabase db = SqlDBHelper::getDatabase2();
     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();
+    bool ret = false;
+    for (int i = 0; i < jbInfoList.length(); i++) {
+        NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
+        QString updateSql              = QString("UPDATE t_node_matrix_info SET NODE_VALUE ='%1' WHERE "
+                                    "ENGINEER_ID = %2 AND expert_name = '%3'"
+                                    " AND abscissa = '%4' AND ordinate = '%5' and table_msg = '%6' "
+                                    "and mark = '%7' and tab_index = '%8'")
+                                    .arg(nodeMatrixInfo->nodeValue)
+                                    .arg(nodeMatrixInfo->engineerId)
+                                    .arg(nodeMatrixInfo->expertName)
+                                    .arg(nodeMatrixInfo->abscissa)
+                                    .arg(nodeMatrixInfo->ordinate)
+                                    .arg(nodeMatrixInfo->tableMsg)
+                                    .arg(nodeMatrixInfo->mark)
+                                    .arg(nodeMatrixInfo->tabIndex);
+        // qDebug() << updateSql;
+        query.exec(updateSql);
+        ret = true;
     }
+
     return ret;
 }
 
-bool NodeMatrixService::QueryByTableIndexAndTableMsg(QString expertId, int engineerId, int tableIndex, QString tableMsg)
+/*根据专家姓名和工程id获取节点信息*/
+bool NodeMatrixService::QueryNodeMatrixListByExpertNameAndEngineerId(QString expertName, int engineerId,
+                                                                     QString tableMsg, QString mark)
 {
     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)
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_name "
+                                "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4'")
+                                .arg(expertName)
                                 .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql===" << selectSql;
+                                .arg(tableMsg)
+                                .arg(mark);
+
     if (query.exec(selectSql)) {
         if (query.next()) {
             ret = true;
         }
-
     } else {
         qDebug() << query.lastError();
     }
+    qDebug() << ret;
     return ret;
 }
 
-bool NodeMatrixService::QueryByTableIndexAndTableMsgAndPage(QString expertId, int engineerId, int tableIndex,
-                                                            QString tableMsg, int page)
+/*根据专家姓名和工程id获取节点信息*/
+bool NodeMatrixService::QueryNodeMatrixListByExpertIdAndEngineerId(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_index=%3 and table_msg='%4' and page_index=%5")
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_id "
+                                "= '%1' and engineer_id ='%2' and table_msg='%3'")
                                 .arg(expertId)
                                 .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg)
-                                .arg(page);
-    // qDebug() << "sql===" << selectSql;
+                                .arg(tableMsg);
+    // qDebug() << selectSql;
+
     if (query.exec(selectSql)) {
         if (query.next()) {
             ret = true;
         }
-
     } else {
         qDebug() << query.lastError();
     }
+    // qDebug() << ret;
     return ret;
 }
-bool NodeMatrixService::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                     int engineerId, int tableIndex, QString tableMsg)
 
+bool NodeMatrixService::QueryNodeMatrixListByExpertNameAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
+                                                                     QString expertName, int engineerId)
 {
     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;
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_name "
+                                "= '%1' and engineer_id ='%2'")
+                                .arg(expertName)
+                                .arg(QString::number(engineerId));
     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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
@@ -195,123 +238,91 @@ bool NodeMatrixService::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *dema
     return ret;
 }
 
-bool NodeMatrixService::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                     int engineerId, int tableIndex, QString tableMsg)
-
+bool NodeMatrixService::QueryNodeMatrixListByExpertNameAndEngineerId2(QString expertName, int engineerId,
+                                                                      QString tableMsg, QString mark, int tabIndex)
 {
-    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlDatabase db = SqlDBHelper::getDatabase2();
     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)
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_name "
+                                "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4' and tab_index = '%5'")
+                                .arg(expertName)
                                 .arg(QString::number(engineerId))
-                                .arg(QString::number(tableIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
+                                .arg(tableMsg)
+                                .arg(mark)
+                                .arg(tabIndex);
+
     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);
-            }
+        if (query.next()) {
             ret = true;
         }
     } else {
         qDebug() << query.lastError();
     }
+    qDebug() << ret;
     return ret;
 }
 
-bool NodeMatrixService::QueryByPageIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                    int engineerId, int pageIndex, QString tableMsg)
-
+bool NodeMatrixService::QueryNodesByExpertNameAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
+                                                             QString expertName, int engineerId, QString tableMsg,
+                                                             QString mark, int tabIndex)
 {
-    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlDatabase db = SqlDBHelper::getDatabase2();
     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)
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_name "
+                                "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4' and tab_index = '%5'")
+                                .arg(expertName)
                                 .arg(QString::number(engineerId))
-                                .arg(QString::number(pageIndex))
-                                .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
+                                .arg(tableMsg)
+                                .arg(mark)
+                                .arg(tabIndex);
+    // qDebug() << "----" << 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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
     } else {
         qDebug() << query.lastError();
     }
+    qDebug() << ret;
     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)
+bool NodeMatrixService::QueryNodeValueByUserIdAndEngineerId(int experId, int engineerId)
 {
-
     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;
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_id "
+                                "= '%1' and engineer_id ='%2'")
+                                .arg(QString::number(experId))
+                                .arg(QString::number(engineerId));
+    // qDebug() << "selectSql=" << 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);
-            }
+        if (query.next()) {
+
             ret = true;
         }
     } else {
@@ -320,33 +331,36 @@ bool NodeMatrixService::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *>
     return ret;
 }
 
-bool NodeMatrixService::QueryLastDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                          int engineerId, QString tableMsg, int tableIndex)
+bool NodeMatrixService::QueryNodeMatrixListByExpertIdAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
+                                                                   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 = %4")
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_id "
+                                "= '%1' and engineer_id ='%2' and table_msg ='%3'")
                                 .arg(QString::number(expertId))
                                 .arg(QString::number(engineerId))
-                                .arg(tableMsg)
-                                .arg(QString::number(tableIndex));
-    qDebug() << "sql=" << selectSql;
+                                .arg(tableMsg);
+    // qDebug() << "selectSql=" << 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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
@@ -356,32 +370,36 @@ bool NodeMatrixService::QueryLastDemandWeightByEngineerId(QList<DemandWeight *>
     return ret;
 }
 
-bool NodeMatrixService::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                           int engineerId, QString tableMsg)
+bool NodeMatrixService::QueryNodeMatrixListByExpertIdAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
+                                                                    int expertId, int engineerId, QString tableMsg)
 {
-
-    QSqlDatabase db = SqlDBHelper::getDatabase();
+    QSqlDatabase db = SqlDBHelper::getDatabase2();
     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)
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_id,write_date from "
+                                "t_node_matrix_info where expert_id "
+                                "= '%1' and engineer_id ='%2' and table_msg ='%3'")
+                                .arg(QString::number(expertId))
                                 .arg(QString::number(engineerId))
                                 .arg(tableMsg);
-    // qDebug() << "sql=" << selectSql;
+    // qDebug() << "selectSql=" << 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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
@@ -391,33 +409,32 @@ bool NodeMatrixService::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *>
     return ret;
 }
 
-bool NodeMatrixService::QueryLastPageDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                              int engineerId, QString tableMsg, int page)
+/*根据专家姓名查询对应的节点信息*/
+bool NodeMatrixService::QueryNodeMatrixListByExpertName(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName)
 {
-
     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;
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_name,write_date from "
+                                "t_node_matrix_info where expert_name = '%1'")
+                                .arg(expertName);
     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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
@@ -427,31 +444,32 @@ bool NodeMatrixService::QueryLastPageDemandWeightByEngineerId(QList<DemandWeight
     return ret;
 }
 
-bool NodeMatrixService::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
-                                                            int engineerId, QString tableMsg)
+/*根据专家姓名编号对应的节点信息*/
+bool NodeMatrixService::QueryNodeMatrixListByExpertId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId)
 {
     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;
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id,mind_name,write_date from "
+                                "t_node_matrix_info where expert_id = '%1'")
+                                .arg(expertId);
     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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
@@ -460,33 +478,32 @@ bool NodeMatrixService::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *
     }
     return ret;
 }
-
-bool NodeMatrixService::QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<DemandWeight *> *demandWeightList,
-                                                                      int expertId, int engineerId, QString tableMsg)
+/*根据工程编号查询对应的节点信息*/
+bool NodeMatrixService::QueryNodeMatrixListByEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int engineerId)
 {
     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;
+    QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
+                                "node_value, expert_id ,mind_name,write_date from "
+                                "t_node_matrix_info where engineer_id = '%1'")
+                                .arg(engineerId);
     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);
+                NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
+                nodeMatrixInfo->id             = query.value(0).toInt();
+                nodeMatrixInfo->expertName     = query.value(1).toString();
+                nodeMatrixInfo->node           = query.value(2).toString();
+                nodeMatrixInfo->engineerId     = query.value(3).toInt();
+                nodeMatrixInfo->abscissa       = query.value(4).toString();
+                nodeMatrixInfo->ordinate       = query.value(5).toString();
+                nodeMatrixInfo->nodeValue      = query.value(6).toString();
+                nodeMatrixInfo->expertId       = query.value(7).toInt();
+                nodeMatrixInfo->mindId         = query.value(8).toInt();
+                nodeMatrixInfo->writeDate      = query.value(9).toDateTime();
+                nodeMatrixInfo->mark           = query.value(10).toString();
+                nodeMatrixInfoList->append(nodeMatrixInfo);
             }
             ret = true;
         }
@@ -496,36 +513,45 @@ bool NodeMatrixService::QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<Dema
     return ret;
 }
 
-bool NodeMatrixService::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
-                                                            int engineerId, QString tableMsg)
+/*根据工程编号删除对应的节点信息*/
+bool NodeMatrixService::DeleteNodeMatrixListByEngineerId(int engineerId)
 {
-    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();
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_node_matrix_info").where("engineer_id = ?", engineerId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+/*根据专家名称删除对应的节点信息*/
+bool NodeMatrixService::DeleteNodeMatrixListByExpertName(QString expertName)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_node_matrix_info").where("expert_name = ?", expertName);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
+    }
+    return ret;
+}
+/*根据专家编号删除对应的节点信息*/
+bool NodeMatrixService::DeleteNodeMatrixListByExpertId(int expertId)
+{
+    bool ret = false;
+    try {
+        Transaction t(SqlDBHelper::getDatabase());
+        t.deleteFrom("t_node_matrix_info").where("expert_id = ?", expertId);
+        t.commit();
+        ret = true;
+    } catch (const DBException &ex) {
+        qDebug() << ex.lastError.text();
     }
     return ret;
 }

+ 46 - 43
QFD/dbService/NodeMatrixService.h

@@ -6,54 +6,57 @@ class NodeMatrixService
 {
 public:
     NodeMatrixService(QObject *parent = nullptr);
-
     /*单个节点信息新增*/
     //添加信息
-    bool AddNodeWeightInfo(const DemandWeight &demandWeight);
+    bool AddNodeMatrixInfo(const NodeMatrixInfo &nodeMatrixInfo);
     /*批量节点信息新增*/
-    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 AddNodeMatrixInfoList(const QList<NodeMatrixInfo *> &jbInfoList);
 
-    bool updateValidByExperIdAndEngineerId(int expertId, int engineerId);
+    /*批量节点信息新增----专家端*/
+    bool AddNodeMatrixInfoList2(const QList<NodeMatrixInfo *> &jbInfoList);
 
-    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);
+    /*修改节点值*/
+    bool UpdateNodeMatrixNodeValue(const NodeMatrixInfo &nodeMatrixInfo);
+    /*批量修改节点值*/
+    bool UpdateNodeMatrixNodeValueList(const QList<NodeMatrixInfo *> jbInfoList);
+
+    /*批量修改节点值--专家端*/
+    bool UpdateNodeMatrixNodeValueList2(const QList<NodeMatrixInfo *> jbInfoList);
+    /*根据专家姓名查询对应的节点信息*/
+    bool QueryNodeMatrixListByExpertName(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName);
+    bool QueryNodeMatrixListByExpertNameAndEngineerId(QString expertName, int engineerId, QString tableMsg,
+                                                      QString mark);
+    /*根据专家id查询对应的节点信息*/
+    bool QueryNodeMatrixListByExpertIdAndEngineerId(QString expertId, int engineerId, QString tableMsg);
+    /*根据专家名称和工程ID查询对应的节点信息*/
+    bool QueryNodeMatrixListByExpertNameAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName,
+                                                      int engineerId);
+    /*根据专家名称和工程ID查询对应的节点信息--专家端*/
+    bool QueryNodeMatrixListByExpertNameAndEngineerId2(QString expertName, int engineerId, QString tableMsg,
+                                                       QString mark, int tabIndex);
+
+    bool QueryNodesByExpertNameAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName,
+                                              int engineerId, QString tableMsg, QString mark, int tabIndex);
+
+    /*根据专家id和工程ID查询对应的节点信息*/
+    bool QueryNodeMatrixListByExpertIdAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId,
+                                                    int engineerId, QString tableMsg);
+    /*判断专家是否已录入数据*/
+    bool QueryNodeValueByUserIdAndEngineerId(int experId, int engineerId);
+
+    /*根据专家id和工程ID查询对应的节点信息 ---专家端*/
+    bool QueryNodeMatrixListByExpertIdAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId,
+                                                     int engineerId, QString tableMsg);
+    /*根据专家编号查询对应的节点信息*/
+    bool QueryNodeMatrixListByExpertId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId);
+    /*根据工程编号查询节点矩阵信息*/
+    bool QueryNodeMatrixListByEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int engineerId);
+    /*根据工程编号删除节点信息*/
+    bool DeleteNodeMatrixListByEngineerId(int engineerId);
+    /*根据专家姓名删除节点信息*/
+    bool DeleteNodeMatrixListByExpertName(QString expertName);
+    /*根据专家编号删除节点信息*/
+    bool DeleteNodeMatrixListByExpertId(int expertId);
 };
 
 #endif  // NODEMATRIXSERVICE_H

+ 2 - 0
QFD/dbService/dbService.pri

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

+ 17 - 16
QFD/shemeTable/AnalysisPanelWidget.cpp

@@ -2,6 +2,7 @@
 #include "AnalysisTableWidget.h"
 #include "dbService/DBServiceSet.h"
 #include "dbService/NodeMatrixService.h"
+#include "dbService/DemandWeightService.h"
 #include "ui_AnalysisPanelWidget.h"
 #include <QHeaderView>
 
@@ -303,13 +304,13 @@ void AnalysisPanelWidget::initPlainWidget(int engineerId, int expertId, QString
     //获取技术措施指标权重
     QList<DemandWeight *> firstDemandList;
     QList<DemandWeight *> secondDemandList;
-    NodeMatrixService().QueryFirstDemandWeightByEngineerId(&firstDemandList, expertId, engineerId, tableMsg);
+    DemandWeightService().QueryFirstDemandWeightByEngineerId(&firstDemandList, expertId, engineerId, tableMsg);
     // DBServiceSet().QuerySecondDemandWeightByEngineerId(&secondDemandList, expertId,
     // engineerId,"能力重要度评估指标体系");
-    NodeMatrixService().QuerySecondDemandWeightByEngineerIdAndMaxPage(&secondDemandList, expertId, engineerId,
-                                                                      "能力重要度评估指标体系");
+    DemandWeightService().QuerySecondDemandWeightByEngineerIdAndMaxPage(&secondDemandList, expertId, engineerId,
+                                                                        "能力重要度评估指标体系");
     QList<NodeMatrixInfo *> nodeValueInfoList;
-    DBServiceSet().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertId, engineerId, tableMsg);
+    NodeMatrixService().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertId, engineerId, tableMsg);
     //准备第一页,非tab的
     AnalysisTableWidget *table = new AnalysisTableWidget;
     table->horizontalHeader()->setStretchLastSection(true);
@@ -367,7 +368,7 @@ void AnalysisPanelWidget::initPlainWidget(int engineerId, int expertId, QString
             if (table) {
                 firstDemandList.clear();
                 if (firstDemandList.size() == 0) {
-                    NodeMatrixService().QueryLastPageDemandWeightByEngineerId(
+                    DemandWeightService().QueryLastPageDemandWeightByEngineerId(
                             &firstDemandList, QString::number(expertId), engineerId, tableMsg, p - 1);
                 }
                 // qDebug() << p << "=" << p << "===========" << firstDemandList.size();
@@ -402,9 +403,9 @@ void AnalysisPanelWidget::initCompositePlainWidget(int engineerId, QList<int> ex
     //获取技术措施指标权重
     QList<DemandWeight *> firstDemandList;
     QList<DemandWeight *> secondDemandList;
-    NodeMatrixService().QueryFirstDemandWeightByEngineerId(&firstDemandList, experId, engineerId, tableMsg);
-    NodeMatrixService().QuerySecondDemandWeightByEngineerId(&secondDemandList, experId, engineerId,
-                                                            "能力重要度评估指标体系");
+    DemandWeightService().QueryFirstDemandWeightByEngineerId(&firstDemandList, experId, engineerId, tableMsg);
+    DemandWeightService().QuerySecondDemandWeightByEngineerId(&secondDemandList, experId, engineerId,
+                                                              "能力重要度评估指标体系");
     QList<NodeMatrixInfo *> compositeNodeValueInfoList;
     computerCompositeValue(compositeNodeValueInfoList, expertIds, engineerId, tableMsg);
     //准备第一页,非tab的
@@ -462,8 +463,8 @@ void AnalysisPanelWidget::initCompositePlainWidget(int engineerId, QList<int> ex
             if (table) {
                 firstDemandList.clear();
                 if (firstDemandList.size() == 0) {
-                    NodeMatrixService().QueryLastPageDemandWeightByEngineerId(&firstDemandList, experId, engineerId,
-                                                                              tableMsg, p - 1);
+                    DemandWeightService().QueryLastPageDemandWeightByEngineerId(&firstDemandList, experId, engineerId,
+                                                                                tableMsg, p - 1);
                 }
                 table->setTableWeight(firstDemandList, secondDemandList);
                 table->paintSecondMatrixTable(compositeNodeValueInfoList, p, analysisViewType, index);
@@ -486,8 +487,8 @@ void AnalysisPanelWidget::computerCompositeValue(QList<NodeMatrixInfo *> &compos
         if (tabMsg == "能力重要度评估指标体系" || tabMsg == "方案评估指标体系") {
             for (int i = 0; i < expertIds.size(); i++) {
                 QList<NodeMatrixInfo *> nodeValueInfoList;
-                DBServiceSet().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertIds.at(i),
-                                                                          engineerId, tabMsg);
+                NodeMatrixService().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertIds.at(i),
+                                                                               engineerId, tabMsg);
                 // qDebug() << "nodeValueInfoList.size()==" << nodeValueInfoList.size();
                 if (nodeValueInfoList.size() == 0) {
                     continue;
@@ -555,8 +556,8 @@ void AnalysisPanelWidget::computerCompositeValue(QList<NodeMatrixInfo *> &compos
         } else if (tabMsg == "技术措施重要度评估对象") {
             for (int i = 0; i < expertIds.size(); i++) {
                 QList<NodeMatrixInfo *> nodeValueInfoList;
-                DBServiceSet().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertIds.at(i),
-                                                                          engineerId, tabMsg);
+                NodeMatrixService().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertIds.at(i),
+                                                                               engineerId, tabMsg);
                 if (nodeValueInfoList.size() == 0) {
                     continue;
                 }
@@ -601,8 +602,8 @@ void AnalysisPanelWidget::computerCompositeValue(QList<NodeMatrixInfo *> &compos
         if (tabMsg == "能力重要度评估指标体系" || tabMsg == "方案评估指标体系") {
             for (int i = 0; i < expertIds.size(); i++) {
                 QList<NodeMatrixInfo *> nodeValueInfoList;
-                DBServiceSet().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertIds.at(i),
-                                                                          engineerId, tabMsg);
+                NodeMatrixService().QueryNodeMatrixListByExpertIdAndEngineerId(&nodeValueInfoList, expertIds.at(i),
+                                                                               engineerId, tabMsg);
                 // qDebug() << "nodeValueInfoList.size()==" << nodeValueInfoList.size();
                 if (nodeValueInfoList.size() == 0) {
                     continue;

+ 12 - 11
QFD/shemeTable/AnalysisTableWidget.cpp

@@ -10,6 +10,7 @@
 #include "dbService/ClassSet.h"
 #include <dbService/DBServiceSet.h>
 #include <dbService/NodeMatrixService.h>
+#include <dbService/DemandWeightService.h>
 #include <QList>
 
 AnalysisTableWidget::AnalysisTableWidget(QWidget *parent) : QTableView(parent)
@@ -143,10 +144,10 @@ void AnalysisTableWidget::paintMatrixTable(QList<NodeMatrixInfo *> nodeValueInfo
             demandWeight->pageIndex    = 0;
             list.append(demandWeight);
         }
-        if (NodeMatrixService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
-            NodeMatrixService().UpdateNodeValueList(list);
+        if (DemandWeightService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
+            DemandWeightService().UpdateNodeValueList(list);
         } else {
-            NodeMatrixService().AddNodeWeightInfoList(list);
+            DemandWeightService().AddNodeWeightInfoList(list);
         }
     } else {
         //获取到指标体系需求重要度
@@ -328,10 +329,10 @@ void AnalysisTableWidget::paintCompositeMatrixTable(QList<NodeMatrixInfo *> node
             demandWeight->tableMsg     = m_table_msg;
             list.append(demandWeight);
         }
-        if (NodeMatrixService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
-            NodeMatrixService().UpdateNodeValueList(list);
+        if (DemandWeightService().QueryByTableIndexAndTableMsg(m_expertId, m_engineerId, m_tableIndex, m_table_msg)) {
+            DemandWeightService().UpdateNodeValueList(list);
         } else {
-            NodeMatrixService().AddNodeWeightInfoList(list);
+            DemandWeightService().AddNodeWeightInfoList(list);
         }
 
     } else {
@@ -495,7 +496,7 @@ void AnalysisTableWidget::paintSecondMatrixTable(QList<NodeMatrixInfo *> nodeVal
         QList<DemandWeight *> list;
         QList<DemandWeight *> firstList;
         // DBServiceSet().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, 0, m_table_msg);
-        NodeMatrixService().QueryByTableIndexAndTableMsg(&firstList, m_expertId, m_engineerId, page - 1, m_table_msg);
+        DemandWeightService().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;
@@ -513,12 +514,12 @@ void AnalysisTableWidget::paintSecondMatrixTable(QList<NodeMatrixInfo *> nodeVal
             demandWeight->pageIndex    = page;
             list.append(demandWeight);
         }
-        if (NodeMatrixService().QueryByTableIndexAndTableMsgAndPage(m_expertId, m_engineerId, m_tableIndex, m_table_msg,
-                                                                    page)) {
+        if (DemandWeightService().QueryByTableIndexAndTableMsgAndPage(m_expertId, m_engineerId, m_tableIndex,
+                                                                      m_table_msg, page)) {
 
-            NodeMatrixService().UpdateNodeValueList(list);
+            DemandWeightService().UpdateNodeValueList(list);
         } else {
-            NodeMatrixService().AddNodeWeightInfoList(list);
+            DemandWeightService().AddNodeWeightInfoList(list);
         }
     } else {
         model->setHorizontalHeaderItem(1, new QStandardItem("权重"));

+ 4 - 3
QFD/shemeTable/GroupPanelWidget.cpp

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

+ 24 - 23
QFD/shemeTable/MatrixPanelWidget.cpp

@@ -2,6 +2,7 @@
 #include "MatrixTableTechMeasuresWidget.h"
 #include "MatrixTableWidget.h"
 #include "dbService/DBServiceSet.h"
+#include "dbService/NodeMatrixService.h"
 #include "ui_MatrixPanelWidget.h"
 
 #include <xlsxdocument.h>
@@ -330,8 +331,8 @@ void MatrixPanelWidget::initPlainWidget(QList<NodeMatrixInfo *> nodeValueInfoLis
             table->addRowNode(msg.node, msg.name, msg.remark);
         }
     }
-    DBServiceSet().QueryNodesByExpertNameAndEngineerId2(&nodeValueInfoList, m_professor.name,
-                                                        m_professor.engineer.engineerId, m_professor.tableMsg, "1", 0);
+    NodeMatrixService().QueryNodesByExpertNameAndEngineerId2(
+            &nodeValueInfoList, m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg, "1", 0);
     table->paintMatrixTable(nodeValueInfoList);
     firstLayout->addWidget(table);
     qDeleteAll(nodeValueInfoList);
@@ -375,7 +376,7 @@ void MatrixPanelWidget::initPlainWidget(QList<NodeMatrixInfo *> nodeValueInfoLis
             if (table) {
                 table->setMsgName(msg.name);
                 // qDebug() << "专家界面tab" << msg.name;
-                DBServiceSet().QueryNodesByExpertNameAndEngineerId2(
+                NodeMatrixService().QueryNodesByExpertNameAndEngineerId2(
                         &nodeValueInfoList, m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg,
                         QString::number(p + 1), index - 1);
 
@@ -427,8 +428,8 @@ void MatrixPanelWidget::initPlainTechMeasuresWidget(QList<NodeMatrixInfo *> node
         }
     }
 
-    DBServiceSet().QueryNodesByExpertNameAndEngineerId2(&nodeValueInfoList, m_professor.name,
-                                                        m_professor.engineer.engineerId, m_professor.tableMsg, "1", 0);
+    NodeMatrixService().QueryNodesByExpertNameAndEngineerId2(
+            &nodeValueInfoList, m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg, "1", 0);
 
     table->setTableName("总体");
     table->paintMatrixTable(nodeValueInfoList);
@@ -469,7 +470,7 @@ void MatrixPanelWidget::initPlainTechMeasuresWidget(QList<NodeMatrixInfo *> node
                 }
             }
             if (table) {
-                DBServiceSet().QueryNodesByExpertNameAndEngineerId2(
+                NodeMatrixService().QueryNodesByExpertNameAndEngineerId2(
                         &nodeValueInfoList, m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg,
                         QString::number(p + 1), index - 1);
                 table->setTableName(msg.name);
@@ -690,14 +691,14 @@ void MatrixPanelWidget::on_saveBtn_clicked()
         }
     }
     if (saveFlag) {
-        if (DBServiceSet().QueryNodeMatrixListByExpertNameAndEngineerId2(
+        if (NodeMatrixService().QueryNodeMatrixListByExpertNameAndEngineerId2(
                     m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg,
                     QString::number(currentPage), tabIndex)) {
             qDebug() << "存在数据";
-            DBServiceSet().UpdateNodeMatrixNodeValueList2(nodeInfoList);
+            NodeMatrixService().UpdateNodeMatrixNodeValueList2(nodeInfoList);
         } else {
             qDebug() << "新插入数据";
-            DBServiceSet().AddNodeMatrixInfoList2(nodeInfoList);
+            NodeMatrixService().AddNodeMatrixInfoList2(nodeInfoList);
         }
     } else {
         QMessageBox::warning(this, "警告", "请先填写数据,保证数据完整性!");
@@ -731,13 +732,13 @@ void MatrixPanelWidget::saveNodes()
             t->tabIndex       = tabIndex;
             nodeInfoList.append(t);
         }
-        if (DBServiceSet().QueryNodeMatrixListByExpertNameAndEngineerId2(
+        if (NodeMatrixService().QueryNodeMatrixListByExpertNameAndEngineerId2(
                     m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg, "1", tabIndex)) {
             qDebug() << "存在数据";
-            DBServiceSet().UpdateNodeMatrixNodeValueList2(nodeInfoList);
+            NodeMatrixService().UpdateNodeMatrixNodeValueList2(nodeInfoList);
         } else {
             qDebug() << "新插入数据";
-            DBServiceSet().AddNodeMatrixInfoList2(nodeInfoList);
+            NodeMatrixService().AddNodeMatrixInfoList2(nodeInfoList);
         }
 
         //保存第二页数据,如果有
@@ -764,14 +765,14 @@ void MatrixPanelWidget::saveNodes()
                     t->tabIndex       = i;
                     secondNodeInfoList.append(t);
                 }
-                if (DBServiceSet().QueryNodeMatrixListByExpertNameAndEngineerId2(
+                if (NodeMatrixService().QueryNodeMatrixListByExpertNameAndEngineerId2(
                             m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg,
                             QString::number(ta + 2), i)) {
                     qDebug() << "存在数据";
-                    DBServiceSet().UpdateNodeMatrixNodeValueList2(secondNodeInfoList);
+                    NodeMatrixService().UpdateNodeMatrixNodeValueList2(secondNodeInfoList);
                 } else {
                     qDebug() << "新插入数据";
-                    DBServiceSet().AddNodeMatrixInfoList2(secondNodeInfoList);
+                    NodeMatrixService().AddNodeMatrixInfoList2(secondNodeInfoList);
                 }
             }
         }
@@ -796,13 +797,13 @@ void MatrixPanelWidget::saveNodes()
             t->tabIndex       = tabIndex;
             nodeInfoList.append(t);
         }
-        if (DBServiceSet().QueryNodeMatrixListByExpertNameAndEngineerId2(
+        if (NodeMatrixService().QueryNodeMatrixListByExpertNameAndEngineerId2(
                     m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg, "1", tabIndex)) {
             qDebug() << "存在数据";
-            DBServiceSet().UpdateNodeMatrixNodeValueList2(nodeInfoList);
+            NodeMatrixService().UpdateNodeMatrixNodeValueList2(nodeInfoList);
         } else {
             qDebug() << "新插入数据";
-            DBServiceSet().AddNodeMatrixInfoList2(nodeInfoList);
+            NodeMatrixService().AddNodeMatrixInfoList2(nodeInfoList);
         }
         qDeleteAll(nodeInfoList);
         //保存第二页数据,如果有
@@ -828,14 +829,14 @@ void MatrixPanelWidget::saveNodes()
                     t->tabIndex       = i;
                     secondNodeInfoList.append(t);
                 }
-                if (DBServiceSet().QueryNodeMatrixListByExpertNameAndEngineerId2(
+                if (NodeMatrixService().QueryNodeMatrixListByExpertNameAndEngineerId2(
                             m_professor.name, m_professor.engineer.engineerId, m_professor.tableMsg,
                             QString::number(ta + 2), i)) {
                     qDebug() << "存在数据";
-                    DBServiceSet().UpdateNodeMatrixNodeValueList2(secondNodeInfoList);
+                    NodeMatrixService().UpdateNodeMatrixNodeValueList2(secondNodeInfoList);
                 } else {
                     qDebug() << "新插入数据";
-                    DBServiceSet().AddNodeMatrixInfoList2(secondNodeInfoList);
+                    NodeMatrixService().AddNodeMatrixInfoList2(secondNodeInfoList);
                 }
 
                 qDeleteAll(secondNodeInfoList);
@@ -1028,8 +1029,8 @@ void MatrixPanelWidget::on_importBtn_clicked()
         return;
     //获取node节点
     QList<NodeMatrixInfo *> nodeValueInfoList;
-    DBServiceSet().QueryNodeMatrixListByExpertNameAndEngineerId(&nodeValueInfoList, m_professor.name,
-                                                                m_professor.engineer.engineerId);
+    NodeMatrixService().QueryNodeMatrixListByExpertNameAndEngineerId(&nodeValueInfoList, m_professor.name,
+                                                                     m_professor.engineer.engineerId);
     //读取文件内容
     QXlsx::Document xlsxR(fileName);
     QStringList str = xlsxR.sheetNames();

+ 7 - 4
QFD/shemeTable/MatrixTableWidget.cpp

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

+ 40 - 33
QFD/shemeTable/ModelViewTable.cpp

@@ -1,6 +1,7 @@
 #include "ModelViewTable.h"
 #include "ui_ModelViewTable.h"
 #include "dbService/DBServiceSet.h"
+#include "dbService/NodeMatrixService.h"
 
 #include <QDebug>
 #include <QMessageBox>
@@ -58,7 +59,7 @@ void ModelViewTable::saveResult()
 {
     getTableViewContent(pageTabAndCorrTableModels);
 
-    if (!DBServiceSet().AddNodeMatrixInfoList(datas)) {
+    if (!NodeMatrixService().AddNodeMatrixInfoList(datas)) {
         QMessageBox::critical(this, "异常", "数据库存储异常!");
     } else {
         QMessageBox::information(this, "成功", "数据库存储成功!");
@@ -71,14 +72,16 @@ int ModelViewTable::getStackedWidgetPages(QList<NodeMatrixInfo *> datas)
     // 异常处理 datas为空
     for (auto temp : datas) {
         QStringList list = (temp->node).split(".");
-        if (list.length() > pages) { pages = list.length(); }
+        if (list.length() > pages) {
+            pages = list.length();
+        }
     }
     return pages - 1;
 }
 
 void ModelViewTable::addStackWidgetPage(int pages)
 {
-    QStringList   tableNames;
+    QStringList tableNames;
     QSet<QString> names;
     // 异常处理 datas为空
     for (auto temp : datas) {
@@ -94,8 +97,8 @@ void ModelViewTable::addStackWidgetPage(int pages)
     }
     for (int i = 0; i < pages; i++) {
         if (i == 0) {
-            QWidget *           m_widget          = new QWidget();
-            QTableView *        m_tableView_page1 = new QTableView();
+            QWidget *m_widget             = new QWidget();
+            QTableView *m_tableView_page1 = new QTableView();
             QStandardItemModel *m_model_page1 =
                     createModel(tableNames, indexForMeasureMehods.isEmpty() ? tableNames : indexForMeasureMehods);
             m_tableView_page1->setModel(m_model_page1);
@@ -107,9 +110,9 @@ void ModelViewTable::addStackWidgetPage(int pages)
             pageTabAndCorrTableModels.insert(0, tabAndCorrTableModel);
             tabAndCorrTableModel.clear();
         } else {
-            QWidget *    m_widget    = new QWidget();
-            QTabWidget * m_tabWidget = createTabWidget(getTabWidgetHeaderLabel(i), i);
-            QVBoxLayout *m_layout    = new QVBoxLayout();
+            QWidget *m_widget       = new QWidget();
+            QTabWidget *m_tabWidget = createTabWidget(getTabWidgetHeaderLabel(i), i);
+            QVBoxLayout *m_layout   = new QVBoxLayout();
             m_layout->addWidget(m_tabWidget);
             m_widget->setLayout(m_layout);
             m_stackWidget->addWidget(m_widget);
@@ -124,9 +127,9 @@ QTabWidget *ModelViewTable::createTabWidget(QMap<QString, QSet<QString>> corrEle
     //    qDebug() << corrElements.values().at(0).toList();
     QTabWidget *m_tabWidget = new QTabWidget();
     for (int i = 0; i < tabPages; i++) {
-        QWidget *           m_widget           = new QWidget();
-        QVBoxLayout *       m_layout           = new QVBoxLayout();
-        QTableView *        SET_TABVIEWNAME(i) = new QTableView();
+        QWidget *m_widget              = new QWidget();
+        QVBoxLayout *m_layout          = new QVBoxLayout();
+        QTableView *SET_TABVIEWNAME(i) = new QTableView();
         QStandardItemModel *SET_TABMODELNAME(i) =
                 createModel(corrElements.values().at(i).toList(), corrElements.values().at(i).toList());
         SET_TABVIEWNAME(i)->setModel(SET_TABMODELNAME(i));
@@ -142,7 +145,7 @@ QTabWidget *ModelViewTable::createTabWidget(QMap<QString, QSet<QString>> corrEle
 
 QMap<QString, QSet<QString>> ModelViewTable::getTabWidgetHeaderLabel(int currentStackWidgetPage)
 {
-    QString                      tabElement;
+    QString tabElement;
     QMap<QString, QSet<QString>> corrElements;
     for (auto temp : datas) {
         QStringList oneList = (temp->node).split(".");
@@ -154,7 +157,9 @@ QMap<QString, QSet<QString>> ModelViewTable::getTabWidgetHeaderLabel(int current
                 QStringList twoList = (nextTmp->node).split(".");
                 if ((currentStackWidgetPage + 2) == twoList.length()) {
                     QStringList nextList = (nextTmp->node).split(".");
-                    if (IsQStringListEqual(tabList, nextList)) { elements << nextTmp->abscissa; }
+                    if (IsQStringListEqual(tabList, nextList)) {
+                        elements << nextTmp->abscissa;
+                    }
                 }
             }
             corrElements.insert(tabElement, elements);
@@ -169,16 +174,16 @@ QMap<QString, QSet<QString>> ModelViewTable::getTabWidgetHeaderLabel(int current
 QList<NodeMatrixInfo *>
 ModelViewTable::getTableViewContent(QMap<int, QMap<QString, QStandardItemModel *>> pageTabAndCorrTables)
 {
-    QList<int>                                 pages       = pageTabAndCorrTables.keys();
+    QList<int> pages                                       = pageTabAndCorrTables.keys();
     QList<QMap<QString, QStandardItemModel *>> tabAndTable = pageTabAndCorrTables.values();
 
     for (int i = 0; i < pages.length(); i++) {
         int page = pages.at(i);
         if (page == 0) {
             QMap<QString, QStandardItemModel *> tmpTabAndTable = tabAndTable[0];
-            QStandardItemModel *                tmpModel       = tmpTabAndTable.values()[0];
-            QString                             rowHeaderLabels;
-            QString                             colHeaderLabels;
+            QStandardItemModel *tmpModel                       = tmpTabAndTable.values()[0];
+            QString rowHeaderLabels;
+            QString colHeaderLabels;
             for (int rowlen = 0; rowlen < tmpModel->rowCount(); rowlen++) {
                 rowHeaderLabels = tmpModel->headerData(rowlen, Qt::Vertical).toString();
                 for (int collen = 0; collen < tmpModel->columnCount(); collen++) {
@@ -199,12 +204,12 @@ ModelViewTable::getTableViewContent(QMap<int, QMap<QString, QStandardItemModel *
             }
         } else {
             QMap<QString, QStandardItemModel *> tmpTabAndTable = tabAndTable[i];
-            QList<QString>                      tabNames       = tmpTabAndTable.keys();
-            QList<QStandardItemModel *>         modelNames     = tmpTabAndTable.values();
-            QString                             rowHeaderLabels;
-            QString                             colHeaderLabels;
+            QList<QString> tabNames                            = tmpTabAndTable.keys();
+            QList<QStandardItemModel *> modelNames             = tmpTabAndTable.values();
+            QString rowHeaderLabels;
+            QString colHeaderLabels;
             for (int tabIndex = 0; tabIndex < tabNames.length(); tabIndex++) {
-                QString             tabName   = tabNames[tabIndex];
+                QString tabName               = tabNames[tabIndex];
                 QStandardItemModel *modelName = modelNames[tabIndex];
                 for (int rowlen = 0; rowlen < modelName->rowCount(); rowlen++) {
                     rowHeaderLabels = modelName->headerData(rowlen, Qt::Vertical).toString();
@@ -246,19 +251,19 @@ ModelViewTable::getTableViewContent(QMap<int, QMap<QString, QStandardItemModel *
     return datas;
 }
 
-void ModelViewTable::setTableWidgetContent(QList<NodeMatrixInfo *>                        datas,
+void ModelViewTable::setTableWidgetContent(QList<NodeMatrixInfo *> datas,
                                            QMap<int, QMap<QString, QStandardItemModel *>> pageTabAndCorrTables)
 {
-    QList<int>                                 pages       = pageTabAndCorrTables.keys();
+    QList<int> pages                                       = pageTabAndCorrTables.keys();
     QList<QMap<QString, QStandardItemModel *>> tabAndTable = pageTabAndCorrTables.values();
 
     for (int i = 0; i < pages.length(); i++) {
         int page = pages.at(i);
         if (page == 0) {
             QMap<QString, QStandardItemModel *> tmpTabAndTable = tabAndTable[0];
-            QStandardItemModel *                tmpModel       = tmpTabAndTable.values()[0];
-            QString                             rowHeaderLabels;
-            QString                             colHeaderLabels;
+            QStandardItemModel *tmpModel                       = tmpTabAndTable.values()[0];
+            QString rowHeaderLabels;
+            QString colHeaderLabels;
             for (int rowlen = 0; rowlen < tmpModel->rowCount(); rowlen++) {
                 rowHeaderLabels = tmpModel->headerData(rowlen, Qt::Vertical).toString();
                 for (int collen = 0; collen < tmpModel->columnCount(); collen++) {
@@ -280,12 +285,12 @@ void ModelViewTable::setTableWidgetContent(QList<NodeMatrixInfo *>
             }
         } else {
             QMap<QString, QStandardItemModel *> tmpTabAndTable = tabAndTable[i];
-            QList<QString>                      tabNames       = tmpTabAndTable.keys();
-            QList<QStandardItemModel *>         modelNames     = tmpTabAndTable.values();
-            QString                             rowHeaderLabels;
-            QString                             colHeaderLabels;
+            QList<QString> tabNames                            = tmpTabAndTable.keys();
+            QList<QStandardItemModel *> modelNames             = tmpTabAndTable.values();
+            QString rowHeaderLabels;
+            QString colHeaderLabels;
             for (int tabIndex = 0; tabIndex < tabNames.length(); tabIndex++) {
-                QString             tabName   = tabNames[tabIndex];
+                QString tabName               = tabNames[tabIndex];
                 QStandardItemModel *modelName = modelNames[tabIndex];
                 for (int rowlen = 0; rowlen < modelName->rowCount(); rowlen++) {
                     rowHeaderLabels = modelName->headerData(rowlen, Qt::Vertical).toString();
@@ -342,7 +347,9 @@ bool ModelViewTable::IsTableEmpty(QStandardItemModel *tableModel)
 bool ModelViewTable::IsQStringListEqual(QStringList tabList, QStringList nextList)
 {
     for (int i = 0; i < nextList.length() - 1; i++) {
-        if (tabList[i] != nextList[i]) { return false; }
+        if (tabList[i] != nextList[i]) {
+            return false;
+        }
     }
     return true;
 }