dy-dashboard/vault/知识库/工作指南/训练记录/2026-06-29-计划预测下单流程与操作日志多项优化.md
2026-10-28 11:14:17 +08:00

108 lines
5.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-06-29 计划预测下单流程与操作日志多项优化
## 优化项
### 1. 钉盘数据更新(日出库+库存导入)
**旭东 → OpenClaw:**
> 钉盘数据有更新,帮我更新一下
**OpenClaw 响应:**
- 日出库:导入 06-12~06-27 共 41 个文件,19,886+ 条记录
- 库存:导入 06-26、06-29 共 38 个文件(19+19 个仓库)
- 修复了 batch_import_cksj.py 的跳过逻辑:同时检测来源代码(jdbz)和中文名称(京东泊紫),防止因名称不一致重复导入
- 修正 MEMORY.md 中 jdbz → 京东泊紫(原误记为京东标准)
- 确认钉盘文件命名规则无误:`YYYYMMDD-来源-cksj.csv`
### 2. 操作日志功能完善
**旭东 → OpenClaw:**
> 系统设置里面的操作日志目前都是为空,你帮我想一下这个操作日志应该怎么规划使用?
**OpenClaw 响应:**
- 修复 `logs_list()` API:增加分页(page/size)、按操作人/操作类型筛选,返回格式改为 `{rows, total}`
- 自动排除登录记录(登录已体现在访问记录中)
- 新增 `add_operation_log()` 统一日志入口(`services/db.py`)
- 增加操作日志记录点:
- 产品管理:创建、编辑、批量编辑、CSV导入、BOM导入
- 反馈管理:提交、编辑、标记完成、重新打开、删除
- 系统配置:全局配置、趋势判断、销量预测、校准配置(沙箱)
- 权限管理:角色权限、用户权限变更
- 加入/移出待下单、修改下单数量
**旭东 → OpenClaw:**
> 从计划预测修改实际下单数量,并点击下单跳转到待下单管理,操作日志是要显示出来的
### 3. 计划预测下单跳转待下单管理 - 数据异常修复
**旭东 → OpenClaw:**
> 从计划预测里面下单跳转到待下单管理里面时有异常,会有产品类型、货品名称跳转失败的情况,跳转到待下单管理里面后为空
**OpenClaw 响应:**
- 前端:下单按钮从 `onclick="planOrder(JSON字符串)"` 改为 `window._planOrderDataCache[code]` 缓存传数据,避免特殊字符在 HTML 属性中解析出错
- 后端:`add_pending` 接口增加 products 表兜底查询,空字段自动补全
### 4. 修改下单数量不记录日志 + 切页面回退
**旭东 → OpenClaw:**
> 我在计划预测里面修改了实际下单数量并回车保存,操作日志里面没有对应记录,并且点击别的子菜单再回到计划预测里面之后,这个实际下单数量又恢复成保存之前的数量了
**OpenClaw 响应:**
- `update_formal_qty` 接口原来只更新已存在的 pending_orders 记录,如果商品没加入过待下单,修改的数量被静默丢弃
- 改为:如果 pending_orders 已有该商品 → 更新;没有 → 以 status='draft'(草稿)插入一条新记录
- 计划预测 API 新增 `_merge_pending_formal_qty()`,同时查询 status='pending' 和 'draft' 的记录
- 操作日志记录修改下单数量操作
**旭东 → OpenClaw:**
> 如果没有 → 自动创建一条 pending 记录...这里是不对的,我只是想要记录我修改了某个商品实际下单数量,不能直接跳转到待下单管理中
**OpenClaw 响应:**
- 修正:status='draft' 的记录不会出现在待下单管理页面(只查 status='pending')
- 计划预测 API 同时查询 pending+draft 两种状态
### 5. 下单备份管理优化(3项)
**旭东 → OpenClaw:**
> 下单备份管理中点击详情按钮之后的弹窗,需要保持和待下单管理里面的详情的弹窗一直
> 在待下单管理里面更新了下单备注,确认下单之后,下单备注没有跟随跳转到国内/海外订单管理中
> 从下单备份管理中回退数据的时候,回退到待下单管理时,之前填写下单备注被清除了
**OpenClaw 响应:**
- 详情弹窗改为和待下单管理确认弹窗一致:表格样式、交替行背景、统一宽度
- `confirm_order` 后端 INSERT 补上 `下单备注` 字段(domestic_orders + overseas_orders)
- 回退操作仅更新 status 和 ordered_at,remark 字段不受影响
### 6. 下单备注回车保存
**OpenClaw 响应:**
- 新增 `remarkEnterSave` 函数,于 input 的 `onkeydown` 中调用
- 按 Enter 触发 `e.target.blur()`,`onchange` 自动调用 `savePendingRemark`
### 7. 下单备份管理表格字段补全+字段设置
**OpenClaw 响应:**
- 补齐缺失字段:下单备注、建议下单数量、正式下单数量、下单人
- 新增 ⚙ 字段设置按钮,弹窗可勾选显示/隐藏字段
- 对应 `openBackupColModal` + `saveBackupColSettings`
### 8. 确认下单核弹窗恢复
**旭东 → OpenClaw:**
> 点击确认下单之后核对信息...我之前设置的有核对包材下单数据的包材列表,现在点开没有了
**OpenClaw 响应:**
- 回退了一次全量 git checkout,但随即取消恢复
- 重新应用所有今天优化项,确认下单核弹窗保持原样(不含额外包材明细,与今早版本一致)
## 涉及文件
- `static/js/app.js`
- `routes/purchase.py`
- `routes/dashboard.py`
- `routes/products.py`
- `routes/feedback.py`
- `routes/auth.py`
- `routes/planning.py`
- `services/db.py`
- `services/__init__.py`(如有)