出入库明细管理 API
1. 接口概述
出入库明细管理API用于查询系统中的出入库明细数据,支持按仓库编号和时间范围进行过滤,并支持分页查询。通过该接口可以获取指定时间段内的出入库详细信息,包括物料编码、数量、价格、仓库等信息。
2. 接口列表
| 接口名 | 方法 | 功能描述 |
|---|---|---|
iostock.getIOStockDetailList | POST | 出入库明细列表查询 |
iostock.getIOStockByOrderId | POST | 通过单据号查询出入库记录 |
3. 系统级参数
系统级参数是调用所有接口都必须提供的参数:
| 参数名 | 类型 | 必填 | 名称 | 描述 |
|---|---|---|---|---|
flag | string | 是 | 应用标识 | 用于标识调用方身份 |
method | string | 是 | 接口方法名 | 例如:iostock.getIOStockDetailList |
ver | number | 是 | 版本号 | 固定为1 |
charset | string | 是 | 字符集 | 固定为utf-8 |
type | string | 是 | 返回格式 | 固定为json |
timestamp | string | 是 | 时间戳 | 格式:yyyyMMddHHmmss |
sign | string | 是 | 签名 | 用于验证请求的合法性 |
4. 接口详细说明
4.1 出入库明细列表查询
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
page_no | number | 是 | 页码,默认1 |
page_size | number | 是 | 每页数量,默认50 |
warehouse_bn | string | 否 | 仓库编码 |
operate_type | string | 否 | 操作类型(in:入库/out:出库) |
material_bn | string | 否 | 物料编码 |
start_time | string | 否 | 开始时间,格式:yyyy-MM-dd HH:mm:ss |
end_time | string | 否 | 结束时间,格式:yyyy-MM-dd HH:mm:ss |
order_type | string | 否 | 单据类型 |
响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
count | number | 总记录数 |
iostock_price_num | decimal | 出入库价格合计 |
unit_cost_num | decimal | 单位成本合计 |
lists | array | 出入库明细列表 |
lists 数组中的每个对象包含以下字段:
| 参数名 | 类型 | 描述 |
|---|---|---|
iostock_id | int | 出入库ID |
iostock_bn | string | 出入库单号 |
branch_bn | string | 仓库编码 |
branch_name | string | 仓库名称 |
bn | string | 物料编码 |
name | string | 物料名称 |
barcode | string | 条码 |
nums | decimal | 数量 |
balance_nums | decimal | 结存数量 |
type | string | 类型 |
iostock_time | string | 出入库时间(格式:yyyy-MM-dd HH:mm:ss) |
memo | string | 备注 |
original_bn | string | 原始单号 |
iostock_price | decimal | 出入库价格 |
unit_cost | decimal | 单位成本 |
original_name | string | 原始单名称 |
appropriation_no | string | 调拨单号 |
arrival_no | string | 到货单号 |
now_unit_cost | decimal | 当前单位成本 |
inventory_cost | decimal | 库存成本 |
now_num | decimal | 当前数量 |
now_inventory_cost | decimal | 当前库存成本 |
operator | string | 操作员 |
oper | string | 操作人 |
supplier_name | string | 供应商名称 |
entity_unit_cost | decimal | 实体单位成本 |
请求示例
请参考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_bn | string | 是 | 单据编号 |
响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
order_bn | string | 单据编号 |
order_type | string | 单据类型 |
warehouse_bn | string | 仓库编码 |
warehouse_name | string | 仓库名称 |
total_qty | decimal | 总数量 |
detail | array | 明细列表 |
detail 数组中的每个对象包含以下字段:
| 参数名 | 类型 | 描述 |
|---|---|---|
material_bn | string | 物料编码 |
material_name | string | 物料名称 |
spec | string | 规格 |
unit | string | 单位 |
operate_qty | decimal | 操作数量 |
operate_type | string | 操作类型 |
请求示例
请参考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. 注意事项
- 时间格式必须为
yyyy-MM-dd HH:mm:ss,否则可能导致查询失败。 page_size参数最大支持 1000,默认50,超过100将被限制为 100。- 对于大数据量的查询,建议使用时间范围或物料编码进行精确筛选,以提高查询效率。
- 时间戳必须与服务器时间保持同步,误差不超过3600秒。
- 每个请求必须生成唯一的签名,避免重复提交。
- 请妥善保管接口密钥,避免泄露。
- 所有请求参数中的特殊字符必须进行 URL 编码,特别是在使用 GET 方法时。
- 请确保在请求头中设置正确的 Content-Type,对于 POST 请求建议使用 application/json。
- 为了系统性能和稳定性,请避免短时间内发送大量请求,建议控制调用频率。
- 敏感数据(如签名、密钥等)请勿在日志中记录,确保数据安全。
