material_manage_system/internal/service
文睿 张 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
..
admin_master_test.go feat: 按公司隔离物料主数据 2026-10-09 10:38:02 +08:00
admin_master.go feat: 按公司隔离物料主数据 2026-10-09 10:38:02 +08:00
application_organization_db_test.go feat: 按公司隔离物料申请与审批出库 2026-10-09 12:37:08 +08:00
application_test.go feat: 按公司隔离物料申请与审批出库 2026-10-09 12:37:08 +08:00
application.go feat: 按公司隔离物料申请与审批出库 2026-10-09 12:37:08 +08:00
auth_test.go feat: 配置用户公司授权与默认公司 2026-10-09 09:47:27 +08:00
auth.go docs: document company isolation rollout and acceptance 2026-10-09 15:54:20 +08:00
errors.go feat: 按公司隔离库存余额与流水 2026-10-09 11:10:13 +08:00
inbound_test.go feat: 按公司隔离入出库单据流程 2026-10-09 12:21:53 +08:00
inbound.go feat: 按公司隔离入出库单据流程 2026-10-09 12:21:53 +08:00
inventory_scope_test.go feat: 按公司隔离库存余额与流水 2026-10-09 11:10:13 +08:00
inventory_scope.go feat: 按公司隔离库存余额与流水 2026-10-09 11:10:13 +08:00
material_import_excel_test.go feat: 物料导入模板生成与 xlsx 解析 2026-10-10 14:57:56 +08:00
material_import_excel.go fix: 物料导入分类匹配兼容界面上的「编码 名称」写法 2026-10-10 17:32:15 +08:00
material_import_test.go fix: 物料导入分类名归一化空白,兼容全角空格与 NBSP 2026-10-10 17:44:29 +08:00
material_import.go fix: 物料导入分类名归一化空白,兼容全角空格与 NBSP 2026-10-10 17:44:29 +08:00
material_log_test.go 修改一致性问题 2026-09-21 14:13:30 +08:00
material_log.go feat: 按公司隔离物料主数据 2026-10-09 10:38:02 +08:00
material_test.go feat: 物料增加初始单位,补充物料批量上传计划 2026-10-10 14:15:49 +08:00
material.go feat: 物料增加初始单位,补充物料批量上传计划 2026-10-10 14:15:49 +08:00
organization_access_test.go feat: 组织列表为每家公司补充仓库摘要 2026-10-09 10:43:35 +08:00
organization_access.go feat: 组织列表为每家公司补充仓库摘要 2026-10-09 10:43:35 +08:00
organization_parameters_test.go feat: 强制校验可信公司上下文 2026-10-09 09:56:21 +08:00
outbound_test.go feat: 按公司隔离入出库单据流程 2026-10-09 12:21:53 +08:00
outbound.go feat: 按公司隔离入出库单据流程 2026-10-09 12:21:53 +08:00
partner_categories_test.go 新增伙伴业务分类,优化物料编辑并整理数据库脚本 2026-10-08 11:54:51 +08:00
stock_test.go 完善库存流水 2026-09-20 14:29:41 +08:00
stock.go feat: 按公司隔离库存余额与流水 2026-10-09 11:10:13 +08:00
websocket_ticket_test.go feat: 按公司隔离 WebSocket 订阅与事件投递 2026-10-09 13:39:45 +08:00
websocket_ticket.go docs: document company isolation rollout and acceptance 2026-10-09 15:54:20 +08:00