bd5bfbac2d
Root cause: LLM receiving full 34k-char JRXML would regenerate from scratch
instead of modifying coordinates in-place, shrinking output to ~3k chars.
Solution (programmatic node control, not prompt engineering):
- New agent/jrxml_windower.py: decompose JRXML into header (never sent to
LLM) + individual bands. Split bands >4000 chars at element boundaries.
Reassemble with element count validation (>10% change = rollback).
- Rewrite refine_layout: per-band windowed LLM processing (~2-4k chars
each). LLM cannot "reimagine" the entire report.
- Rewrite map_fields: 100% programmatic regex $F{field_N} -> real name
replacement. Zero LLM calls, zero content loss.
- _sanitize_field_name: non-ASCII chars escaped to _uXXXX_ format for
valid JRXML identifiers.
- Tests: 48 new unit tests (windower 28 + map_fields 20). All passing.
Full suite 385 tests, zero regressions.
2.0 KiB
2.0 KiB
材料标签接口参数
材料标签接口参数
打印平台模版分类:材料价格通用标签打印
材料标签支持一次打多张,与labelList集合里的元素个数相匹配:
| 字段 | 含义 | 是否必有 | 类型 |
|---|---|---|---|
| labelList | 材料标签列表 | List | |
Label:
| 字段 | 含义 | 是否必有 | 类型 |
|---|---|---|---|
| name | 材料名称 | String | |
| supplierCode | 零件号 | String | |
| customCode | 材料编码 | String | |
| sellPrice | 销售价格 | BigDecimal | |
| date | 打印日期 | String yyyy/MM/dd | |
采购库存材料标签打印
打印平台模版分类:
不带供应商信息:采购库存通用标签打印-新
带供应商信息:采购库存通用标签打印-包含供应商-新
打印数据体
材料标签支持一次打多张,于labelList集合里的元素个数相匹配:
| 字段 | 含义 | 是否必有 | 类型 |
|---|---|---|---|
| labelList | 材料名称 | List |
Object:
| 字段 | 含义 | 是否必有 | 类型 |
|---|---|---|---|
| partName | 材料名称 | String | |
| partBrand | 材料品牌 | String | |
| customCode | 材料编码 | String | |
| partShowName | 组合名称(材料品牌,名称,规格型号组合) | String | |
| supplierCode | 材料供应商编码 | String | |
| spec | 材料规格型号 | String | |
| unit | 材料单位 | String | |
| barCode | 材料编码 | String | |
| billDate | 单据日期 | String yyyy-MM-dd | |
| supplierName | 供应商名称 | String | |
| storageName | 材料仓库名称 | String | |
| defSeat | 材料货位 | String | |
| date | 打印的当前日期 | String yyyy/MM/dd |
更新: 2023-09-14 14:27:45 原文: https://xcz.yuque.com/ombipo/rpc7ms/mvq9tlfxeg2k6v9y
