dy-dashboard/vault/知识库/工作指南/训练记录/2026-08-10-下单备份回退按下单时间定位.md
2026-10-28 11:14:17 +08:00

16 lines
1.5 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-08-10 下单备份回退按下单时间定位
### 1. 回退数据按下单时间判断,仅回退当前批次
**旭东 → OpenClaw:**
> 下单备份管理点击回退数据的时候,没有根据时间来判断,目前是将历史订单和当前订单全部回退了,这个是错误的,回退的时候应该要判断下单时间,比如当前订单下单时间是7-25,另外还存在一个7-15的订单,那么回退的时候就只能回退7-25的订单,7-15的订单不能回退
**OpenClaw 响应:**
- 定位到 `routes/purchase.py` 下单回退接口:原逻辑按货品编号查全部订单行并整体删除,未区分批次;且任一批次已完结/到货就会阻断当前回退
- 修复:回退时读取当前备份记录的下单时间(`pending_orders.ordered_at`),按订单表「计划下单时间」精准定位本次确认下单产生的订单行
- 只删除当前批次的国内/海外订单行,历史批次(更早下单时间)不受影响
- 状态/到货校验只针对当前批次,历史批次已完结不再阻断回退
- 包材订单按「来源产品编码+下单时间」精准删除(原逻辑按物料编码全量删除,可能误删其他商品/批次的包材)
- 前端回退确认弹窗展示下单时间,注明「仅回退该批次,历史批次不受影响」;操作日志记录下单时间
- 3 个场景模拟验证通过(当前批次回退/当前批次已完结阻断/历史批次已完结不阻断),20 项测试无回归;Git 提交 2b02496