|
@@ -6,7 +6,7 @@
|
|
|
<!-- DETAIL-DEPS:BEGIN -->
|
|
<!-- DETAIL-DEPS:BEGIN -->
|
|
|
# /detail 页面依赖与重算台账 (自动生成, 禁手改)
|
|
# /detail 页面依赖与重算台账 (自动生成, 禁手改)
|
|
|
|
|
|
|
|
-> 生成端: `python scripts/detail_deps.py --write`|场站 `rudong`|产物仓 `outputs/rudong`|盘上 1,728 件
|
|
|
|
|
|
|
+> 生成端: `python scripts/detail_deps.py --write`|场站 `rudong`|产物仓 `outputs/rudong`|盘上 1,775 件
|
|
|
>
|
|
>
|
|
|
> 用户令 (2026-09-18): **/detail 各页面不许用旧版产出补**, 只能参照旧版产物的呈现样式与内容, 数值必须由 `data/raw` 重算。本表把每页的取数接口与产物件逐条列清, 缺的写明怎么补。
|
|
> 用户令 (2026-09-18): **/detail 各页面不许用旧版产出补**, 只能参照旧版产物的呈现样式与内容, 数值必须由 `data/raw` 重算。本表把每页的取数接口与产物件逐条列清, 缺的写明怎么补。
|
|
|
|
|
|
|
@@ -51,7 +51,7 @@
|
|
|
| /api/fleet | `windscada/*.parquet` ○可选 | 17 | 2.0 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms·scada_derived·scada_oil·scada_monthly·scada_workorders) | 在位 |
|
|
| /api/fleet | `windscada/*.parquet` ○可选 | 17 | 2.0 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms·scada_derived·scada_oil·scada_monthly·scada_workorders) | 在位 |
|
|
|
| | `ontology/turbine_params.parquet` ○可选 | 1 | 0.1 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
|
|
| | `ontology/turbine_params.parquet` ○可选 | 1 | 0.1 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
|
|
|
| | `m5_cms_tcm/handoff_vibration_v2.json` ○可选 | 0 | 0.0 MB | — | — (vib_handoff_and_scans) | 缺(页面降级) |
|
|
| | `m5_cms_tcm/handoff_vibration_v2.json` ○可选 | 0 | 0.0 MB | — | — (vib_handoff_and_scans) | 缺(页面降级) |
|
|
|
-| | `m5_cms_tcm/fleet_scalar_z.parquet` ○可选 | 0 | 0.0 MB | — | — (vib_fleet_scalar_z) | 缺(页面降级) |
|
|
|
|
|
|
|
+| | `m5_cms_tcm/fleet_scalar_z.parquet` ○可选 | 1 | 0.7 MB | raw-derived | scripts/rudong_fusion_run.py (vib_fleet_scalar_z) | 在位 |
|
|
|
| | `pitch/pitch_daily.parquet` ○可选 | 0 | 0.0 MB | — | — (pitch_shipped) | 缺(页面降级) |
|
|
| | `pitch/pitch_daily.parquet` ○可选 | 0 | 0.0 MB | — | — (pitch_shipped) | 缺(页面降级) |
|
|
|
| | `pitch/pitch_zero_monthly.parquet` ○可选 | 0 | 0.0 MB | — | — (pitch_shipped) | 缺(页面降级) |
|
|
| | `pitch/pitch_zero_monthly.parquet` ○可选 | 0 | 0.0 MB | — | — (pitch_shipped) | 缺(页面降级) |
|
|
|
| /api/curves | `windscada/powercurve_bins.parquet` ✅必需 | 1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 |
|
|
| /api/curves | `windscada/powercurve_bins.parquet` ✅必需 | 1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 |
|
|
@@ -65,7 +65,7 @@
|
|
|
| /api/turbine | `windscada/alarms.parquet` ✅必需 | 1 | 0.9 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms) | 在位 |
|
|
| /api/turbine | `windscada/alarms.parquet` ✅必需 | 1 | 0.9 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms) | 在位 |
|
|
|
| /api/turbine | `ontology/objects.json` ○可选 | 1 | 4.3 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
|
|
| /api/turbine | `ontology/objects.json` ○可选 | 1 | 4.3 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
|
|
|
| | `windscada/workorders.parquet` ○可选 | 1 | 0.5 MB | raw-derived | scripts/windscada_workorder_ingest.py (scada_workorders) | 在位 |
|
|
| | `windscada/workorders.parquet` ○可选 | 1 | 0.5 MB | raw-derived | scripts/windscada_workorder_ingest.py (scada_workorders) | 在位 |
|
|
|
-| /api/vibcms | `windcms/报告_CMS振动状态评估报告_*.md` ✅必需 | 0 | 0.0 MB | — | — (—) | **缺** |
|
|
|
|
|
|
|
+| /api/vibcms | `windcms/报告_CMS振动状态评估报告_*.md` ✅必需 | 1 | 0.0 MB | raw-derived | src/windcms/report_std.py (windcms_report_std) | 在位 |
|
|
|
| /api/vibcms | `m5_cms_tcm/handoff_vibration_v2.json` ○可选 | 0 | 0.0 MB | — | — (vib_handoff_and_scans) | 缺(页面降级) |
|
|
| /api/vibcms | `m5_cms_tcm/handoff_vibration_v2.json` ○可选 | 0 | 0.0 MB | — | — (vib_handoff_and_scans) | 缺(页面降级) |
|
|
|
| | `windcms/cache/*` ○可选 | 1 | 2.2 MB | raw-derived | src/windcms/data.py (windcms_cache) | 在位 |
|
|
| | `windcms/cache/*` ○可选 | 1 | 2.2 MB | raw-derived | src/windcms/data.py (windcms_cache) | 在位 |
|
|
|
| /api/maint_survey | `ontology/objects.json` ✅必需 | 1 | 4.3 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
|
|
| /api/maint_survey | `ontology/objects.json` ✅必需 | 1 | 4.3 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
|
|
@@ -84,10 +84,8 @@
|
|
|
| 接口 | 缺件 | 必需 | 生成端 | 能否由 data/raw 重算 |
|
|
| 接口 | 缺件 | 必需 | 生成端 | 能否由 data/raw 重算 |
|
|
|
|---|---|---|---|---|
|
|
|---|---|---|---|---|
|
|
|
| `/api/fleet` | `m5_cms_tcm/handoff_vibration_v2.json` | 否 | (无生成端) | **不能**: 振动六层链四步脚本未随包(oem_frequency_scan 等)⇒ 运行期不从交付包补(用户令 2026-09-17 ⇒ 需研发补生成端 |
|
|
| `/api/fleet` | `m5_cms_tcm/handoff_vibration_v2.json` | 否 | (无生成端) | **不能**: 振动六层链四步脚本未随包(oem_frequency_scan 等)⇒ 运行期不从交付包补(用户令 2026-09-17 ⇒ 需研发补生成端 |
|
|
|
-| `/api/fleet` | `m5_cms_tcm/fleet_scalar_z.parquet` | 否 | `scripts/rudong_fusion_run.py` | 能: 放原始件到 data/raw 后 `rebuild_all.py` |
|
|
|
|
|
| `/api/fleet` | `pitch/pitch_daily.parquet` | 否 | (无生成端) | **不能**: 无生成端 ⇒ 运行期不从交付包补(用户令 2026-09-17), 页面降级; 要出件须研发补生成端 ⇒ 需研发补生成端 |
|
|
| `/api/fleet` | `pitch/pitch_daily.parquet` | 否 | (无生成端) | **不能**: 无生成端 ⇒ 运行期不从交付包补(用户令 2026-09-17), 页面降级; 要出件须研发补生成端 ⇒ 需研发补生成端 |
|
|
|
| `/api/fleet` | `pitch/pitch_zero_monthly.parquet` | 否 | (无生成端) | **不能**: 无生成端 ⇒ 运行期不从交付包补(用户令 2026-09-17), 页面降级; 要出件须研发补生成端 ⇒ 需研发补生成端 |
|
|
| `/api/fleet` | `pitch/pitch_zero_monthly.parquet` | 否 | (无生成端) | **不能**: 无生成端 ⇒ 运行期不从交付包补(用户令 2026-09-17), 页面降级; 要出件须研发补生成端 ⇒ 需研发补生成端 |
|
|
|
-| `/api/vibcms` | `windcms/报告_CMS振动状态评估报告_*.md` | 是 | (无生成端) | **不能**: 生成端在包内但输入不足(model_run/fusion 未随包) ⇒ 运行期不从交付包补(用户令 2026-09-17 ⇒ 需研发补生成端 |
|
|
|
|
|
| `/api/vibcms` | `m5_cms_tcm/handoff_vibration_v2.json` | 否 | (无生成端) | **不能**: 振动六层链四步脚本未随包(oem_frequency_scan 等)⇒ 运行期不从交付包补(用户令 2026-09-17 ⇒ 需研发补生成端 |
|
|
| `/api/vibcms` | `m5_cms_tcm/handoff_vibration_v2.json` | 否 | (无生成端) | **不能**: 振动六层链四步脚本未随包(oem_frequency_scan 等)⇒ 运行期不从交付包补(用户令 2026-09-17 ⇒ 需研发补生成端 |
|
|
|
| `/api/facts` | `guanlan/facts_contract_v0.json` | 是 | (无生成端) | **不能**: 派生链的中间层: 它的"输入"本身是产物而非 data/raw ⇒ 与 raw 之间隔着不止一跳; 运行期不从交付包补( ⇒ 需研发补生成端 |
|
|
| `/api/facts` | `guanlan/facts_contract_v0.json` | 是 | (无生成端) | **不能**: 派生链的中间层: 它的"输入"本身是产物而非 data/raw ⇒ 与 raw 之间隔着不止一跳; 运行期不从交付包补( ⇒ 需研发补生成端 |
|
|
|
| `/api/facts` | `guanlan/derived/detail_cards.json` | 是 | (无生成端) | **不能**: 派生链的中间层: 它的"输入"本身是产物而非 data/raw ⇒ 与 raw 之间隔着不止一跳; 运行期不从交付包补( ⇒ 需研发补生成端 |
|
|
| `/api/facts` | `guanlan/derived/detail_cards.json` | 是 | (无生成端) | **不能**: 派生链的中间层: 它的"输入"本身是产物而非 data/raw ⇒ 与 raw 之间隔着不止一跳; 运行期不从交付包补( ⇒ 需研发补生成端 |
|
|
@@ -103,7 +101,7 @@
|
|
|
| scada_derived | scada_10min | `src/windscada/perf/powercurve.py` |
|
|
| scada_derived | scada_10min | `src/windscada/perf/powercurve.py` |
|
|
|
| ontology_core | 西门子4.0技术资料 | `src/ontology/kb_ingest.py` |
|
|
| ontology_core | 西门子4.0技术资料 | `src/ontology/kb_ingest.py` |
|
|
|
| vib_handoff_and_scans | — | `—` |
|
|
| vib_handoff_and_scans | — | `—` |
|
|
|
-| vib_fleet_scalar_z | m5_cms_tcm/windows/*/index.parquet | `scripts/rudong_fusion_run.py` |
|
|
|
|
|
|
|
+| vib_fleet_scalar_z | m5_cms_tcm | `scripts/rudong_fusion_run.py` |
|
|
|
| pitch_shipped | — | `—` |
|
|
| pitch_shipped | — | `—` |
|
|
|
| scada_workorders | 风机故障记录 | `scripts/windscada_workorder_ingest.py` |
|
|
| scada_workorders | 风机故障记录 | `scripts/windscada_workorder_ingest.py` |
|
|
|
| guanlan_contract | — | `—` |
|
|
| guanlan_contract | — | `—` |
|
|
@@ -122,28 +120,28 @@ python scripts/rebuild_all.py # 全量重算 (链上含 ⑤a 台
|
|
|
|
|
|
|
|
| 页签 | 接口 | 判定 | 实测 |
|
|
| 页签 | 接口 | 判定 | 实测 |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
|
-| overview | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
-| energy | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
-| component | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
|
|
+| overview | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
|
|
+| energy | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
|
|
+| component | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
| | `/api/problem` | 有数 | HTTP 200 · 16 B |
|
|
| | `/api/problem` | 有数 | HTTP 200 · 16 B |
|
|
|
-| | `/api/turbine` | 有数 | HTTP 200 · 13,107 B |
|
|
|
|
|
-| vibration | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
-| | `/api/vibcms` | 报错 | HTTP 200 · windcms 报告解析失败: list index out of range |
|
|
|
|
|
|
|
+| | `/api/turbine` | 有数 | HTTP 200 · 14,417 B |
|
|
|
|
|
+| vibration | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
|
|
+| | `/api/vibcms` | 有数 | HTTP 200 · 6,797 B |
|
|
|
| generation | `/api/curves` | 有数 | HTTP 200 · 23,913 B |
|
|
| generation | `/api/curves` | 有数 | HTTP 200 · 23,913 B |
|
|
|
-| fault | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
-| decision | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
|
|
+| fault | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
|
|
+| decision | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
| | `/api/ont_chain` | 有数 | HTTP 200 · 288 B |
|
|
| | `/api/ont_chain` | 有数 | HTTP 200 · 288 B |
|
|
|
-| assistant | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
|
|
+| assistant | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
| | `/api/ask` | 有数 | HTTP 404 · 3 B |
|
|
| | `/api/ask` | 有数 | HTTP 404 · 3 B |
|
|
|
| | `/api/ask_status` | 有数 | HTTP 200 · 173 B |
|
|
| | `/api/ask_status` | 有数 | HTTP 200 · 173 B |
|
|
|
| | `/api/ask_models` | 有数 | HTTP 200 · 137 B |
|
|
| | `/api/ask_models` | 有数 | HTTP 200 · 137 B |
|
|
|
| | `/api/facts` | 报错 | HTTP 503 · facts derived 缺失: [Errno 2] No such file or directory: 'F:\\temp\\app\ |
|
|
| | `/api/facts` | 报错 | HTTP 503 · facts derived 缺失: [Errno 2] No such file or directory: 'F:\\temp\\app\ |
|
|
|
| | `/api/facts/claim` | — | — |
|
|
| | `/api/facts/claim` | — | — |
|
|
|
-| report | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
|
|
+| report | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
| | `/api/facts` | 报错 | HTTP 503 · facts derived 缺失: [Errno 2] No such file or directory: 'F:\\temp\\app\ |
|
|
| | `/api/facts` | 报错 | HTTP 503 · facts derived 缺失: [Errno 2] No such file or directory: 'F:\\temp\\app\ |
|
|
|
| | `/api/rpt_compose` | 不适用(本机模型未启动) | HTTP 200 · 本地模型不可达: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接。> |
|
|
| | `/api/rpt_compose` | 不适用(本机模型未启动) | HTTP 200 · 本地模型不可达: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接。> |
|
|
|
-| system | `/api/fleet` | 有数 | HTTP 200 · 33,282 B |
|
|
|
|
|
-| | `/api/maint_survey` | 有数 | HTTP 200 · 7,440 B |
|
|
|
|
|
|
|
+| system | `/api/fleet` | 有数 | HTTP 200 · 55,698 B |
|
|
|
|
|
+| | `/api/maint_survey` | 有数 | HTTP 200 · 7,498 B |
|
|
|
|
|
|
|
|
判读口径: 只认响应**顶层**的 `err`/`error`/`no_products`/`no_report`; `/api/ask*` `/api/rpt_compose` 依赖本机模型, 未启动时记「不适用」不算缺件。
|
|
判读口径: 只认响应**顶层**的 `err`/`error`/`no_products`/`no_report`; `/api/ask*` `/api/rpt_compose` 依赖本机模型, 未启动时记「不适用」不算缺件。
|
|
|
<!-- DETAIL-PROBE:END -->
|
|
<!-- DETAIL-PROBE:END -->
|