浏览代码

V1.4.1
1、新增了修改模板名称的功能

apple 2 周之前
父节点
当前提交
5692d9dd12

+ 9 - 0
SwitchOnOff.sql

@@ -50,6 +50,15 @@ VALUES ('模版1', '2', '1', '2025-02-09', '09:00:00', '1', '2025-02-09', '09:00
 INSERT INTO "tExecPlanTemplate" ("TemplateName", "ChannelID", "ChannelName", "OnWeekDay", "OnDate", "OnTime", "OffWeekDay", "OffDate", "OffTime")
 VALUES (:templateName, :channelID, :channelName, :onWeekDay, :onDate, :onTime, :offWeekDay, :offDate, :offTime);
 
+#更新模板名称
+UPDATE "tExecPlanTemplate"
+SET "TemplateName" = :newTemplateName
+WHERE "TemplateName" = :oldTemplateName AND ChannelID = :channelID;
+
+
+
+
+
 
 #删除表格中的所有数据
 DELETE

+ 3 - 0
TransmitterSwitch/Template/previewplan.cpp

@@ -21,6 +21,9 @@ PreviewPlan::PreviewPlan(QWidget *parent) :
 {
     ui->setupUi(this);
 
+    /* 设置大小 */
+    this->resize(600, 800);
+
     /* 设置隐藏边框 */
     this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
     /* 设置底层样式表 */

+ 23 - 1
TransmitterSwitch/Template/templatemanager.cpp

@@ -9,6 +9,7 @@
 #include <QPainter>
 #include <QMouseEvent>
 #include <memory>
+#include <qchar.h>
 
 #include "warning/warning.h"
 #include "LHQLogAPI.h"
@@ -83,6 +84,7 @@ TemplateManager::TemplateManager(QWidget *parent) :
     connect(ui->pBtn_cancel,SIGNAL(clicked()),this,SLOT(close()));
     connect(ui->pBtn_ok,SIGNAL(clicked()),this,SLOT(do_ok()));
     connect(ui->tableWidget, &QTableWidget::cellClicked, this, &TemplateManager::do_clickedItem);
+    connect(ui->tableWidget, &QTableWidget::itemChanged, this, &TemplateManager::do_itemChanged);
 
     /* 注册事件过滤器 */
     ui->pBtn_close->installEventFilter(this);
@@ -136,6 +138,23 @@ void TemplateManager::do_clickedItem(int row, int column)
     ui->tableWidget->repaint();
 }
 
+/* 单元格内容改变了 */
+void TemplateManager::do_itemChanged(QTableWidgetItem* item)
+{
+    /* 获取新模版名称 */
+    QString newName = item->text();
+    /* 获取旧模版名称 */
+    OneTemplateInfo info;
+    info.templateName = item->data(m_roleTemplateName).toString();
+    info.channelInfo.ChannelID = item->data(m_roleChnID).toInt();
+    /* 判断是否修改了模版名称 */
+    if(newName != info.templateName)
+    {
+        /* 修改模版名称 */
+        m_mapModifyTemplateName.insert(info, newName);
+    }
+}
+
 
 /* 显示事件 */
 void TemplateManager::showEvent(QShowEvent *event)
@@ -211,11 +230,14 @@ void TemplateManager::createRow(const OneTemplateInfo& info)
     /* 设置行高 */
     ui->tableWidget->setRowHeight(row, 40);
 
+    /* 频率名称 */
     QTableWidgetItem* item0 = new QTableWidgetItem(info.channelInfo.ChannelName);
     item0->setData(m_roleChnID, info.channelInfo.ChannelID);
     ui->tableWidget->setItem(row, 0, item0);
-
+    /* 模板名称,需要可编辑 */
     QTableWidgetItem* item1 = new QTableWidgetItem(info.templateName, Qt::EditRole);
+    item1->setFlags(item1->flags() | Qt::ItemIsEditable);
+    item1->setData(m_roleChnID, info.channelInfo.ChannelID);
     item1->setData(m_roleTemplateName, info.templateName);
     ui->tableWidget->setItem(row, 1, item1);
 

+ 7 - 1
TransmitterSwitch/Template/templatemanager.h

@@ -4,6 +4,8 @@
 #include <QDialog>
 #include <QCheckBox>
 #include <QTableWidgetItem>
+#include <qchar.h>
+#include <qmap.h>
 
 class TemplateItem;
 class OneTemplateInfo;
@@ -28,6 +30,8 @@ public:
     QList<OneTemplateInfo>& getDeleteTemplateList() { return m_listDeleteTemplate; }
     /* 获取已修改的模版列表 */
     QMap<OneTemplateInfo, QList<OnePlanItemInfo>>& getModifyTemplateList() { return m_mapModifyTemplate; }
+    /* 获取修改名称的列表 */
+    QMap<OneTemplateInfo, QString>& getModifyTemplateNameList() { return m_mapModifyTemplateName; }
 
     /* 设置模版列表 */
     void setTemplateList(const QMultiMap<int, OneTemplateInfo>& mapTemplate);
@@ -55,6 +59,8 @@ private slots:
     void do_ok();
     /* 点击了一个单元格 */
     void do_clickedItem(int row, int column);
+    /* 单元格内容改变了 */
+    void do_itemChanged(QTableWidgetItem* item);
 
 protected:
     /* 显示事件 */
@@ -87,7 +93,7 @@ private:
 
     QList<OneTemplateInfo> m_listDeleteTemplate;        /* 删除的模版列表 */
     QMap<OneTemplateInfo, QList<OnePlanItemInfo>> m_mapModifyTemplate; /* 修改的模版列表 */
-
+    QMap<OneTemplateInfo, QString> m_mapModifyTemplateName; /* 修改的模版名称,OneTemplateInfo中的是原名,QString中的是新模板名字 */
 };
 
 #endif // TEMPLATEMANAGER_H

