chore: 撤诊断日志([dsrow-raw]/[arrayfilter]),保留 parseDsRows 对象形态解析健壮性

诊断结论(自读日志):data/page 所有 ds 行(文件/网格/反演)均不带字段属性(properties=文件元数据或null,
attachedParameters=null,无 arrayType);结构树节点亦无 arrayType。装置类型纯属脚本配置(ScriptInfoVO),
不在任何现有拉取数据里 → 装置筛选需新接脚本配置并按 ds→测线→脚本 串联(数据来源待定)。
This commit is contained in:
gaozheng 2026-06-25 21:48:07 +08:00
parent 1742b7508b
commit 31ad7a4750
2 changed files with 0 additions and 20 deletions

View File

@ -2,7 +2,6 @@
#include <QComboBox> #include <QComboBox>
#include <QDate> #include <QDate>
#include <QDebug>
#include <map> #include <map>
#include <set> #include <set>
#include "panels/columns/DateRangeEdit.hpp" #include "panels/columns/DateRangeEdit.hpp"
@ -177,16 +176,6 @@ void CategorySection::refreshArrayCombo() {
arrayCombo_->addItem(name, val); // data=实际属性值passesFilters 据此比对) arrayCombo_->addItem(name, val); // data=实际属性值passesFilters 据此比对)
} }
} }
if (arrayCombo_->count() <= 1) // 诊断:装置下拉仍空 → 打印枚举大小 + 首行属性,定位是枚举空还是值不匹配
qInfo().noquote() << "[arrayfilter]" << QString::fromStdString(spec_.id) << "enum="
<< en.size() << "rows=" << rows_.size()
<< (rows_.empty() ? QString() : [&] {
QStringList vs;
for (const auto& kv : rows_.front().properties)
vs << (QString::fromStdString(kv.confFieldId) + "=" +
QString::fromStdString(kv.value));
return "row0[" + vs.join(',') + "]";
}());
} }
const int idx = arrayCombo_->findData(prev); // 尽量保留上次选择 const int idx = arrayCombo_->findData(prev); // 尽量保留上次选择
arrayCombo_->setCurrentIndex(idx >= 0 ? idx : 0); arrayCombo_->setCurrentIndex(idx >= 0 ? idx : 0);

View File

@ -1,7 +1,5 @@
#include "dto/NavDto.hpp" #include "dto/NavDto.hpp"
#include <QDebug>
#include <QJsonDocument>
#include <QJsonValue> #include <QJsonValue>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
@ -118,13 +116,6 @@ std::vector<StructNode> parseStructNodes(const QJsonArray& arr) {
std::vector<DsRow> parseDsRows(const QJsonArray& arr) { std::vector<DsRow> parseDsRows(const QJsonArray& arr) {
std::vector<DsRow> out; std::vector<DsRow> out;
out.reserve(static_cast<size_t>(arr.size())); out.reserve(static_cast<size_t>(arr.size()));
// 诊断(一次):打印首行原始 JSON定位装置/采集时间等字段实际所在properties 形态/attachedParameters
static bool s_loggedRaw = false;
if (!s_loggedRaw && !arr.isEmpty()) {
s_loggedRaw = true;
qInfo().noquote() << "[dsrow-raw]"
<< QJsonDocument(arr.first().toObject()).toJson(QJsonDocument::Compact);
}
for (const QJsonValue& v : arr) { for (const QJsonValue& v : arr) {
const QJsonObject o = v.toObject(); const QJsonObject o = v.toObject();
DsRow d; DsRow d;