From 3e2a243678512dab4c51c9760c937feb8aa1383f Mon Sep 17 00:00:00 2001 From: zlt Date: Fri, 28 Aug 2026 17:20:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=AC=E7=A4=BA=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=EF=BC=9A=E6=A8=A1=E6=9D=BF=E6=AE=8B=E7=95=99=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E8=A1=8C=E6=8A=8A=E5=90=88=E8=AE=A1=E8=A1=8C=E4=B8=8E?= =?UTF-8?q?=E5=9B=BE=E8=A1=A8=E6=95=B4=E6=AE=B5=E8=97=8F=E6=8E=89=EF=BC=9B?= =?UTF-8?q?=E7=BA=A2=E7=BB=BF=E6=9D=A1=E4=BB=B6=E6=A0=BC=E5=BC=8F=E6=8C=89?= =?UTF-8?q?=E6=9C=80=E7=BB=88=E8=A1=8C=E4=BD=8D=E9=87=8D=E5=BB=BA=EF=BC=9B?= =?UTF-8?q?=E5=87=80=E5=80=BC+=E4=BB=93=E4=BD=8D=E5=8F=8C=E7=B3=BB?= =?UTF-8?q?=E5=88=97=E5=B8=A6=E6=A0=87=E8=AE=B0=E5=9B=BE=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEVLOG.md | 35 +++++++++++++ app/assets/publish_template.xlsx | Bin 11747 -> 9203 bytes app/services/publish_export.py | 81 ++++++++++++++++++++++++++----- scripts/test_wiring.py | 38 +++++++++++++++ 4 files changed, 141 insertions(+), 13 deletions(-) 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 日净值序列两版渲染逐区目验 (三行合计齐、黄条粉底在、 +双系列图两轴两色带标记)。部署后判收: 重新点「导出公示表」, 底部三行 (卖出小计/ +存量合计/底行) 与图表单点标记都应出现。 + +**还欠着什么** +上节点的三个口径拍板照旧欠着; 图表逐像素对齐照旧按需。 + +---