dy-dashboard/vault/知识库/工作指南/训练记录/2026-09-16-产品信息管理导入支持覆盖更新.md
2026-10-28 11:14:17 +08:00

26 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-09-16-产品信息管理导入支持覆盖更新 <!-- project: path:/home/gxd/.openclaw/workspace/dy-dashboard -->
### 1. 产品信息管理导入支持覆盖更新
**旭东 → OpenClaw:**
> 基础信息菜单下的产品信息管理中,我想要通过导入表格的方式去修改一些产品的采购计划,但是发现覆盖不成功,查一下什么原因并解决
**OpenClaw 响应:**
已查明并解决。
**原因**:产品信息管理的导入原本只做「新增」——代码里遇到已存在的货品编号会直接跳过并提示“已存在,已跳过”,所以无法通过导入修改已有产品的采购计划。另外表格若只填了「货品编号 + 采购计划」两列(没有货品名称列),还会被当成空行跳过。你遇到的两种情况都会导致“覆盖不成功”。
**修复**:
- 已存在的货品编号改为按文件内容**覆盖更新**(新增+更新都支持),空白单元格保留原值不清空;
- 只填「货品编号 + 采购计划」等部分列即可更新,不再强制要求货品名称;
- 不存在的货品编号仍需填写货品名称才会新增,否则提示无法新增并跳过;
- 导入结果按「新增 X 条、更新 Y 条」分别统计,并写入操作日志;
- 包材导入(含绑定成品编码)的 BOM 绑定在更新场景下同样生效;
- 导入弹窗补充了覆盖更新说明文字。
**验证**:接口实测 9 项全部通过(新增、两列覆盖采购计划、完整列覆盖、空白不清空、未知编码不误新增、混合新增+更新、操作日志、清理),并用真实产品 JWTBS-JMR-9778-ALJK 实测覆盖成功(验证后已还原为原值 李媛)。JavaScript 语法、gzip 缓存、差异检查通过;测试环境服务已重启,本机与 `192.168.8.186:18888` 均返回 HTTP 200。
**使用提示**:表格里留空的单元格表示“不修改该字段”,如需清空某个字段请在编辑弹窗里清空。
Git 提交 `4dfa7f4`,提交说明“产品信息管理导入支持覆盖更新”。原有未提交改动均保留且未纳入本次提交。未操作生产环境。已记录。