forked from erp-dev/erp
2.1 KiB
2.1 KiB
API v1:采购单绑定库存记录(独立功能)
本文档描述采购单绑定库存记录的接口与约束,并包含库存记录查询接口新增筛选参数说明。
- API 前缀:
/api/v1/ - 认证:接口均要求登录(
IsAuthenticated)。 - 权限:要求当前用户绑定员工(
request.user.employee),否则返回403。
1) 采购单绑定库存记录
POST /api/v1/purchase-orders/{purchase_order_id}/bind-stock-change/
请求体参数(JSON)
stock_change_record_id(必填,int):库存变动记录 ID
成功响应
200 OK
响应字段:
purchase_order_id:采购单 IDstock_change_record_id:库存记录 IDmessage:绑定结果
约束与限制
- 仅当
auto_create_stock_change_tasks = False才允许绑定 - 只能绑定
source_id为空的库存记录(不允许覆盖) - 库存记录必须满足:
type = 入库source_type = 采购
- 采购单与库存记录必须 同商户、同仓库
- 采购单仅允许绑定 1 条库存记录(已绑定则拒绝)
is_finished不影响绑定行为(已完成也允许)- 绑定操作会记录服务日志(便于审计追踪)
2) 库存记录查询(用于绑定前筛选)
该接口支持筛选“可绑定库存记录”所需条件,例如:
source_type=采购且source_id 为空。
GET /api/v1/stock-changes/
新增查询参数
source_type(int,可选):库存来源类型source_id(int,可选):来源业务单据 IDsource_id_isnull(bool,可选):是否仅返回source_id为空的记录(true/false)- 若同时提供
source_id,以source_id为准,忽略source_id_isnull
- 若同时提供
绑定场景示例
查询“可绑定的采购入库记录(source_id 为空)”:
GET /api/v1/stock-changes/?type=1&source_type=1&source_id_isnull=true&warehouse={warehouse_id}
说明:
type=1表示入库source_type=1表示采购source_id_isnull=true表示未绑定业务单据warehouse可选,用于约束同仓库