修复发票PDF单页模板版式

This commit is contained in:
andy
2026-07-17 16:03:01 +07:00
parent 7dfaea7245
commit b24bfb5882
5 changed files with 213 additions and 29 deletions

View File

@@ -328,9 +328,10 @@ server/src/main/resources/templates/reservation-invoice/proforma-invoice-v1.xlsx
模板字段映射原则:
- 模板固定文案、Logo、银行信息、税号可以先保留在模板内。
- 当前 `PROFORMA_INVOICE_V1` 使用 A4 纵向单页模板,打印区域固定为 `A1:H52`,后端渲染时会再次写入纸张、缩放和打印区域,避免 LibreOffice 转 PDF 时分页漂移。
- 可动态变更但不属于单张 Invoice 的配置,后续迁移到酒店发票配置。
- 用户输入字段通过后端模板填充器写入指定单元格。
- 明细行需要支持 1 到 N 行;超过模板默认行数时,后端应复制行样式和公式。
- 第一版明细行固定支持 1 到 10 行;超过模板默认行数时,后续 checkpoint 再做复制行样式和公式。
- 金额公式由后端统一写入或由模板公式统一生成,不复制历史案例中不一致的公式。
## 9. 权限、安全和审计
@@ -358,6 +359,7 @@ server/src/main/resources/templates/reservation-invoice/proforma-invoice-v1.xlsx
- 已完成:新增业务接口 `POST /api/reservation/invoices/manual-generations`
- 已完成:新增生成记录表 `workflow_reservation_invoice_generation` 和业务审计。
- 已完成:根据请求 payload 填充受控 Excel 模板 `templates/reservation-invoice/proforma-invoice-v1.xlsx`
- 已完成:模板切换为接近酒店历史样张的 A4 单页版式,后端渲染器固定 `A1:H52` 打印区域,避免生成 PDF 被拆成多页。
- 已完成:复用平台 Excel 转 PDF Adapter 生成 PDF并上传阿里云 OSS。
- 已完成:返回 PDF URL、对象 Key、金额摘要和生成状态。
- 已完成:失败记录保留已上传成功的 Excel / PDF object key业务审计完成后才标记 `SUCCEEDED`