diff --git a/DEVLOG.md b/DEVLOG.md index 7202168..54df35a 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -1107,6 +1107,41 @@ init_db 幂等带上)。无新 env。 --- +## 2026-08-28 · 公示导出正式机实锅: 模板隐藏行把合计与图整段藏掉 + +**做了什么** +正式机首次导出缺了最底部合计行、图表空框。根因: 公司原表把老平仓行折叠隐藏 +(24~97 行 hidden), 裁模板时 openpyxl 的 delete_rows 不搬 row_dimensions, 这批隐藏 +标记原样进了模板; 表体一长到 24 行 (真机 7 持仓+10 平仓正好踩中), 卖出小计/存量 +合计/底行/图表数据全落隐藏带 —— 此前样张 7+7 只到 23 行, 所以怎么测都完整。 +开发机 openpyxl 3.1.5 实验复现坐实。修法两层: 模板重裁 (行属性只留 1~11 行、隐藏 +标记清零、剔除全部残留条件格式区间与外部工作簿链接, 顺带补回裁剪时丢的「存量合计」 +「初始规模+已回收益后可开仓总金额」两个 B 列标签 —— 与上次「平层卖出」同类伤); +代码兜底 (进场即清模板行位之外的行属性与残留条件格式, 行高重排时强制 hidden=False)。 +红绿条件格式按最终行位重建: Q/R/S 红涨绿跌字色、持仓 S 列红绿底色 (0 也算红), +颜色与原表 dxf 逐字节同 (openpyxl 去重后直接命中原 18 个 dxf)。图表按原图重做双系列: +净值主轴(左)+仓位占比副轴(右), 每点带标记 (首日单点也看得见), plotVisOnly=0, +smooth=0。O/P 融资两列原表就是折叠的, 属版式, 保留。 + +**动了哪些文件** +app/assets/publish_template.xlsx (重裁)、app/services/publish_export.py (卫生+条件 +格式+双系列图)、scripts/test_wiring.py (公示导出用例补大表回归: 7+10 越过隐藏带, +三行合计/无隐藏行/条件格式区间/双系列带标记断言钉死)。 + +**部署方式** +两台都要: git pull 后重新 build 部署 (模板打进镜像, 必须重建)。真机 188 与模拟机 +tlai4090 同法。无新 env、无 DDL。 + +**真机判收** +开发机全部 20 套 588 例 ALL PASS (含新回归); 云端 LibreOffice 重算 92 公式 0 错误, +恒等式核过; 7+10 形状与 30 日净值序列两版渲染逐区目验 (三行合计齐、黄条粉底在、 +双系列图两轴两色带标记)。部署后判收: 重新点「导出公示表」, 底部三行 (卖出小计/ +存量合计/底行) 与图表单点标记都应出现。 + +**还欠着什么** +上节点的三个口径拍板照旧欠着; 图表逐像素对齐照旧按需。 + +---