Skip to content

出入库明细管理 API

1. 接口概述

出入库明细管理API用于查询系统中的出入库明细数据,支持按仓库编号和时间范围进行过滤,并支持分页查询。通过该接口可以获取指定时间段内的出入库详细信息,包括物料编码、数量、价格、仓库等信息。

2. 接口列表

接口名方法功能描述
iostock.getIOStockDetailListPOST出入库明细列表查询
iostock.getIOStockByOrderIdPOST通过单据号查询出入库记录

3. 系统级参数

系统级参数是调用所有接口都必须提供的参数:

参数名类型必填名称描述
flagstring应用标识用于标识调用方身份
methodstring接口方法名例如:iostock.getIOStockDetailList
vernumber版本号固定为1
charsetstring字符集固定为utf-8
typestring返回格式固定为json
timestampstring时间戳格式:yyyyMMddHHmmss
signstring签名用于验证请求的合法性

4. 接口详细说明

4.1 出入库明细列表查询

请求参数

参数名类型必填描述
page_nonumber页码,默认1
page_sizenumber每页数量,默认50
warehouse_bnstring仓库编码
operate_typestring操作类型(in:入库/out:出库)
material_bnstring物料编码
start_timestring开始时间,格式:yyyy-MM-dd HH:mm:ss
end_timestring结束时间,格式:yyyy-MM-dd HH:mm:ss
order_typestring单据类型

响应参数

参数名类型描述
countnumber总记录数
iostock_price_numdecimal出入库价格合计
unit_cost_numdecimal单位成本合计
listsarray出入库明细列表

lists 数组中的每个对象包含以下字段:

参数名类型描述
iostock_idint出入库ID
iostock_bnstring出入库单号
branch_bnstring仓库编码
branch_namestring仓库名称
bnstring物料编码
namestring物料名称
barcodestring条码
numsdecimal数量
balance_numsdecimal结存数量
typestring类型
iostock_timestring出入库时间(格式:yyyy-MM-dd HH:mm:ss)
memostring备注
original_bnstring原始单号
iostock_pricedecimal出入库价格
unit_costdecimal单位成本
original_namestring原始单名称
appropriation_nostring调拨单号
arrival_nostring到货单号
now_unit_costdecimal当前单位成本
inventory_costdecimal库存成本
now_numdecimal当前数量
now_inventory_costdecimal当前库存成本
operatorstring操作员
operstring操作人
supplier_namestring供应商名称
entity_unit_costdecimal实体单位成本

请求示例

请参考openapi.md文档中【6. 接口调用示例】。

响应示例

json
{
  "count": 100,
  "iostock_price_num": "10000.000",
  "unit_cost_num": "8000.000",
  "lists": [
    {
      "iostock_id": 1,
      "iostock_bn": "IO20240101001",
      "branch_bn": "WH001",
      "branch_name": "总仓库",
      "bn": "MAT001",
      "name": "测试物料",
      "barcode": "1234567890123",
      "nums": 100,
      "balance_nums": 1000,
      "type": "采购入库",
      "iostock_time": "2024-01-01 10:00:00",
      "memo": "采购入库",
      "original_bn": "PO20240101001",
      "iostock_price": 100.00,
      "unit_cost": 80.00,
      "original_name": "采购单",
      "appropriation_no": "",
      "arrival_no": "ARR20240101001",
      "now_unit_cost": 80.00,
      "inventory_cost": 80000.00,
      "now_num": 1000,
      "now_inventory_cost": 80000.00,
      "operator": "admin",
      "oper": "admin",
      "supplier_name": "测试供应商",
      "entity_unit_cost": 80.00
    }
  ]
}

4.2 通过单据号查询出入库记录

请求参数

参数名类型必填描述
order_bnstring单据编号

响应参数

参数名类型描述
order_bnstring单据编号
order_typestring单据类型
warehouse_bnstring仓库编码
warehouse_namestring仓库名称
total_qtydecimal总数量
detailarray明细列表

detail 数组中的每个对象包含以下字段:

参数名类型描述
material_bnstring物料编码
material_namestring物料名称
specstring规格
unitstring单位
operate_qtydecimal操作数量
operate_typestring操作类型

请求示例

请参考openapi.md文档中【6. 接口调用示例】。

响应示例

json
{
  "order_bn": "PO20240101001",
  "order_type": "purchase",
  "warehouse_bn": "WH001",
  "warehouse_name": "总仓库",
  "total_qty": 300,
  "detail": [
    {
      "material_bn": "MAT001",
      "material_name": "测试物料1",
      "spec": "标准规格",
      "unit": "个",
      "operate_qty": 100,
      "operate_type": "in"
    },
    {
      "material_bn": "MAT002",
      "material_name": "测试物料2",
      "spec": "标准规格",
      "unit": "个",
      "operate_qty": 200,
      "operate_type": "in"
    }
  ]
}

5. 错误码说明

错误码错误信息解决方案
0成功-
1参数错误检查参数格式是否正确,所有必填参数是否都已提供
400参数错误检查参数格式是否正确,所有必填参数是否都已提供
401未授权访问检查flag和sign是否正确
403禁止访问联系管理员获取权限
500服务器内部错误检查请求参数或联系技术支持
1001非法的flag请检查flag是否正确
1002请求已过期请检查timestamp是否正确,请求有效期为5分钟
1003签名错误请检查签名算法和参数是否正确
1004不支持的type格式请使用json格式
2001缺少必要的参数请检查请求参数是否完整
2002非法的请求参数请检查参数格式和范围是否正确
2003接口不存在请检查接口方法名是否正确

6. 注意事项

  1. 时间格式必须为 yyyy-MM-dd HH:mm:ss,否则可能导致查询失败。
  2. page_size 参数最大支持 1000,默认50,超过100将被限制为 100。
  3. 对于大数据量的查询,建议使用时间范围或物料编码进行精确筛选,以提高查询效率。
  4. 时间戳必须与服务器时间保持同步,误差不超过3600秒。
  5. 每个请求必须生成唯一的签名,避免重复提交。
  6. 请妥善保管接口密钥,避免泄露。
  7. 所有请求参数中的特殊字符必须进行 URL 编码,特别是在使用 GET 方法时。
  8. 请确保在请求头中设置正确的 Content-Type,对于 POST 请求建议使用 application/json。
  9. 为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率。
  10. 敏感数据(如签名、密钥等)请勿在日志中记录,确保数据安全。