forked from erp-dev/erp
2.5 KiB
2.5 KiB
Shipment 驳回逻辑更新说明(给前端)
本文档用于同步 2026-04-17 起 Shipment 驳回逻辑的最新行为。
结论
- 出货单状态从
已发布改为已驳回时,系统会自动解绑该出货单当前绑定的所有销售品 - 被解绑的销售品会重新回到“待分配/待出货”池
- 因此这些销售品会重新出现在默认的销售品查询接口中
- 后端会保留一份驳回前销售品 ID 快照用于审计,但这个字段当前不对前端返回
对前端的影响
1. 出货单详情页
- 如果一个出货单被驳回,再次查询该出货单详情时,
sales_items通常会变成空数组 items_count也会随之变为0- 这不是数据丢失,而是因为销售品已经被退回待分配池
2. 销售品选择页 / 待分配列表
- 原先属于该出货单的销售品,在驳回后会重新出现在默认查询结果里
- 包括这些接口的默认结果:
GET /api/v1/shipment/sales-items/customers/GET /api/v1/shipment/sales-items/by-customer/{customer_id}/GET /api/v1/shipment/sales-items/by-printing-order/{printing_order_id}/
3. 状态流转按钮
已驳回 -> 已审核这条路径已临时关闭- 前端如果有“驳回后再次审核”的按钮或操作入口,需要先隐藏或禁用
- 当前
已驳回状态只允许继续走已取消
当前不变的地方
- 驳回接口本身没有新增请求参数
- 驳回接口当前也没有新增响应字段
- 审计字段
rejected_sales_item_ids仅在后端内部使用,前端暂时拿不到
建议前端处理方式
- 当用户把出货单驳回成功后,前端应刷新:
- 当前出货单详情
- 销售品待分配列表
- 客户待出货统计
- 如果页面存在“已驳回后继续审核”的操作,需要立即下线或禁用
可直接复制的简版说明
出货单驳回逻辑已更新:
1. 出货单从“已发布”改成“已驳回”后,系统会自动解绑该出货单当前绑定的所有销售品。
2. 被解绑的销售品会重新回到待分配池,所以会重新出现在默认的销售品查询结果里。
3. 驳回后的出货单详情中,`sales_items` 通常会变成空数组,`items_count` 也会变成 0,这是预期行为。
4. 后端会保留一份驳回前绑定销售品 ID 的审计快照,但这个字段当前不对前端返回。
5. `已驳回 -> 已审核` 已临时关闭,前端如有对应按钮请隐藏或禁用。