1
0
forked from erp-dev/erp
Files
erpnew/docs/api_v1_purchase_order_bind_stock_change.md

2.1 KiB
Raw Blame History

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:采购单 ID
  • stock_change_record_id:库存记录 ID
  • message:绑定结果

约束与限制

  • 仅当 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_typeint可选库存来源类型
  • source_idint可选来源业务单据 ID
  • source_id_isnullbool可选是否仅返回 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 可选,用于约束同仓库