fix(nmNum): 保留包含井三相全关时的流量配置

- 三相全部关闭时保留有效 Flow Gauge Code 和流动段索引
- 最后一相切换为“无”时不再清空流量记录选择
- 仅在流量记录无效或不可选择时清空相关配置
- 保持不可计算井自动取消包含的现有行为
feature/nmNum-multi-gauge-record
lh 2 days ago
parent 3e87db437e
commit 011976390e

@ -576,8 +576,7 @@ void nmWxIncludeOtherWells::normalizeFlowSelection(WellDataRow& data) const
{
const nmFlowGaugeRecord* pRecord = findFlowRecord(
data.m_vecFlowRecords, data.m_sFlowGaugeCode);
if(pRecord == nullptr ||
pRecord->eStatus != NM_GaugeRecord_Usable) {
if(pRecord == nullptr || !nmIsSelectableFlowRecord(*pRecord)) {
data.m_sFlowGaugeCode.clear();
data.m_bUseOilRate = false;
data.m_bUseGasRate = false;
@ -592,12 +591,6 @@ void nmWxIncludeOtherWells::normalizeFlowSelection(WellDataRow& data) const
isSelectableFlowPhase(*pRecord, PHASE_Gas);
data.m_bUseWaterRate = data.m_bUseWaterRate &&
isSelectableFlowPhase(*pRecord, PHASE_Water);
if(!data.m_bUseOilRate && !data.m_bUseGasRate &&
!data.m_bUseWaterRate) {
data.m_sFlowGaugeCode.clear();
data.m_nFlowSegmentIndex = 0;
return;
}
const int nSegmentCount = flowRecordSegmentCount(*pRecord);
if(nSegmentCount <= 0) {
@ -819,10 +812,6 @@ void nmWxIncludeOtherWells::onRateSourceChanged(int nIndex)
const QString sGaugeCode = pComboBox->itemData(nIndex).toString();
if(sGaugeCode.isEmpty()) {
setRowPhaseUsed(oData, ePhase, false);
if(!oData.m_bUseOilRate && !oData.m_bUseGasRate &&
!oData.m_bUseWaterRate) {
switchRowFlowGaugeCode(oData, QString());
}
} else {
const nmFlowGaugeRecord* pRecord = findFlowRecord(
oData.m_vecFlowRecords, sGaugeCode);

Loading…
Cancel
Save