+ 45 - 1
TransmitterSwitch/WebAPI/FromWebAPI.cpp

@@ -1292,7 +1292,7 @@ bool FromWebAPI::deleteTemplateList(const QList<OneTemplateInfo>& listTemplate)
     }
 
     /* 打印生成的JSON */
-    LH_WRITE_LOG_DEBUG(QString::fromStdString(json0.dump(4)));
+    // LH_WRITE_LOG_DEBUG(QString::fromStdString(json0.dump(4)));
 
     QString strCmd = QString::fromStdString(json0.dump());
     QString strRet;
@@ -1349,3 +1349,47 @@ bool FromWebAPI::modifyTemplateList(const QMap<OneTemplateInfo, QList<OnePlanIte
     return true;
 }
 
+/**
+ * @brief 更新模板名称
+ * 
+ * @param mapTemplateName 
+ * @return true 
+ * @return false 
+ */
+bool FromWebAPI::updateTemplateName(const QMap<OneTemplateInfo, QString>& mapTemplateName)
+{
+    if(m_httpApi == nullptr)
+    {
+        LH_WRITE_ERROR("WebAPI is nullptr");
+        return false;
+    }
+    nJson json0 = nJson::array();
+    for(auto it = mapTemplateName.begin(), end = mapTemplateName.end(); it != end; it++)
+    {
+        nJson json1;
+        json1["opName"] = "TMS_UpdateExecPlanTemplateName";
+        json1["Key"] = QUuid::createUuid().toString().toStdString();
+        nJson json2;
+        json2["channelID"] = it.key().channelInfo.ChannelID;
+        json2["oldTemplateName"] = it.key().templateName.toStdString();
+        json2["newTemplateName"] = it.value().toStdString();
+        json1["paramList"] = json2;
+        json0.push_back(json1);
+    }
+
+    /* 打印生成的JSON */
+    // LH_WRITE_LOG_DEBUG(QString::fromStdString(json0.dump(4)));
+
+    QString strCmd = QString::fromStdString(json0.dump());
+    QString strRet;
+    auto ret = m_httpApi->DBDoInterface(enDBOperatorType::EDBOT_BatchTransAction, strCmd, strRet, true);
+    if(ret != 0)
+    {
+        LH_WRITE_ERROR(QString("更新模板名称失败:%1, 错误信息:%2").arg(ret).arg(m_httpApi->DoGetLastError(&ret)));
+        return false;
+    }
+    // LH_WRITE_LOG_DEBUG(strRet);
+
+    return true;
+}
+

+ 2 - 0
TransmitterSwitch/WebAPI/FromWebAPI.h

@@ -64,6 +64,8 @@ public:
     bool modifyTemplate(const OneTemplateInfo& info, QList<OnePlanItemInfo>& list);
     /* 批量修改模版 */
     bool modifyTemplateList(const QMap<OneTemplateInfo, QList<OnePlanItemInfo>>& mapTemplate);
+    /* 更新模板名称 */
+    bool updateTemplateName(const QMap<OneTemplateInfo, QString>& mapTemplateName);
 
 private:
 

+ 9 - 0
TransmitterSwitch/transmitterswitch.cpp

@@ -649,6 +649,15 @@ void TransmitterSwitch::do_pBtnManageTemplate()
         TipWidget::display(TipWidget::OPERATOR_FAIL, "修改模版失败", this);
         isSuccess = false;
     }
+
+    /* 更新模板名称 */
+    auto mapTmpName = tm->getModifyTemplateNameList();
+    if(!m_fromWebAPI->updateTemplateName(mapTmpName))
+    {
+        LH_WRITE_ERROR("修改模版名称失败");
+        TipWidget::display(TipWidget::OPERATOR_FAIL, "修改模版名称失败", this);
+        isSuccess = false;
+    }
     
     if(isSuccess)
     {