docs(cargo-type): 补充国标数据导入分析与转换说明

- 详细描述源文件结构与表头位置
- 说明关键规则:二级编码不使用序号列,唯一一级及名称限制
- 介绍字段映射关系至系统导入模板列
- 提供已生成的预览及导入文件路径
- 说明导入操作由用户在系统中完成,分两阶段导入一级和二级数据
This commit is contained in:
2026-07-28 12:52:02 +08:00
parent 6eba9d2c2f
commit e460813480
3 changed files with 8 additions and 0 deletions

View File

@@ -15,3 +15,11 @@
- **最终确认(样式)**decorator 仅操作 G 列「导入失败原因」——黑色字体argb `FF000000`、无背景填充fill→none其余列单元格样式/内容不修改。
- **列宽修复(关键 bug**:失败明细列宽之前全部失效,根因是 `CARGO_TYPE_FAIL_COL_WIDTH` 的 key 用了「类型/上级货物类型」等简写,而后端 `CargoTypeImportFailureExcel` 表头带 `*` 与括号说明(如 `*类型``上级货物类型(如为一级则不需填写)`key 对不上导致走默认 18。已把 key 改为与后端表头完全一致,并恢复「给所有列设宽」逻辑。最终宽度:`*类型`16 / `上级货物类型(…)`22 / `上级货物类型编码(…)`26 / `*货物类型`18 / `*货物类型编码`18 / `备注`24 / `导入失败原因`70。Node 验证通过。
- **事务性导入(后端改动)**`CargoTypeServiceImpl.importCargoType``@Transactional(rollbackFor=Exception.class)`,逐条 validate+save 后若有任一失败则 `TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()` 回滚整批,实现"全部正确才入库,任一错误则一条都不存"。需重新编译部署 tms-erp-api-ws 后端生效。
## 国标 GB-T 42820-2023 数据 → cargo-type 导入(分析+转换)
- 源文件:`/Users/gxwebsoft/Downloads/副本货物类型导入模板_模拟数据(1).xlsx`,单 SheetA1 是标题,真实表头在第 2 行。
- 源列:一级编码(A,2位)、一级类型(B)、二级编码(C,仅序号)、二级类型(D)、完整国标编码(E,4位)、一级类型/编码(F)、(G空)、(H标注不可靠)。
- 关键规则:二级真实编码 = E 列后 2 位,必须**忽略 C 列序号**E 前 2 位 = A。116 行全为二级明细,唯一一级 19 个01-99。无重码、名称≤14字、无备注。
- 映射:系统 6 列模板(`*类型`/`上级货物类型(…)`/`上级货物类型编码(…)`/`*货物类型`/`*货物类型编码`/`备注`)。一级行=类型一级、上级空、名称=B、编码=A二级行=类型二级、上级名称=B、上级编码=A、名称=D、编码=E。
- 已生成预览/导入文件(按系统模板表头,编码列设文本格式):`/Users/gxwebsoft/VUE/tms-erp-web-ws/import-cargo-type/货物类型导入_一级.xlsx`19 条)、`货物类型导入_二级.xlsx`116 条)。
- 用户确认:一级+二级都导、手动页面上传、测试/空环境直接导。导入动作由用户在系统"货物类型-批量导入"完成(两阶段:先一级后二级)。

Binary file not shown.

Binary file not shown.