Browse Source

两处会过期的文案修正 (子代理复核时逮到)

- src/ontology/trend_ingest.py: 在升证据的 summary 里写死了"台账止 2024-11" —— 那是随包旧快照
  的口径, 本机台账实测已到 2026-07-08; 一旦工单可对=False 就会把"数据边界"说成错的年份。
  改为不写具体日期的诚实说法(边界由台账跨度决定)。
- src/windcms/report.py::baseline_card_html: 不足行原先固定拼"健康期窗 {n},"再跟上生成端原文,
  而原文本身以"健康期窗 N < 3"开头 ⇒ 卡面读成"(健康期窗 0,健康期窗 0 < 3, 不给数…)"。
  改为优先用生成端原文(它带原因), 缺原文才退回台数说法。

复核: WTG09 逐台页不足行现读作 "健康期窗 0 < 3, 不给数 (禁用 fleet 值顶替)" (无重复);
已重生成 windcms 报告与逐台页并重启组件服务; pages_audit --check rc=0;
变桨面仍 38 行判级 (变桨格 = 四维 + 蓄能 + 温度候选按 tmap 归并, 13 台非优秀均有实据)。
zhouyang.xie 3 weeks ago
parent
commit
b925fee408
2 changed files with 12 additions and 3 deletions
  1. 5 2
      src/ontology/trend_ingest.py
  2. 7 1
      src/windcms/report.py

+ 5 - 2
src/ontology/trend_ingest.py

@@ -76,8 +76,11 @@ def build(dry=False):
                     status='在升·未闭环',
                     summary=(f'{t[-2:]}# {comp} 振动标量末三窗/早三窗 {r.get("ratio")}× '
                              f'({r.get("early")}→{r.get("late")}), 判为在升未闭环。'
-                             + ('工单台账窗外无工单可对 — 上升发生在 2026 而台账止 2024-11, '
-                                '"无工单"是数据边界不是未处置。' if wo is False else '')),
+                             # ★2026-09-19 修: 原先这里写死"台账止 2024-11"——那是随包旧快照的口径,
+                             #   本机台账实测已到 2026-07-08 ⇒ 该断言的日期会过期、把"数据边界"
+                             #   说成错的年份。改成不写具体日期的诚实说法(边界由台账跨度决定)。
+                             + ('工单台账在该证据窗内没有可对的工单 —— "无工单"是**数据边界**'
+                                '(台账跨度所限), 不等于未处置。' if wo is False else '')),
                     note='阈值=末三窗/早三窗 ≥1.3; 该判据只描述方向不定级'),
                     links=_links(t, comp)), force=True)
                 stat['trend'] += 1

+ 7 - 1
src/windcms/report.py

@@ -142,7 +142,13 @@ def baseline_card_html(cfg, tid):
             if not r:
                 continue
             if not r.get('self_baseline'):
-                ins.append(f'{SENSOR_CN.get(sen, sen)}·{m}(健康期窗 {r.get("n_windows_healthy", "?")},' + esc(str(r.get('insufficient', ''))[:34]) + ')')
+                # ★2026-09-19 修: 原先固定拼"健康期窗 {n},"再跟上 insufficient 原文, 而生成端写的
+                #   insufficient 本身就以"健康期窗 N < 3"开头 ⇒ 卡面读成"(健康期窗 0,健康期窗 0 < 3…)"。
+                #   现在优先用**生成端给的原文**(它带原因), 缺原文时才退回台数说法。
+                _why = str(r.get('insufficient') or '').strip()
+                ins.append(f'{SENSOR_CN.get(sen, sen)}·{m}('
+                           + (esc(_why[:44]) if _why else f'健康期窗 {r.get("n_windows_healthy", "?")} 段不足')
+                           + ')')
                 continue
             lw = r.get('latest_window')
             fb = (fleet.get(f'{sen}|{m}') or {}).get(lw)