From 54694f6425150d80337b10691fd0c4c55054bd8d Mon Sep 17 00:00:00 2001 From: baiYue Date: Fri, 25 Jul 2025 19:07:14 +0800 Subject: [PATCH] add diagram wizard bus setting ui --- diagramCavas/CMakeLists.txt | 6 + .../diagramEditor/diagramEditorBaseBlock.h | 68 ++++++++++ .../diagramEditorStructContainer.h | 24 ++++ .../diagramEditor/diagramEditorWizard.h | 9 +- .../diagramEditor/wizardBayContentDlg.h | 22 +++ .../include/graphicsItem/graphicsBaseItem.h | 2 +- .../diagramEditor/diagramEditorBaseBlock.cpp | 85 ++++++++++++ .../diagramEditorStructContainer.cpp | 22 +++ .../diagramEditor/diagramEditorWizard.cpp | 126 +++++++++++++++++- .../diagramEditor/wizardBayContentDlg.cpp | 74 ++++++++++ .../graphicsDataModel/fixedPortsModel.cpp | 4 +- 11 files changed, 433 insertions(+), 9 deletions(-) create mode 100644 diagramCavas/include/diagramEditor/diagramEditorBaseBlock.h create mode 100644 diagramCavas/include/diagramEditor/diagramEditorStructContainer.h create mode 100644 diagramCavas/include/diagramEditor/wizardBayContentDlg.h create mode 100644 diagramCavas/source/diagramEditor/diagramEditorBaseBlock.cpp create mode 100644 diagramCavas/source/diagramEditor/diagramEditorStructContainer.cpp create mode 100644 diagramCavas/source/diagramEditor/wizardBayContentDlg.cpp diff --git a/diagramCavas/CMakeLists.txt b/diagramCavas/CMakeLists.txt index c386db1..0cf7331 100644 --- a/diagramCavas/CMakeLists.txt +++ b/diagramCavas/CMakeLists.txt @@ -34,6 +34,9 @@ set(DIAGRAMCAVAS_HEADER_FILES include/diagramEditor/editBaseStruct.h include/diagramEditor/diagramEditorWizard.h include/diagramEditor/wizardBusTableDelegate.h + include/diagramEditor/wizardBayContentDlg.h + include/diagramEditor/diagramEditorBaseBlock.h + include/diagramEditor/diagramEditorStructContainer.h include/graphicsDataModel/baseModel.h include/graphicsDataModel/fixedPortsModel.h include/graphicsItem/electricConnectLineItem.h @@ -105,6 +108,9 @@ set(DIAGRAMCAVAS_SOURCE_FILES source/diagramEditor/editBaseStruct.cpp source/diagramEditor/diagramEditorWizard.cpp source/diagramEditor/wizardBusTableDelegate.cpp + source/diagramEditor/wizardBayContentDlg.cpp + source/diagramEditor/diagramEditorBaseBlock.cpp + source/diagramEditor/diagramEditorStructContainer.cpp source/graphicsDataModel/baseModel.cpp source/graphicsDataModel/fixedPortsModel.cpp source/graphicsItem/electricConnectLineItem.cpp diff --git a/diagramCavas/include/diagramEditor/diagramEditorBaseBlock.h b/diagramCavas/include/diagramEditor/diagramEditorBaseBlock.h new file mode 100644 index 0000000..b3d91ac --- /dev/null +++ b/diagramCavas/include/diagramEditor/diagramEditorBaseBlock.h @@ -0,0 +1,68 @@ +#ifndef DIAGRAMEDITORBASEBLOCK_H +#define DIAGRAMEDITORBASEBLOCK_H + +//组态编辑基础块(分段母线、间隔等) +#include +#include "global.h" + +class DiagramEditorStructContainer; + +class DiagramEditorBaseBlock: public QObject +{ + Q_OBJECT +public: + DiagramEditorBaseBlock(QObject *parent = 0); + virtual ~DiagramEditorBaseBlock() = 0; + virtual void setName(const QString& str) {sName = str;} + virtual QString getName() {return sName;} + virtual void setType(int n) {nType = n;} + virtual int getType() {return nType;} + virtual void addConnect(const QString&,int nType); //与目标建立连接 + virtual void addConnect(DiagramEditorBriefConnect); //直接添加连接 + virtual void removeConnect(const QString&); + virtual void removeConnect(DiagramEditorBriefConnect); + virtual QList getConnect() {return lstCon;} + virtual void clearConnect() {lstCon.clear();} + virtual void setCurContainer(DiagramEditorStructContainer* p) {_curContainer = p;} + virtual DiagramEditorStructContainer* getCurContainer() {return _curContainer;} +protected: + QString sName; + int nType; //1母线,2间隔 + QList lstCon; //连接信息 + DiagramEditorStructContainer* _curContainer; //当前所处的容器 +}; + +/***************************划分后的分段bus单元****************************/ +class DiagramEditorBusBlock:public DiagramEditorBaseBlock +{ + Q_OBJECT +public: + DiagramEditorBusBlock(QObject *parent = 0); + virtual ~DiagramEditorBusBlock(); + virtual void setVoltage(float f) { fVoltage = f;} + virtual float getVoltage() {return fVoltage;} + virtual void setBusType(int n) {nBusType = n;} + virtual int getBusType() {return nBusType;} + virtual void setIndex(int n) {nIndex = n;} + virtual int getIndex() {return nIndex;} + virtual void setBusPro(QString sNa,int nTp,float fVol,int nBT,int nIdx) {sName = sNa;nType = nTp;fVoltage = fVol;nBusType = nBT;nIndex = nIdx;} +protected: + float fVoltage; //母线电压 + int nBusType; //0无前缀,1:Ⅰ母,2Ⅱ母 + int nIndex; //第几段,1A,2B,3C,4D,5E,6F,7G,8H +}; + +/***************************bay单元****************************/ +class DiagramEditorBayBlock:public DiagramEditorBaseBlock +{ + Q_OBJECT +public: + DiagramEditorBayBlock(QObject *parent = 0); + virtual ~DiagramEditorBayBlock(); + virtual void setBayType(BayType typ) {nBayType = typ;} + virtual BayType getBayType() {return nBayType;} +protected: + BayType nBayType; +}; + +#endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorStructContainer.h b/diagramCavas/include/diagramEditor/diagramEditorStructContainer.h new file mode 100644 index 0000000..7d3c9ef --- /dev/null +++ b/diagramCavas/include/diagramEditor/diagramEditorStructContainer.h @@ -0,0 +1,24 @@ +#ifndef DIAGRAMEDITORSTRUCTCONTAINER_H +#define DIAGRAMEDITORSTRUCTCONTAINER_H + +//组态划分后结构的容器,可包含分段母线及间隔、独立间隔、变压器等,以确定组态图空间结构 +#include +#include +#include "global.h" + +class DiagramEditorBaseBlock; + +class DiagramEditorStructContainer : public QObject +{ + Q_OBJECT +public: + DiagramEditorStructContainer(QObject *parent = 0); + virtual ~DiagramEditorStructContainer(); +public: + bool insertBlock(int,DiagramEditorBaseBlock*); + auto& getBlockMap() {return _mapBlocks;} +private: + QMap> _mapBlocks; //容器中包含的对象列表, pos当前容器中的位置:0上,1中上,2中下,3下 +}; + +#endif diff --git a/diagramCavas/include/diagramEditor/diagramEditorWizard.h b/diagramCavas/include/diagramEditor/diagramEditorWizard.h index dbd9965..2ba76d2 100644 --- a/diagramCavas/include/diagramEditor/diagramEditorWizard.h +++ b/diagramCavas/include/diagramEditor/diagramEditorWizard.h @@ -8,6 +8,9 @@ QT_BEGIN_NAMESPACE namespace Ui { class diagramEditorWizard; } QT_END_NAMESPACE +class WizardBayContentDlg; +class DiagramEditorBaseBlock; +class DiagramEditorStructContainer; class DiagramEditorWizard : public QDialog { @@ -38,7 +41,11 @@ private: template void reindexQMap(QMap &map); //重新排序函数 private: Ui::diagramEditorWizard *ui; - QMap _mapBus; //母线信息 + BiDirectionalMap _divideType; //划分段数名对照 + WizardBayContentDlg* _bayContentDlg; + QMap _mapBus; //母线信息 + + QMap> _mapSturctContainer; //划分后的区块 bool _busPageChanged; //母线页改变 }; diff --git a/diagramCavas/include/diagramEditor/wizardBayContentDlg.h b/diagramCavas/include/diagramEditor/wizardBayContentDlg.h new file mode 100644 index 0000000..2659a0f --- /dev/null +++ b/diagramCavas/include/diagramEditor/wizardBayContentDlg.h @@ -0,0 +1,22 @@ +#ifndef WIZARDBAYCONTENTDLG_H +#define WIZARDBAYCONTENTDLG_H + +//向导bay设置右侧table +#include +#include "global.h" + +class WizardBayContentDlg: public QTableWidget +{ + Q_OBJECT +public: + WizardBayContentDlg(QWidget *parent = 0); + virtual ~WizardBayContentDlg(); +public: + void initial(); + void addBay(DiagramEditorWizardBayInfo); + void clearData(); +private: + int _curPageIndex; +}; + +#endif diff --git a/diagramCavas/include/graphicsItem/graphicsBaseItem.h b/diagramCavas/include/graphicsItem/graphicsBaseItem.h index 27439ee..6447781 100644 --- a/diagramCavas/include/graphicsItem/graphicsBaseItem.h +++ b/diagramCavas/include/graphicsItem/graphicsBaseItem.h @@ -467,7 +467,7 @@ public: virtual ~GraphicsBaseModelItem(); virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; protected: - virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&); + virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange, const QVariant&) override; }; class GraphicsProjectModelItem : public GraphicsBaseItem //工程模item diff --git a/diagramCavas/source/diagramEditor/diagramEditorBaseBlock.cpp b/diagramCavas/source/diagramEditor/diagramEditorBaseBlock.cpp new file mode 100644 index 0000000..da79038 --- /dev/null +++ b/diagramCavas/source/diagramEditor/diagramEditorBaseBlock.cpp @@ -0,0 +1,85 @@ +#include "diagramEditor/diagramEditorBaseBlock.h" + +DiagramEditorBaseBlock::DiagramEditorBaseBlock(QObject *parent) + : QObject(parent) + ,_curContainer(nullptr) +{ + nType = 0; +} +DiagramEditorBaseBlock::~DiagramEditorBaseBlock() +{ + +} + +void DiagramEditorBaseBlock::addConnect(const QString& str,int n) +{ + if(str == sName) + return; + for(auto& con:lstCon){ + if(con.con1.sName == str || con.con2.sName == str){ //已存在不插入 + return; + } + } + + DiagramEditorBriefConnect con; + con.con1.sName = sName; //首参数为自己名 + con.con1.nType = nType; + con.con2.sName = str; + con.con2.nType = n; + + lstCon.append(con); +} + +void DiagramEditorBaseBlock::addConnect(DiagramEditorBriefConnect obj) +{ + for(auto& con:lstCon){ + if(con == obj){ //已存在不插入 + return; + } + } + lstCon.append(obj); +} + +void DiagramEditorBaseBlock::removeConnect(const QString& str) +{ + for(int i = 0;i < lstCon.size();++i){ + if(lstCon[i].con1.sName == str || lstCon[i].con2.sName == str){ + lstCon.removeAt(i); + return; + } + } +} + +void DiagramEditorBaseBlock::removeConnect(DiagramEditorBriefConnect obj) +{ + for(int i = 0;i < lstCon.size();++i){ + if(lstCon[i] == obj){ + lstCon.removeAt(i); + return; + } + } +} +/***************************划分后的分段bus单元****************************/ +DiagramEditorBusBlock::DiagramEditorBusBlock(QObject *parent) + :DiagramEditorBaseBlock(parent) +{ + fVoltage = 0.0; + nBusType = 0; + nIndex = 0; +} + +DiagramEditorBusBlock::~DiagramEditorBusBlock() +{ + +} +/***************************bay单元****************************/ +DiagramEditorBayBlock::DiagramEditorBayBlock(QObject *parent) + :DiagramEditorBaseBlock(parent) +{ + nBayType = BayType::busSectionBay; +} + +DiagramEditorBayBlock::~DiagramEditorBayBlock() +{ + +} diff --git a/diagramCavas/source/diagramEditor/diagramEditorStructContainer.cpp b/diagramCavas/source/diagramEditor/diagramEditorStructContainer.cpp new file mode 100644 index 0000000..4b2ae40 --- /dev/null +++ b/diagramCavas/source/diagramEditor/diagramEditorStructContainer.cpp @@ -0,0 +1,22 @@ +#include "diagramEditor/diagramEditorStructContainer.h" +#include "diagramEditor/diagramEditorBaseBlock.h" + +DiagramEditorStructContainer::DiagramEditorStructContainer(QObject *parent) + : QObject(parent) +{ + +} +DiagramEditorStructContainer::~DiagramEditorStructContainer() +{ +} + +bool DiagramEditorStructContainer::insertBlock(int nPos,DiagramEditorBaseBlock* p) +{ + for(auto& pBlock:_mapBlocks[nPos]){ + if(pBlock == p) + return false; + } + p->setCurContainer(this); //目标block所属container + _mapBlocks[nPos].append(p); + return true; +} diff --git a/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp b/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp index cf39aeb..9e9c275 100644 --- a/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp +++ b/diagramCavas/source/diagramEditor/diagramEditorWizard.cpp @@ -3,6 +3,9 @@ #include "diagramEditor/diagramEditorWizard.h" #include "diagramEditor/wizardBusTableDelegate.h" #include "ui_diagramEditorWizard.h" +#include "diagramEditor/wizardBayContentDlg.h" +#include "diagramEditor/diagramEditorBaseBlock.h" +#include "diagramEditor/diagramEditorStructContainer.h" DiagramEditorWizard::DiagramEditorWizard(QWidget *parent) : QDialog(parent) @@ -21,6 +24,8 @@ DiagramEditorWizard::~DiagramEditorWizard() void DiagramEditorWizard::initial() { + _bayContentDlg = new WizardBayContentDlg(this); + ui->stackedWidget->addWidget(_bayContentDlg); ui->tabWidget->tabBar()->setEnabled(false); connect(ui->btn_ok,&QPushButton::clicked,this,&DiagramEditorWizard::onOkClicked); connect(ui->btn_cancel,&QPushButton::clicked,this,&DiagramEditorWizard::onCancelClicked); @@ -44,6 +49,15 @@ void DiagramEditorWizard::initial() connect(delegate,&WizardBusTableDelegate::editingFinished,this,&DiagramEditorWizard::onDelegateFinishEdit); connect(ui->tableWidget_bus, &QTableWidget::customContextMenuRequested, this, &DiagramEditorWizard::onBusIndexRbtnClicked); + + _divideType.insert(1,"A段"); + _divideType.insert(2,"B段"); + _divideType.insert(3,"C段"); + _divideType.insert(4,"D段"); + _divideType.insert(5,"E段"); + _divideType.insert(6,"F段"); + _divideType.insert(7,"G段"); + _divideType.insert(8,"H段"); } void DiagramEditorWizard::reOrderBus() @@ -60,12 +74,114 @@ void DiagramEditorWizard::reOrderBus() void DiagramEditorWizard::generateBayPage() { - for(auto& busInfo:_mapBus) + for(auto iter = _mapBus.begin();iter != _mapBus.end();++iter) { - QListWidgetItem* item = new QListWidgetItem("第"+QString::number(busInfo.nIndex+1)+"层"); - item->setData(Qt::UserRole,busInfo.nIndex); + QListWidgetItem* item = new QListWidgetItem("第"+QString::number(iter->nIndex+1)+"层"); + item->setData(Qt::UserRole,iter->nIndex); ui->listWidget_bay->addItem(item); + QString sVoltage; //电压前缀 + sVoltage = QString::number(iter->dVoltage)+"kV"; + + if(iter->nLineType == 1){ //单母 + int nDivide = iter->mapDivide.value(0); + + for(int i = 0;i < nDivide;++i){ + QString sDivPre; //分段前缀 + if(nDivide == 1){//不划分 + } + else{ + sDivPre = _divideType.value(i+1); + } + + auto pContainer = new DiagramEditorStructContainer(this); + auto pBus = new DiagramEditorBusBlock(this); + pBus->setBusPro(sVoltage+"母线"+sDivPre,1,iter->dVoltage,0,i+1); + pContainer->insertBlock(1,pBus); + + _mapSturctContainer[iter.key()].insert(i,pContainer); + } + } + else{ //双母 + int nDivide1 = iter->mapDivide.value(0); // Ⅰ母 + int nDivide2 = iter->mapDivide.value(1); // Ⅱ母 + + if(nDivide1 == nDivide2){ //双母线划分相同 + for(int i = 0;i < nDivide1;++i){ + QString sDivPre; //分段前缀 + if(nDivide1 == 1){//不划分 + } + else{ + sDivPre = _divideType.value(i+1); + } + + auto pContainer = new DiagramEditorStructContainer(this); + + auto pBus1 = new DiagramEditorBusBlock(this); + pBus1->setBusPro(sVoltage+"Ⅰ母"+sDivPre,1,iter->dVoltage,1,i+1); + pContainer->insertBlock(1,pBus1); + + auto pBus2 = new DiagramEditorBusBlock(this); + pBus2->setBusPro(sVoltage+"Ⅱ母"+sDivPre,1,iter->dVoltage,2,i+1); + + pContainer->insertBlock(2,pBus2); + _mapSturctContainer[iter.key()].insert(i,pContainer); + } + } + else{ //双母线划分不同 + if(nDivide1 > nDivide2){ //2母段数少于1母 + for(int i = 0;i < nDivide1;++i){ + QString sDivPre1 = _divideType.value(i+1); //分段前缀 + + auto pContainer = new DiagramEditorStructContainer(this); + + auto pBus1 = new DiagramEditorBusBlock(this); + pBus1->setBusPro(sVoltage+"Ⅰ母"+sDivPre1,1,iter->dVoltage,1,i+1); + pContainer->insertBlock(1,pBus1); + + if(i < nDivide2){ + QString sDivPre2; + if(nDivide2 == 1){//不划分 + } + else{ + sDivPre2 = _divideType.value(i+1); + } + + auto pBus2 = new DiagramEditorBusBlock(this); + pBus2->setBusPro(sVoltage+"Ⅱ母"+sDivPre2,1,iter->dVoltage,2,i+1); + pContainer->insertBlock(2,pBus2); + } + + _mapSturctContainer[iter.key()].insert(i,pContainer); + } + } + else{ + for(int i = 0;i < nDivide2;++i){ //1母段数少于2母 + QString sDivPre2 = _divideType.value(i+1); //分段前缀 + + auto pContainer = new DiagramEditorStructContainer(this); + auto pBus2 = new DiagramEditorBusBlock(this); + pBus2->setBusPro(sVoltage+"Ⅱ母"+sDivPre2,1,iter->dVoltage,2,i+1); + pContainer->insertBlock(2,pBus2); + + if(i < nDivide1){ + QString sDivPre1; + if(nDivide1 == 1){//不划分 + } + else{ + sDivPre1 = _divideType.value(i+1); + } + + auto pBus1 = new DiagramEditorBusBlock(this); + pBus1->setBusPro(sVoltage+"Ⅰ母"+sDivPre1,1,iter->dVoltage,1,i+1); + pContainer->insertBlock(1,pBus1); + } + + _mapSturctContainer[iter.key()].insert(i,pContainer); + } + } + } + } } } @@ -156,7 +272,7 @@ void DiagramEditorWizard::onAddBusClicked() QTableWidgetItem* connectItem = new QTableWidgetItem("未选择"); ui->tableWidget_bus->setItem(row, 4, connectItem); - DiagramEditorBusInfo info; + DiagramEditorWizardBusInfo info; info.nIndex = row; _mapBus.insert(row,info); } @@ -231,7 +347,7 @@ void DiagramEditorWizard::onBusDeleteClicked() QModelIndex indexName = index.sibling(index.row(),0); int nIndex = indexName.data(Qt::UserRole).toInt(); if(_mapBus.contains(nIndex)){ - DiagramEditorBusInfo info = _mapBus.take(nIndex); + DiagramEditorWizardBusInfo info = _mapBus.take(nIndex); } int currentRow = ui->tableWidget_bus->currentRow(); diff --git a/diagramCavas/source/diagramEditor/wizardBayContentDlg.cpp b/diagramCavas/source/diagramEditor/wizardBayContentDlg.cpp new file mode 100644 index 0000000..42f5c05 --- /dev/null +++ b/diagramCavas/source/diagramEditor/wizardBayContentDlg.cpp @@ -0,0 +1,74 @@ +#include "diagramEditor/wizardBayContentDlg.h" +#include + +WizardBayContentDlg::WizardBayContentDlg(QWidget *parent) + : QTableWidget(parent) +{ + initial(); +} + +WizardBayContentDlg::~WizardBayContentDlg() +{ +} + +void WizardBayContentDlg::initial() +{ + _curPageIndex = 0; + QStringList headerText; + headerText<<"间隔名称"<<"间隔类型"<<"连接对象"; + setContextMenuPolicy(Qt::CustomContextMenu); + setSelectionMode(QAbstractItemView::SingleSelection); + setSelectionBehavior(QAbstractItemView::SelectRows); + setColumnCount(headerText.count()); + setHorizontalHeaderLabels(headerText); + horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); +} + +void WizardBayContentDlg::addBay(DiagramEditorWizardBayInfo obj) +{ + int row = rowCount(); + insertRow(row); + + //名称 + QTableWidgetItem* nameItem = new QTableWidgetItem(obj.sName); + setItem(row, 0, nameItem); + + QString sType; + switch (obj.nType) {//0分段间隔,1母联间隔,2pt间隔,3进线间隔,4出线间隔,5无功补偿间隔,6旁路间隔 + case BayType::busSectionBay: + sType = "分段间隔"; + break; + case BayType::busCouplerBay: + sType = "母联间隔"; + break; + case BayType::ptBay: + sType = "pt间隔"; + break; + case BayType::incomingBay: + sType = "进线间隔"; + break; + case BayType::outcomingBay: + sType = "出线间隔"; + break; + case BayType::compensationBay: + sType = "无功补偿间隔"; + break; + case BayType::bypassBay: + sType = "旁路间隔"; + break; + default: + break; + } + //类型 + QTableWidgetItem* typeItem = new QTableWidgetItem(sType); + setItem(row, 1, typeItem); + + // 主接线 + QTableWidgetItem* connectItem = new QTableWidgetItem(obj.lstBindObj.join("、")); + setItem(row, 2, connectItem); +} + +void WizardBayContentDlg::clearData() +{ + clear(); +} diff --git a/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp b/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp index dc0a080..f87f7de 100644 --- a/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp +++ b/diagramCavas/source/graphicsDataModel/fixedPortsModel.cpp @@ -515,7 +515,7 @@ void FixedPortsModel::saveNode(int nPageId) QJsonObject objIns= turnListToJson(pBay->getLstInstruct(),"id","ids"); QJsonObject objEtc= turnListToJson(pBay->getLstEtc(),"id","ids"); - DataBase::GetInstance()->insertBay(pBay->uuid(),pBay->name(),pBay->getType(),pBay->getVoltage(),pBay->getFla(),pBay->getCapacity(),"1",pBay->getInService(),0,"1","1","1",QJsonObject(),objFrom,objTo,objProtec,objFalRec,objStatus,objDynSen,objIns,objEtc,pBay->getLstComponent()); + DataBase::GetInstance()->insertBay(pBay->uuid(),pBay->name(),pBay->getType(),pBay->getVoltage(),pBay->getFla(),pBay->getCapacity(),"1",pBay->getInService(),0,"1","1","1",QJsonObject(),objFrom,objTo,objProtec,objFalRec,objStatus,objDynSen,objIns,objEtc,pBay->getLstComponent(),QJsonObject()); } else{ QJsonObject objFrom = turnListToJson(pBay->getLstFrom(),"id","ids"); @@ -527,7 +527,7 @@ void FixedPortsModel::saveNode(int nPageId) QJsonObject objIns= turnListToJson(pBay->getLstInstruct(),"id","ids"); QJsonObject objEtc= turnListToJson(pBay->getLstEtc(),"id","ids"); - DataBase::GetInstance()->updateBay(pBay->uuid(),pBay->name(),pBay->getVoltage(),pBay->getFla(),pBay->getCapacity(),"",pBay->getInService(),0,QJsonObject(),objFrom,objTo,objProtec,objFalRec,objStatus,objDynSen,objIns,objEtc,pBay->getLstComponent()); + DataBase::GetInstance()->updateBay(pBay->uuid(),pBay->name(),pBay->getVoltage(),pBay->getFla(),pBay->getCapacity(),"",pBay->getInService(),0,QJsonObject(),objFrom,objTo,objProtec,objFalRec,objStatus,objDynSen,objIns,objEtc,pBay->getLstComponent(),QJsonObject()); } } }