Files
docs/打印标签维护/T01-亚马逊托盘标.md
2026-09-16 15:20:58 +08:00

4.9 KiB

T01 亚马逊托盘标

已确认口径

2026-09-16 用户确认:目的仓展示 SCK8 这样的 FBA 仓码;完整托盘号中的仓库部分继续使用 141 这样的内部业务编号;国内和海外全部统一走同一打印流程。

例如:顶部 SCK8,条码内容与底部文字均为 MSCU6639870-141-001。此处为脱敏示例。打印不重新生成或替换已有托盘号,仓库内部业务编号也不等于数据库 ID。

参考原稿:亚马逊托盘标.pdf。

项目 实现口径
纸张 297×210 mm,A4 横向,黑白,每托一页
顶部 正式 FBA 仓码,如 SCK8,居中;字号上限 280 pt,按 267 mm 可用宽度适配,完整保留仓码
中间 Code 128 矢量一维条码,编码完整托盘号;宽 230 mm、高 30 mm
底部 完整托盘号,居中;长编号缩小字号适配,不截断
其他字段 不展示独立柜号、PALLET 序号、仓库名称、产地或二维码
国内打印 全部打印、按 FBA 仓前 N 张补打,继续从原入口进入
海外打印 当前 FBA 托盘单张补打,继续从原入口进入
数据来源 国内冻结标签 destinationWarehouseCode/palletCode;海外当前托盘 fbaWarehouseCode/palletCode
统一流程 原业务入口鉴权并读取权威事实 → 同一 Print 内部接口 → 同一模板及校验 → 下载 PDF

实现范围

版式调整:用户要求顶部仓码尽量放大,并允许缩短条码。仓码字号上限由 96 pt 提高到 280 pt,条码高度由 55 mm 降为 30 mm,调整两者垂直位置以保持清晰间隔;条码宽度、扫码内容与底部托盘号保持一致。本次为尚未发布模板的版式迭代。

该调整已重新通过 mvn -pl print -am test -q,包含普通及 80 位长编码的 Code 128 反向解码。已重新生成 PDF 并渲染目检,放大仓码无裁切,与条码及底部文字无重叠;实物打印与 PDA 扫码仍待人工确认。

  • Print 新增 FBA_PALLET_A4_LANDSCAPE_V1,内部接口 POST /internal/print/v1/pdfs/fba-pallet-labels。
  • 请求只接受 fbaWarehouseCode 与 palletCode 两个标签业务字段,条码内容直接取 palletCode,避免文字与扫码内容不一致。
  • FBA 仓码为 1–32 位大写字母、数字或连字符,首位不是连字符。完整托盘号为 1–80 位可打印 ASCII,禁止首尾空格;不合法数据明确报错,不裁切或改号。
  • Firstleg LoadingPalletLabelService 与海外资源服务 PalletLabelPrintService 均调用上述内部接口;FBA 打印不再调用 100×100 mm 入仓唛头模板。
  • 其他类型仍由各自业务模板处理;本次没有改动箱唛、一件代发托盘、私人仓、仓储或退货标签。
  • 托盘码生成、海外来源托盘沿用及补码编号规则不变;海外柜级补码沿用已有头程前缀和连续序号。
  • 公网 API、页面按钮、权限和区域 Gateway 路由不变;新 Print 接口只允许内部服务令牌访问,不加入公网路由。

部署与验收

需要发布的服务为 print-service、firstleg-service、warehouse-overseas-service;先发布支持新接口的 Print,再发布两个调用服务。无需发布 Gateway、新配置或数据库变更。本轮不执行环境部署。

2026-09-16 离线验证结果:

检查 结果
mvn -pl print,warehouse-overseas-service -am test -q 通过;Print 63 项中 62 通过、1 项最大容量可选测试未启用,海外资源服务 95 项全部通过
mvn -pl firstleg -am test "-Dtest=LoadingPalletLabelServiceTest,InboundCartonLabelPrintServiceTest" "-Dsurefire.failIfNoSpecifiedTests=false" -q 10 项定向测试通过;包含国内全量/按仓打印映射与已有箱唛/一件代发调用回归
node scripts/mapper-scan-contract.mjs 通过
node --test scripts/gateway-route-contract.test.mjs 5 项通过;内部 Print 路径未暴露到公网
./scripts/agents-index-contract.ps1 1052 项检查通过
新增/修改 OpenAPI SnakeYAML 解析通过
新版 PDF 使用实际 Print 服务类离线生成并渲染目检;字号、间距及完整编号无裁切;测试覆盖多页顺序、嵌入字体、300 DPI Code 128 反向解码和 80 位长编码

本轮生成的脱敏 PDF 位于工作区 output/pdf/fba-pallet-label.pdf,属于可重新生成的验收产物,不纳入源码或业务索引。没有执行环境部署、真实 HTTP 或真机打印。

必须区分以下证据:

  • 离线 PDF 检查:尺寸、页数、顺序、完整文本、嵌入字体、Code 128 解码及长编码。
  • 调用映射检查:国内整批/按仓补打、海外单张均使用同一模板,顶部仓码与托盘内部编号不混用。
  • 人工验收:国内与海外入口真实下载、纸张按实际大小打印、PDA 扫描完整托盘号。当前待部署后人工实打确认;离线测试不代替真机验收。