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

2.5 KiB
Raw Blame History

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. `已驳回 -> 已审核` 已临时关闭,前端如有对应按钮请隐藏或禁用。