1
0
forked from erp-dev/erp
Files
erpnew/docs/shipment_rejected_frontend_note_2026-04-17.md

58 lines
2.5 KiB
Markdown
Raw 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.
# 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` 仅在后端内部使用,前端暂时拿不到
## 建议前端处理方式
- 当用户把出货单驳回成功后,前端应刷新:
- 当前出货单详情
- 销售品待分配列表
- 客户待出货统计
- 如果页面存在“已驳回后继续审核”的操作,需要立即下线或禁用
## 可直接复制的简版说明
```md
出货单驳回逻辑已更新:
1. 出货单从“已发布”改成“已驳回”后,系统会自动解绑该出货单当前绑定的所有销售品。
2. 被解绑的销售品会重新回到待分配池,所以会重新出现在默认的销售品查询结果里。
3. 驳回后的出货单详情中,`sales_items` 通常会变成空数组,`items_count` 也会变成 0这是预期行为。
4. 后端会保留一份驳回前绑定销售品 ID 的审计快照,但这个字段当前不对前端返回。
5. `已驳回 -> 已审核` 已临时关闭,前端如有对应按钮请隐藏或禁用。
```