material_manage_system/internal
文睿 张 3c75537f54 fix: 物料导入分类名归一化空白,兼容全角空格与 NBSP
界面上的分类显示名由前端拼成「编码 + 半角空格 + 名称」(U+0020),用户照抄进模板
时,中文输入法全角模式敲出的空格是 U+3000、从网页复制偶尔带 U+00A0。几串肉眼
一模一样、码点不同,精确匹配落空,于是出现「浏览器复制的能导入、自己手写的报
不存在」——分类名一个字没差,差的是那个看不见的空格。

- 匹配前用 normalizeWhitespace 把各种空白(半角、全角、NBSP、制表符)压成单个
  半角空格并去首尾;索引键与查询值同口径归一化,两边一致
- 只填空白的单元格现在报「大类/小类不能为空」,而不是「不存在或已停用」——它本来
  就是空的

验证:新增表驱动用例覆盖 3 种变体(全角空格、不换行空格、连续半角空格),修复前
3 个全部失败、修复后全部通过;go build ./...、go vet ./internal/...、
go test ./... 全部通过。
2026-10-10 17:44:29 +08:00
..
handler docs: 修正「导入必须用独立前缀」的错误论断 2026-10-10 16:18:02 +08:00
middleware feat: 强制校验可信公司上下文 2026-10-09 09:56:21 +08:00
model feat: 新增物料导入记录表与模型 2026-10-10 14:56:42 +08:00
repository feat: 物料导入记录仓储 2026-10-10 15:20:18 +08:00
service fix: 物料导入分类名归一化空白,兼容全角空格与 NBSP 2026-10-10 17:44:29 +08:00
testutil docs: document company isolation rollout and acceptance 2026-10-09 15:54:20 +08:00