From add2ec7b5f8eea420f30f9464ddb8565e4ca935a Mon Sep 17 00:00:00 2001 From: lh <2334563547@qq.com> Date: Wed, 9 Sep 2026 14:37:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(nmNum):=20=E6=94=B6=E7=B4=A7=E6=88=90?= =?UTF-8?q?=E6=9E=9C=E5=8E=8B=E5=8A=9B=20Gauge=20=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 非空压力 Gauge Code 必须唯一命中可参与历史计算的记录 - 拒绝仅包含一个压力点的选中压力记录 - 保持流量记录按井角色校验的现有规则 --- Src/nmNum/nmData/nmDataAnalyzeManager.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Src/nmNum/nmData/nmDataAnalyzeManager.cpp b/Src/nmNum/nmData/nmDataAnalyzeManager.cpp index 276281a..70c0318 100644 --- a/Src/nmNum/nmData/nmDataAnalyzeManager.cpp +++ b/Src/nmNum/nmData/nmDataAnalyzeManager.cpp @@ -968,21 +968,21 @@ bool addUniquePayloadPath( return true; } -bool hasUniqueUsablePressureRecord( +bool hasUniqueSelectablePressureRecord( const QVector& vecRecords, const QString& sGaugeCode) { int nMatchCount = 0; - bool bUsable = false; + bool bSelectable = false; for(int nIndex = 0; nIndex < vecRecords.size(); ++nIndex) { if(vecRecords[nIndex].sGaugeCode == sGaugeCode) { ++nMatchCount; - bUsable = vecRecords[nIndex].eStatus == NM_GaugeRecord_Usable; + bSelectable = nmIsSelectablePressureRecord(vecRecords[nIndex]); } } - return nMatchCount == 1 && bUsable; + return nMatchCount == 1 && bSelectable; } const nmFlowGaugeRecord* findUniqueUsableFlowRecord( @@ -1015,7 +1015,7 @@ bool isWellGaugeSelectionValid( const QVector vecPressureRecords = pWell->getPressureRecords(); if(!sPressureCode.isEmpty() && - !hasUniqueUsablePressureRecord(vecPressureRecords, sPressureCode)) + !hasUniqueSelectablePressureRecord(vecPressureRecords, sPressureCode)) { return false; } @@ -6759,9 +6759,9 @@ bool nmDataAnalyzeManager::loadNmResultV3InPlace( const QString sPressureCode = pWell->getSelectedPressureGaugeCode(); if(!sPressureCode.isEmpty() && - !hasUniqueUsablePressureRecord( + !hasUniqueSelectablePressureRecord( oGaugeData.m_vecPressureRecords, sPressureCode)) { - qWarning() << "Loaded selected pressure Gauge Code is dangling:" + qWarning() << "Loaded selected pressure Gauge Code is invalid:" << sPressureCode; return false; }