add process of double measurement
This commit is contained in:
parent
7c61e7d8e1
commit
cccac84f10
|
|
@ -928,7 +928,35 @@ struct MeasurementInfo //量测
|
||||||
int nPolarity; //极性
|
int nPolarity; //极性
|
||||||
int nIndex; //对应绕组序号
|
int nIndex; //对应绕组序号
|
||||||
|
|
||||||
QString sSymmetry; //对称量测的tag
|
QString sSymmetry; //对称量测的name
|
||||||
|
};
|
||||||
|
|
||||||
|
// 定义比较键的结构
|
||||||
|
struct MeasurementKey {
|
||||||
|
int nSource;
|
||||||
|
QString sStation;
|
||||||
|
QString sDevice;
|
||||||
|
QString sChannel;
|
||||||
|
int nPacket;
|
||||||
|
int nOffset;
|
||||||
|
|
||||||
|
MeasurementKey(const MeasurementInfo& info)
|
||||||
|
: nSource(info.nSource)
|
||||||
|
, sStation(info.sStation)
|
||||||
|
, sDevice(info.sDevice)
|
||||||
|
, sChannel(info.sChannel)
|
||||||
|
, nPacket(info.nPacket)
|
||||||
|
, nOffset(info.nOffset) {}
|
||||||
|
|
||||||
|
// 用于QMap排序
|
||||||
|
bool operator<(const MeasurementKey& other) const {
|
||||||
|
if (nSource != other.nSource) return nSource < other.nSource;
|
||||||
|
if (sStation != other.sStation) return sStation < other.sStation;
|
||||||
|
if (sDevice != other.sDevice) return sDevice < other.sDevice;
|
||||||
|
if (sChannel != other.sChannel) return sChannel < other.sChannel;
|
||||||
|
if (nPacket != other.nPacket) return nPacket < other.nPacket;
|
||||||
|
return nOffset < other.nOffset;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//属性其他参数与层级关系
|
//属性其他参数与层级关系
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,7 @@ private:
|
||||||
QString removeSuffix(const QString& str); //移除最后一个下划线后的内容 (处理各种tag后缀)
|
QString removeSuffix(const QString& str); //移除最后一个下划线后的内容 (处理各种tag后缀)
|
||||||
ModelProperty* getItemByUid(QList<GraphicsBaseItem*>,QUuid); //返回uid对应的data
|
ModelProperty* getItemByUid(QList<GraphicsBaseItem*>,QUuid); //返回uid对应的data
|
||||||
void updateMonitor(QMap<QString,QMap<quint64,double>>); //使用当前数据更新运行时
|
void updateMonitor(QMap<QString,QMap<quint64,double>>); //使用当前数据更新运行时
|
||||||
|
void assignMeasureSymmetry(QMap<QString, MeasurementInfo>& measurementMap); //设置量测中互为double的name
|
||||||
private:
|
private:
|
||||||
|
|
||||||
QMap<QUuid,GraphicsProjectModelItem*> _nodeItem; //工程模对象
|
QMap<QUuid,GraphicsProjectModelItem*> _nodeItem; //工程模对象
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QButtonGroup>
|
#include <QButtonGroup>
|
||||||
|
#include "global.h"
|
||||||
/*******************************************************
|
/*******************************************************
|
||||||
间隔信息
|
间隔信息
|
||||||
********************************************************/
|
********************************************************/
|
||||||
|
|
@ -11,11 +12,6 @@ namespace Ui { class measureSettingDlg; }
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
class BayInfoDlg;
|
class BayInfoDlg;
|
||||||
struct MeasurementInfo;
|
|
||||||
struct HttpRecommandInfo;
|
|
||||||
struct propertyStateInfo;
|
|
||||||
struct CtExtraInfo;
|
|
||||||
struct PtExtraInfo;
|
|
||||||
|
|
||||||
class MeasureSettingDlg : public QDialog
|
class MeasureSettingDlg : public QDialog
|
||||||
{
|
{
|
||||||
|
|
@ -27,7 +23,7 @@ public:
|
||||||
void initial();
|
void initial();
|
||||||
void setBay(BayInfoDlg* p) {_pBay = p;}
|
void setBay(BayInfoDlg* p) {_pBay = p;}
|
||||||
void showDlg(int type,propertyStateInfo,bool isDouble = false);
|
void showDlg(int type,propertyStateInfo,bool isDouble = false);
|
||||||
void showDlg(MeasurementInfo,propertyStateInfo,bool isDouble = false); //修改
|
void showDlg(MeasurementInfo,propertyStateInfo,bool isDouble = false,MeasurementInfo symmetryInfo = MeasurementInfo()); //修改
|
||||||
public slots:
|
public slots:
|
||||||
void onOkClicked();
|
void onOkClicked();
|
||||||
void onCancelClicked();
|
void onCancelClicked();
|
||||||
|
|
|
||||||
|
|
@ -93,6 +93,7 @@ void BayInfoDlg::setPropertyValue(QVariant var)
|
||||||
}
|
}
|
||||||
|
|
||||||
auto map = property->getMeasurement();
|
auto map = property->getMeasurement();
|
||||||
|
|
||||||
for(auto& info:map){
|
for(auto& info:map){
|
||||||
addMeasure(info);
|
addMeasure(info);
|
||||||
}
|
}
|
||||||
|
|
@ -210,7 +211,7 @@ void BayInfoDlg::setPropertyValue(QVariant var)
|
||||||
void BayInfoDlg::setUi()
|
void BayInfoDlg::setUi()
|
||||||
{
|
{
|
||||||
QStringList headerText;
|
QStringList headerText;
|
||||||
headerText<<"TAG"<<"名称"<<"设备"<<"端子"<<"类型"<<"SIZE";
|
headerText<<"TAG"<<"名称"<<"设备"<<"端子"<<"类型"<<"SIZE"<<"事件"<<"double";
|
||||||
ui->tableWidget_local->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->tableWidget_local->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
ui->tableWidget_local->setSelectionMode(QAbstractItemView::SingleSelection);
|
ui->tableWidget_local->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
ui->tableWidget_local->setSelectionBehavior(QAbstractItemView::SelectRows);
|
ui->tableWidget_local->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||||
|
|
@ -284,6 +285,12 @@ void BayInfoDlg::addMeasure(MeasurementInfo info,int mode)
|
||||||
QTableWidgetItem* sizeItem = new QTableWidgetItem(QString::number(info.size));
|
QTableWidgetItem* sizeItem = new QTableWidgetItem(QString::number(info.size));
|
||||||
ui->tableWidget_local->setItem(row, 5, sizeItem);
|
ui->tableWidget_local->setItem(row, 5, sizeItem);
|
||||||
|
|
||||||
|
QTableWidgetItem* enableItem = new QTableWidgetItem(info.bEnable?"启用":"关闭");
|
||||||
|
ui->tableWidget_local->setItem(row, 6, enableItem);
|
||||||
|
|
||||||
|
QTableWidgetItem* doubleItem = new QTableWidgetItem(info.sSymmetry.isEmpty()?"":"*");
|
||||||
|
ui->tableWidget_local->setItem(row, 7, doubleItem);
|
||||||
|
|
||||||
if(_bayProperty && _itemProperty){
|
if(_bayProperty && _itemProperty){
|
||||||
QUuid bayId = _bayProperty->uuid();
|
QUuid bayId = _bayProperty->uuid();
|
||||||
QUuid itemId = _itemProperty->uuid();
|
QUuid itemId = _itemProperty->uuid();
|
||||||
|
|
@ -293,7 +300,21 @@ void BayInfoDlg::addMeasure(MeasurementInfo info,int mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(mode == 1){ //修改
|
else if(mode == 1){ //修改
|
||||||
QModelIndexList selectedIndexes = ui->tableWidget_local->selectionModel()->selectedRows();
|
QAbstractItemModel* model = ui->tableWidget_local->model();
|
||||||
|
int rowCount = model->rowCount();
|
||||||
|
|
||||||
|
QModelIndex index;
|
||||||
|
for (int row = 0; row < rowCount; ++row) {
|
||||||
|
QModelIndex col1Index = model->index(row, 1);
|
||||||
|
QVariant data = model->data(col1Index, Qt::DisplayRole);
|
||||||
|
|
||||||
|
if (data.toString() == info.name) {
|
||||||
|
// 返回本行第0列的QModelIndex
|
||||||
|
index = model->index(row, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*QModelIndexList selectedIndexes = ui->tableWidget_local->selectionModel()->selectedRows();
|
||||||
if (selectedIndexes.isEmpty()) {
|
if (selectedIndexes.isEmpty()) {
|
||||||
return; // 没有选中任何行
|
return; // 没有选中任何行
|
||||||
}
|
}
|
||||||
|
|
@ -303,10 +324,21 @@ void BayInfoDlg::addMeasure(MeasurementInfo info,int mode)
|
||||||
if (!index.isValid()) {
|
if (!index.isValid()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
QModelIndex indexName = index.sibling(index.row(),1);*/
|
||||||
|
|
||||||
QModelIndex indexName = index.sibling(index.row(),1);
|
QString sName = index.data().toString();
|
||||||
QString sName = indexName.data().toString();
|
|
||||||
if(_mapMeasure.contains(sName)){
|
if(_mapMeasure.contains(sName)){
|
||||||
|
|
||||||
|
auto itemDevice = ui->tableWidget_local->item(index.row(),2);
|
||||||
|
if(itemDevice){
|
||||||
|
itemDevice->setText(info.sDevice);
|
||||||
|
}
|
||||||
|
|
||||||
|
auto itemChannel = ui->tableWidget_local->item(index.row(),3);
|
||||||
|
if(itemChannel){
|
||||||
|
itemChannel->setText(info.sChannel);
|
||||||
|
}
|
||||||
|
|
||||||
auto itemType = ui->tableWidget_local->item(index.row(),4);
|
auto itemType = ui->tableWidget_local->item(index.row(),4);
|
||||||
if(itemType){
|
if(itemType){
|
||||||
QString sType;
|
QString sType;
|
||||||
|
|
@ -333,6 +365,19 @@ void BayInfoDlg::addMeasure(MeasurementInfo info,int mode)
|
||||||
if(itemSize){
|
if(itemSize){
|
||||||
itemSize->setText(QString::number(info.size));
|
itemSize->setText(QString::number(info.size));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto itemEnable = ui->tableWidget_local->item(index.row(),6);
|
||||||
|
if(itemEnable){
|
||||||
|
itemEnable->setText(info.bEnable?"启用":"关闭");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_bayProperty && _itemProperty){
|
||||||
|
QUuid bayId = _bayProperty->uuid();
|
||||||
|
QUuid itemId = _itemProperty->uuid();
|
||||||
|
info.bayUuid = bayId;
|
||||||
|
info.componentUuid = itemId;
|
||||||
|
_mapMeasure[info.name] = info;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -365,17 +410,21 @@ void BayInfoDlg::onAddClicked()
|
||||||
if(_curModelController){
|
if(_curModelController){
|
||||||
int ctCount = 0;
|
int ctCount = 0;
|
||||||
auto lstUuid = _bayProperty->getLstComponent(); //获取间隔下的所有设备
|
auto lstUuid = _bayProperty->getLstComponent(); //获取间隔下的所有设备
|
||||||
|
QUuid ctUid;
|
||||||
for(auto& uid:lstUuid){
|
for(auto& uid:lstUuid){
|
||||||
BaseProperty* pPro = BasePropertyManager::instance().findEntityData(uid);
|
BaseProperty* pPro = BasePropertyManager::instance().findEntityData(uid);
|
||||||
if(pPro){
|
if(pPro){
|
||||||
if(pPro->type() == 4){ //该设备是ct
|
if(pPro->type() == 4){ //该设备是ct
|
||||||
ctCount += 1;
|
ctCount += 1;
|
||||||
|
ctUid = pPro->uuid();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ctCount == 1) //只有1个ct时置为double
|
if(ctCount == 1){ //只有1个ct时置为double
|
||||||
isDouble = true;
|
if(ctUid == _itemProperty->uuid()) //选择ct时才判断
|
||||||
|
isDouble = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -399,11 +448,25 @@ void BayInfoDlg::onDeleteClicked()
|
||||||
QModelIndex indexName = index.sibling(index.row(),1);
|
QModelIndex indexName = index.sibling(index.row(),1);
|
||||||
QString sName = indexName.data().toString();
|
QString sName = indexName.data().toString();
|
||||||
if(_mapMeasure.contains(sName)){
|
if(_mapMeasure.contains(sName)){
|
||||||
/*MeasurementInfo info = _mapMeasure.take(sName);
|
MeasurementInfo info = _mapMeasure.take(sName);
|
||||||
measureAttributeType typ;
|
if(!info.sSymmetry.isEmpty()){ //是double的情况
|
||||||
typ.name = info.name;
|
if(_mapMeasure.contains(info.sSymmetry)){
|
||||||
typ.tag = info.tag;
|
MeasurementInfo dbInfo = _mapMeasure.take(info.sSymmetry);
|
||||||
_validType.append(typ);*/
|
|
||||||
|
QAbstractItemModel* model = ui->tableWidget_local->model();
|
||||||
|
int rowCount = model->rowCount();
|
||||||
|
|
||||||
|
for (int row = 0; row < rowCount; ++row) { //删除double所在行
|
||||||
|
QModelIndex col1Index = model->index(row, 1);
|
||||||
|
QVariant data = model->data(col1Index, Qt::DisplayRole);
|
||||||
|
|
||||||
|
if (data.toString() == info.sSymmetry) {
|
||||||
|
ui->tableWidget_local->removeRow(col1Index.row());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentRow = ui->tableWidget_local->currentRow();
|
int currentRow = ui->tableWidget_local->currentRow();
|
||||||
|
|
@ -436,7 +499,36 @@ void BayInfoDlg::onModifyClicked()
|
||||||
_measureDlg = new MeasureSettingDlg(this);
|
_measureDlg = new MeasureSettingDlg(this);
|
||||||
_measureDlg->setBay(this);
|
_measureDlg->setBay(this);
|
||||||
}
|
}
|
||||||
_measureDlg->showDlg(info,_extendInfo);
|
bool isDouble = false;
|
||||||
|
if(_bayProperty){ //判断double
|
||||||
|
QString sBayType = _bayProperty->getType();
|
||||||
|
if(sBayType == "分段间隔" || sBayType == "母联间隔"){
|
||||||
|
if(_curModelController){
|
||||||
|
int ctCount = 0;
|
||||||
|
auto lstUuid = _bayProperty->getLstComponent(); //获取间隔下的所有设备
|
||||||
|
for(auto& uid:lstUuid){
|
||||||
|
BaseProperty* pPro = BasePropertyManager::instance().findEntityData(uid);
|
||||||
|
if(pPro){
|
||||||
|
if(pPro->type() == 4){ //该设备是ct
|
||||||
|
ctCount += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ctCount == 1) //只有1个ct时置为double
|
||||||
|
isDouble = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementInfo symmetryInfo;
|
||||||
|
if(isDouble){
|
||||||
|
QString sDoubleName = info.sSymmetry;
|
||||||
|
if(_mapMeasure.contains(sDoubleName))
|
||||||
|
symmetryInfo = _mapMeasure.value(sDoubleName);
|
||||||
|
}
|
||||||
|
|
||||||
|
_measureDlg->showDlg(info,_extendInfo,isDouble,symmetryInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -732,6 +732,7 @@ void FixedPortsModel::loadNodeDataFromDataBase()
|
||||||
info.tag = removeSuffix(info.tag);
|
info.tag = removeSuffix(info.tag);
|
||||||
mapMeasure.insert(info.name,info);
|
mapMeasure.insert(info.name,info);
|
||||||
}
|
}
|
||||||
|
assignMeasureSymmetry(mapMeasure);
|
||||||
pData->setMeasurement(mapMeasure);
|
pData->setMeasurement(mapMeasure);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1499,6 +1500,32 @@ void FixedPortsModel::updateMonitor(QMap<QString,QMap<quint64,double>> data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FixedPortsModel::assignMeasureSymmetry(QMap<QString, MeasurementInfo>& measurementMap)
|
||||||
|
{
|
||||||
|
// 用于存储每个键对应的tag
|
||||||
|
QMap<MeasurementKey, QString> keyToTagMap;
|
||||||
|
|
||||||
|
for (auto it = measurementMap.begin(); it != measurementMap.end(); ++it) {
|
||||||
|
MeasurementKey currentKey(it.value());
|
||||||
|
QString currentTag = it.key();
|
||||||
|
|
||||||
|
// 检查是否已经有相同的键
|
||||||
|
if (keyToTagMap.contains(currentKey)) {
|
||||||
|
QString otherTag = keyToTagMap[currentKey];
|
||||||
|
|
||||||
|
// 找到一对,互相设置sSymmetry
|
||||||
|
measurementMap[currentTag].sSymmetry = measurementMap[otherTag].name;
|
||||||
|
measurementMap[otherTag].sSymmetry = measurementMap[currentTag].name;
|
||||||
|
|
||||||
|
// 从map中移除,因为"有且仅有两个item"
|
||||||
|
keyToTagMap.remove(currentKey);
|
||||||
|
} else {
|
||||||
|
// 还没有配对的,添加到map中
|
||||||
|
keyToTagMap[currentKey] = currentTag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QWidget* FixedPortsModel::getTopWidget()
|
QWidget* FixedPortsModel::getTopWidget()
|
||||||
{
|
{
|
||||||
return dynamic_cast<QWidget*>(_widget);
|
return dynamic_cast<QWidget*>(_widget);
|
||||||
|
|
@ -1538,8 +1565,17 @@ ElectricConnectLineItem* FixedPortsModel::getLineItemById(const QString& termina
|
||||||
PowerConnection* pCon = TopologyManager::instance().getConnectionContainsTerminal(terminalId);
|
PowerConnection* pCon = TopologyManager::instance().getConnectionContainsTerminal(terminalId);
|
||||||
if(pCon)
|
if(pCon)
|
||||||
{
|
{
|
||||||
if(item->itemId().toString() == pCon->id())
|
ModelProperty* pPro = item->getProperty();
|
||||||
return dynamic_cast<ElectricConnectLineItem*>(item);
|
if(pPro){
|
||||||
|
Connection con = pPro->getConnection();
|
||||||
|
if((pCon->fromTerminalId() == con.nSrcPortId.toString() && pCon->toTerminalId() == con.nDestPortId.toString())
|
||||||
|
|| (pCon->fromTerminalId() == con.nDestPortId.toString() && pCon->toTerminalId() == con.nSrcPortId.toString())){ //port相同为同一条线
|
||||||
|
return dynamic_cast<ElectricConnectLineItem*>(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//QUuid uid = item->itemId();
|
||||||
|
//QUuid conId = QUuid(pCon->id());
|
||||||
|
//if(uid == conId) /************load的拓扑没有uid,使用其他方式判断相等
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,8 @@ void MeasureSettingDlg::initial()
|
||||||
|
|
||||||
ui->cb_rule->setItemData(0, 1);
|
ui->cb_rule->setItemData(0, 1);
|
||||||
ui->cb_rule->setItemData(1, 2);
|
ui->cb_rule->setItemData(1, 2);
|
||||||
|
|
||||||
|
ui->gb_yx->setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MeasureSettingDlg::showDlg(int type,propertyStateInfo proInfo,bool isDouble)
|
void MeasureSettingDlg::showDlg(int type,propertyStateInfo proInfo,bool isDouble)
|
||||||
|
|
@ -162,12 +164,17 @@ void MeasureSettingDlg::showDlg(int type,propertyStateInfo proInfo,bool isDouble
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MeasureSettingDlg::showDlg(MeasurementInfo info,propertyStateInfo proInfo,bool isDouble)
|
void MeasureSettingDlg::showDlg(MeasurementInfo info,propertyStateInfo proInfo,bool isDouble,MeasurementInfo symmetryInfo)
|
||||||
{
|
{
|
||||||
ui->label_wind->setVisible(false);
|
ui->label_wind->setVisible(false);
|
||||||
ui->cb_windIndex->setVisible(false);
|
ui->cb_windIndex->setVisible(false);
|
||||||
if(isDouble)
|
if(isDouble){
|
||||||
setDbTagVisible(true);
|
setDbTagVisible(true);
|
||||||
|
ui->le_dbTag->setText(symmetryInfo.tag);
|
||||||
|
ui->le_dbName->setText(symmetryInfo.name);
|
||||||
|
ui->le_dbTag->setReadOnly(true);
|
||||||
|
ui->le_dbName->setReadOnly(true);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
setDbTagVisible(false);
|
setDbTagVisible(false);
|
||||||
_isDouble = isDouble;
|
_isDouble = isDouble;
|
||||||
|
|
@ -246,6 +253,10 @@ void MeasureSettingDlg::showDlg(MeasurementInfo info,propertyStateInfo proInfo,b
|
||||||
show();
|
show();
|
||||||
_curMode = 1;
|
_curMode = 1;
|
||||||
clearData();
|
clearData();
|
||||||
|
ui->cb_tag->blockSignals(true);
|
||||||
|
ui->cb_name->blockSignals(true);
|
||||||
|
ui->cb_tag->addItem(info.tag);
|
||||||
|
ui->cb_name->addItem(info.name);
|
||||||
ui->cb_tag->setCurrentText(info.tag);
|
ui->cb_tag->setCurrentText(info.tag);
|
||||||
ui->cb_name->setCurrentText(info.name);
|
ui->cb_name->setCurrentText(info.name);
|
||||||
ui->cb_type->setCurrentIndex(info.type);
|
ui->cb_type->setCurrentIndex(info.type);
|
||||||
|
|
@ -364,6 +375,8 @@ void MeasureSettingDlg::clearData()
|
||||||
|
|
||||||
void MeasureSettingDlg::setDbTagVisible(bool val)
|
void MeasureSettingDlg::setDbTagVisible(bool val)
|
||||||
{
|
{
|
||||||
|
ui->le_dbTag->clear();
|
||||||
|
ui->le_dbName->clear();
|
||||||
if(val){
|
if(val){
|
||||||
ui->label_dbTag->setVisible(true);
|
ui->label_dbTag->setVisible(true);
|
||||||
ui->le_dbTag->setVisible(true);
|
ui->le_dbTag->setVisible(true);
|
||||||
|
|
@ -472,7 +485,7 @@ void MeasureSettingDlg::onOkClicked()
|
||||||
}
|
}
|
||||||
if(_pBay){
|
if(_pBay){
|
||||||
if(_isDouble)
|
if(_isDouble)
|
||||||
info.sSymmetry = ui->le_dbTag->text(); //与double互相记录
|
info.sSymmetry = ui->le_dbName->text(); //与double互相记录
|
||||||
_pBay->addMeasure(info,_curMode);
|
_pBay->addMeasure(info,_curMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -482,17 +495,23 @@ void MeasureSettingDlg::onOkClicked()
|
||||||
dbInfo.tag = ui->le_dbTag->text();
|
dbInfo.tag = ui->le_dbTag->text();
|
||||||
dbInfo.name = ui->le_dbName->text();
|
dbInfo.name = ui->le_dbName->text();
|
||||||
dbInfo.nPolarity = -info.nPolarity;
|
dbInfo.nPolarity = -info.nPolarity;
|
||||||
dbInfo.sSymmetry = info.tag; //与source互相记录
|
dbInfo.sSymmetry = info.name; //与source互相记录
|
||||||
|
|
||||||
if(_pBay)
|
if(_pBay)
|
||||||
_pBay->addMeasure(dbInfo,_curMode);
|
_pBay->addMeasure(dbInfo,_curMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->cb_tag->blockSignals(false);
|
||||||
|
ui->cb_name->blockSignals(false);
|
||||||
|
ui->le_dbTag->setReadOnly(false);
|
||||||
|
ui->le_dbName->setReadOnly(false);
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MeasureSettingDlg::onCancelClicked()
|
void MeasureSettingDlg::onCancelClicked()
|
||||||
{
|
{
|
||||||
|
ui->cb_tag->blockSignals(false);
|
||||||
|
ui->cb_name->blockSignals(false);
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -504,15 +523,18 @@ void MeasureSettingDlg::onTagChanged(const QString& str)
|
||||||
auto pItemData = _pBay->getProperty();
|
auto pItemData = _pBay->getProperty();
|
||||||
curItemName = "_"+pItemData->name();
|
curItemName = "_"+pItemData->name();
|
||||||
}
|
}
|
||||||
|
QString name;
|
||||||
for(auto& item:lst){
|
for(auto& item:lst){
|
||||||
if(item.tag+curItemName == str){
|
if(item.tag+curItemName == str){
|
||||||
ui->cb_name->setCurrentText(item.name+curItemName);
|
name = item.name+curItemName;
|
||||||
|
ui->cb_name->setCurrentText(name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_isDouble){
|
if(_isDouble){
|
||||||
ui->le_dbTag->setText(str+"double");
|
ui->le_dbTag->setText(str+"double");
|
||||||
|
ui->le_dbName->setText(name+"对称");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -524,14 +546,17 @@ void MeasureSettingDlg::onNameChanged(const QString& str)
|
||||||
auto pItemData = _pBay->getProperty();
|
auto pItemData = _pBay->getProperty();
|
||||||
curItemName = "_"+pItemData->name();
|
curItemName = "_"+pItemData->name();
|
||||||
}
|
}
|
||||||
|
QString tag;
|
||||||
for(auto& item:lst){
|
for(auto& item:lst){
|
||||||
if(item.name+curItemName == str){
|
if(item.name+curItemName == str){
|
||||||
ui->cb_tag->setCurrentText(item.tag+curItemName);
|
tag = item.tag+curItemName;
|
||||||
|
ui->cb_tag->setCurrentText(tag);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_isDouble){
|
if(_isDouble){
|
||||||
|
ui->le_dbTag->setText(tag+"double");
|
||||||
ui->le_dbName->setText(str+"对称");
|
ui->le_dbName->setText(str+"对称");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,16 @@
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>名称</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="0" column="5">
|
<item row="0" column="5">
|
||||||
<widget class="QLabel" name="label_14">
|
<widget class="QLabel" name="label_14">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|
@ -51,7 +61,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="6">
|
<item row="0" column="8">
|
||||||
<widget class="QPushButton" name="btn_add">
|
<widget class="QPushButton" name="btn_add">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
|
@ -94,10 +104,10 @@ QPushButton:disabled {
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="2">
|
||||||
<widget class="QLabel" name="label_12">
|
<widget class="QLabel" name="label_16">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>名称</string>
|
<string>设备</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||||
|
|
@ -114,10 +124,10 @@ QPushButton:disabled {
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="0" column="4">
|
||||||
<widget class="QLabel" name="label_16">
|
<widget class="QLabel" name="label_17">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>设备</string>
|
<string>类型</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||||
|
|
@ -134,10 +144,20 @@ QPushButton:disabled {
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="4">
|
<item row="0" column="6">
|
||||||
<widget class="QLabel" name="label_17">
|
<widget class="QLabel" name="label_18">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>类型</string>
|
<string>事件</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="7">
|
||||||
|
<widget class="QLabel" name="label_19">
|
||||||
|
<property name="text">
|
||||||
|
<string>对称</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||||
|
|
@ -187,7 +207,7 @@ QPushButton:disabled {
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>综合保护设备</string>
|
<string>继保/综保设备</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
|
|
@ -217,7 +237,7 @@ QPushButton:disabled {
|
||||||
<item row="4" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="label_4">
|
<widget class="QLabel" name="label_4">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>故障录波设备</string>
|
<string>安全自动装置</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
|
|
@ -296,7 +316,7 @@ QPushButton:disabled {
|
||||||
<item row="5" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QLabel" name="label_5">
|
<widget class="QLabel" name="label_5">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>状态检测设备</string>
|
<string>状态监测设备</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,7 @@ QTabBar::tab:selected {
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tab_zongHe">
|
<widget class="QWidget" name="tab_zongHe">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>综合保护</string>
|
<string>继保/综保设备</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
|
@ -266,7 +266,7 @@ QTabBar::tab:selected {
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab_guZhang">
|
<widget class="QWidget" name="tab_guZhang">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>故障录波</string>
|
<string>安全自动装置</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
<item>
|
<item>
|
||||||
|
|
@ -280,7 +280,7 @@ QTabBar::tab:selected {
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab_zhuangTai">
|
<widget class="QWidget" name="tab_zhuangTai">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>状态检测</string>
|
<string>状态监测</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
<item>
|
<item>
|
||||||
|
|
|
||||||
|
|
@ -1529,7 +1529,7 @@ QList<MeasurementInfo> DataBase::getMeasurement(QUuid componentId)
|
||||||
|
|
||||||
info.nSource = objData["type"].toInt();
|
info.nSource = objData["type"].toInt();
|
||||||
QJsonObject objIoAddress = objData["io_address"].toObject();
|
QJsonObject objIoAddress = objData["io_address"].toObject();
|
||||||
info.sStation = objData["station"].toString();
|
info.sStation = objIoAddress["station"].toString();
|
||||||
info.sDevice = objIoAddress["device"].toString();
|
info.sDevice = objIoAddress["device"].toString();
|
||||||
info.sChannel = objIoAddress["channel"].toString();
|
info.sChannel = objIoAddress["channel"].toString();
|
||||||
info.nPacket = objIoAddress["packet"].toInt();
|
info.nPacket = objIoAddress["packet"].toInt();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue