进销存 API 接口文档
分类:开放能力 | 适用:开发者、IT、集成商 | 接口数:13
这帮你解决什么:进销存模块开放API:物料/成品/仓库/库位/出入库接口,获取和操作进销存数据。共 13 个接口,含请求参数和响应字段。
接口概览
| 接口 | 方式 | 路径 | 说明 |
| 查询仓库-货架-库位树 | POST | /open/api/saas/erp/warehouse/warehouseLocationTreeV2 | 查询仓库-货架-库位的树形结构,支持按仓库ID和启用状态筛选 |
| 分页查询仓库 | POST | /open/api/saas/erp/warehouse/menuPage | 分页查询仓库列表,支持按仓库编号、名称、类型、启用状态、地区等条件筛选 |
| 分页查询入库单 | POST | /open/api/saas/erp/inventory/inStock/page | 根据多种条件分页查询入库单信息,支持按入库单号、入库类型、仓库、状态、时间范围等多维度筛选 |
| 分页查询出库单 | POST | /open/api/saas/erp/inventory/outStock/page | 根据多种条件分页查询出库单信息,支持按出库单号、出库类型、仓库、状态、时间范围等多维度筛选 |
| 分页查询库位 | POST | /open/api/saas/erp/warehouse/warehouseLocationPage | 分页查询库位列表,支持按库位名称、编号、启用状态、货架、仓库等条件筛选 |
| 分页查询成品 | POST | /open/api/saas/erp/goods/page | 根据多种条件分页查询成品信息,支持按成品名称、编号、规格、分类、仓库等多维度筛选 |
| 批量新增成品 | POST | /open/api/saas/erp/goods/batchAdd | 通过Excel文件批量导入成品,按固定模板解析。请求Content-Type为multipart/form-data |
| 批量新增物料 | POST | /open/api/saas/erp/inventory/material/batchAdd | 通过Excel文件批量导入物料,按固定模板解析。请求Content-Type为multipart/form-data |
| 新增入库单 | POST | /open/api/saas/erp/inventory/inStock/add | 创建入库单,支持物料入库和成品入库,可关联采购订单等业务单据 |
| 新增出库单 | POST | /open/api/saas/erp/inventory/outStock/add | 创建出库单,支持物料出库和成品出库,可关联销售订单等业务单据 |
| 分页查询物料 | POST | /open/api/saas/erp/inventory/material/page | 根据多种条件分页查询物料信息,支持按物料编号、名称、规格、分类、仓库等多维度筛选 |
| 确认入库 | POST | /open/api/saas/erp/inventory/inStock/inbound | 确认入库单入库操作,将待入库状态的入库单变更为已入库状态 |
| 确认出库 | POST | /open/api/saas/erp/inventory/outStock/outbound | 确认出库单出库操作,将待出库状态的出库单变更为已出库状态 |
1. 查询仓库-货架-库位树
方式: POST | 路径: /open/api/saas/erp/warehouse/warehouseLocationTreeV2
查询仓库-货架-库位的树形结构,支持按仓库ID和启用状态筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
onlyShowBelongShelfFlag | Boolean | 否 | 是否只显示关联货架的库位 |
warehouseId | Long | 否 | 仓库ID |
enableStatus | Boolean | 否 | 启用状态 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
是 | 仓库ID | warehouseCode | String |
是 | 仓库编码 | warehouseName | String |
是 | 仓库名称 | childrenList | 是 |
shelfId | Long | 是 | 货架ID |
shelfCode | String | 是 | 货架编码 |
shelfName | String | 是 | 货架名称 |
childrenList | 是 | warehouseLocationId | Long |
是 | 库位ID | warehouseLocationCode | String |
是 | 库位编码 | warehouseLocationName | String |
是 | 库位名称 | {
"warehouseId": 3001,
"enableStatus": true,
"onlyShowBelongShelfFlag": false
} | {
"code": "200",
"message": "success",
"data": [
{
"warehouseId": 3001,
"warehouseCode": "WH001",
"warehouseName": "主仓库",
"childrenList": [
{
"shelfId": 4001,
"shelfCode": "SHELF001",
"shelfName": "A区货架",
"childrenList": [
{
"warehouseLocationId": 5001,
"warehouseLocationCode": "A-01-01",
"warehouseLocationName": "A区01排01位"
},
{
"warehouseLocationId": 5002,
"warehouseLocationCode": "A-01-02",
"warehouseLocationName": "A区01排02位"
}
]
}
]
}
]
} |
成功 | - | 请求成功 | 参数错误 |
- | 请求参数不合法 | 未授权 | - |
未登录或token失效 | 禁止访问 | - | 无权限访问该接口 |
2. 分页查询仓库
方式: POST | 路径: /open/api/saas/erp/warehouse/menuPage
分页查询仓库列表,支持按仓库编号、名称、类型、启用状态、地区等条件筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
pageNum | Integer | 是 | 当前页码,最小值为1 |
pageSize | Integer | 是 | 每页数量,最大值为1000 |
warehouseCode | String | 否 | 仓库编号 |
warehouseName | String | 否 | 仓库名称 |
warehouseType | Integer | 否 | 仓库类型(1:仓库,2:嘉立创SMT私有库) |
enableStatus | Boolean | 否 | 启用状态 |
defaultFlag | Boolean | 否 | 是否默认 |
provinceName | String | 否 | 省名称 |
cityName | String | 否 | 城市名称 |
districtName | String | 否 | 区名称 |
createTimeStart | Date | 否 | 创建时间-开始 |
createTimeEnd | Date | 否 | 创建时间-结束 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
pageNum | Integer | 是 | 当前页码 |
pageSize | Integer | 是 | 每页数量 |
pages | Integer | 是 | 总页数 |
total | Long | 是 | 总记录数 |
bizKey | Long | 是 | 业务ID |
warehouseType | Integer | 是 | 仓库类型(1:仓库) |
warehouseTypeName | String | 是 | 仓库类型名称 |
warehouseCode | String | 是 | 仓库编号 |
warehouseName | String | 是 | 仓库名称 |
enableStatus | Boolean | 是 | 启用状态 |
enableStatusName | String | 是 | 启用状态名称 |
provinceCode | Integer | 是 | 省编码 |
provinceName | String | 是 | 省名称 |
cityCode | Integer | 是 | 城市编码 |
cityName | String | 是 | 城市名称 |
districtCode | Integer | 是 | 区编码 |
districtName | String | 是 | 区名称 |
address | String | 是 | 详细地址 |
createBy | Long | 是 | 创建人 |
createByName | String | 是 | 创建人名称 |
createTime | Date | 是 | 创建时间 |
defaultFlag | Boolean | 是 | 是否默认 |
defaultFlagName | String | 是 | 是否默认名称 |
systemInitFlag | Boolean | 是 | 是否系统初始化 |
{
"pageNum": 1,
"pageSize": 20,
"warehouseName": "主仓库",
"enableStatus": true
} | {
"code": "200",
"message": "success",
"data": {
"pageNum": 1,
"pageSize": 20,
"pages": 1,
"total": 3,
"data": [
{
"bizKey": 123456,
"warehouseType": 1,
"warehouseTypeName": "仓库",
"warehouseCode": "WH001",
"warehouseName": "主仓库",
"enableStatus": true,
"enableStatusName": "启用",
"provinceName": "广东省",
"cityName": "深圳市",
"districtName": "南山区",
"address": "科技园南区",
"createByName": "张三",
"createTime": "2026-01-15 10:30:00",
"defaultFlag": true,
"defaultFlagName": "是",
"systemInitFlag": true
}
]
}
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |
3. 分页查询入库单
方式: POST | 路径: /open/api/saas/erp/inventory/inStock/page
根据多种条件分页查询入库单信息,支持按入库单号、入库类型、仓库、状态、时间范围等多维度筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
pageNum | Integer | 是 | 当前页码,最小值为1 |
pageSize | Integer | 是 | 每页数量,最大值为1000 |
inStockCode | String | 否 | 入库单号 |
statusList | List<Integer> | 否 | 状态列表 |
inStockDateBegin | Date | 否 | 入库日期开始 |
inStockDateEnd | Date | 否 | 入库日期结束 |
createTimeBegin | Date | 否 | 创建时间开始 |
createTimeEnd | Date | 否 | 创建时间结束 |
remark | String | 否 | 备注 |
goodsCode | String | 否 | 成品编号 |
goodsName | String | 否 | 成品名称 |
spec | String | 否 | 规格 |
materialName | String | 否 | 物料名称 |
materialCode | String | 否 | 物料编号 |
mallNumber | String | 否 | 商城编号 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
pageNum | Integer | 是 | 当前页码 |
pageSize | Integer | 是 | 每页数量 |
pages | Integer | 是 | 总页数 |
total | Long | 是 | 总记录数 |
id | Long | 是 | ID |
bizKey | Long | 是 | 业务ID |
inStockId | Long | 是 | 入库单ID |
inStockCode | String | 是 | 入库单号 |
inStockType | Integer | 是 | 入库类型(1:采购单入库 2:生产完工入库 3:成品盘盈 4:原料盘盈 5:退料单入库 6:成品其他入库 7:物料其他入库 8:调拨单入库 9:借调入库 10:直接调整库存入库 11:成品销售退货 12:发货单退货) |
inStockTypeName | String | 是 | 入库类型名称 |
inWarehouseId | Long | 是 | 入库仓库ID |
warehouseName | String | 是 | 仓库名称 |
status | Integer | 是 | 状态 |
statusName | String | 是 | 状态名称 |
associatedBusinessId | Long | 是 | 关联业务ID |
associatedBusinessCode | String | 是 | 关联业务编号 |
associatedBusinessType | Integer | 是 | 关联业务类型(1:采购单 2:生产订单 3:盘点单 4:退料单 5:销售单 6:调拨单 7:借调出库单 8:发货单) |
associatedBusinessTypeName | String | 是 | 关联业务类型名称 |
customField | List<CustomFieldVO> | 是 | inStockPersonName |
String | 是 | 入库人名称 | inStockDate |
Date | 是 | 入库日期 | createTime |
Date | 是 | 创建时间 | remark |
String | 是 | 备注 | totalPrice |
BigDecimal | 是 | 总金额 | productionOrderRelationOrderId |
Long | 是 | 生产订单关联订单ID | productionOrderRelationOrderCode |
String | 是 | 生产订单关联订单编号 | inStockNumSum |
BigDecimal | 是 | 入库数量合计 | fieldId |
Long | 是 | 自定义字段ID | fieldCode |
String | 是 | 自定义字段编码 | fieldName |
String | 是 | 自定义字段名称 | fieldType |
Integer | 是 | 自定义字段类型 | fieldValue |
String | 是 | 自定义字段值 | fieldOptionValue |
List<String> | 否 | 自定义字段选项值 | {
"pageNum": 1,
"pageSize": 20,
"inStockCode": "IN202601001",
"inStockTypes": [1],
"inWarehouseIds": [3001],
"status": 1,
"sortList": [
{
"fieldCode": "createTime",
"sortType": 1
}
]
} |
{
"code": "200",
"message": "success",
"data": {
"pageNum": 1,
"pageSize": 20,
"pages": 3,
"total": 50,
"data": [
{
"id": 123456,
"bizKey": 123456,
"inStockId": 123456,
"inStockCode": "IN202601001",
"inStockType": 1,
"inStockTypeName": "采购入库",
"inWarehouseId": 3001,
"warehouseName": "主仓库",
"status": 2,
"statusName": "已入库",
"inStockPersonName": "张三",
"inStockDate": "2026-01-15 10:30:00",
"createTime": "2026-01-15 10:00:00",
"totalPrice": 10000.00,
"inStockNumSum": 1000,
"customField": []
}
]
}
} | 成功 | - | 请求成功 |
参数错误 | - | 请求参数不合法 | 未授权 |
- | 未登录或token失效 | 禁止访问 | - |
无权限访问该接口 | 服务器错误 | - | 服务器内部错误 |
4. 分页查询出库单
方式: POST | 路径: /open/api/saas/erp/inventory/outStock/page
根据多种条件分页查询出库单信息,支持按出库单号、出库类型、仓库、状态、时间范围等多维度筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
pageNum | Integer | 是 | 当前页码,最小值为1 |
pageSize | Integer | 是 | 每页数量,最大值为1000 |
keyword | String | 否 | 关键字 |
outStockCode | String | 否 | 出库单号 |
outStockTypes | List<Integer> | 否 | 出库类型列表 |
outWarehouseIds | List<Long> | 否 | 出库仓库ID列表 |
statusList | List<Integer> | 否 | 状态列表 |
status | Integer | 否 | 状态 |
consignee | String | 否 | 收货人 |
associatedBusinessCode | String | 否 | 关联业务编号 |
associatedBusinessId | Long | 否 | 关联业务ID |
associatedBusinessTypes | List<Integer> | 否 | 关联业务类型列表(1:采购单 2:生产订单 3:盘点单 4:退料单 5:销售单 6:调拨单 7:借调出库单 8:发货单) |
associatedBusinessType | Integer | 否 | 关联业务类型(1:采购单 2:生产订单 3:盘点单 4:退料单 5:销售单 6:调拨单 7:借调出库单 8:发货单) |
outStockPersonIds | List<Long> | 否 | 出库人ID列表 |
outStockDateBegin | Date | 否 | 出库日期开始 |
outStockDateEnd | Date | 否 | 出库日期结束 |
createTimeBegin | Date | 否 | 创建时间开始 |
createTimeEnd | Date | 否 | 创建时间结束 |
remark | String | 否 | 备注 |
bizKeys | List<Long> | 否 | 业务主键列表 |
sortList | List<FieldSortVO> | 否 | 排序集合,详见FieldSortVO对象 |
orderByColumns | String | 否 | 排序列 |
menuId | Long | 否 | 菜单ID |
fieldCategory | Integer | 否 | 字段分类 |
goodsCode | String | 否 | 成品编号 |
goodsName | String | 否 | 成品名称 |
materialCode | String | 否 | 物料编号 |
materialName | String | 否 | 物料名称 |
specification | String | 否 | 规格 |
mallNumber | String | 否 | 商城编号 |
fieldCode | String | 是 | 属性编码 |
sortType | Integer | 是 | 排序类型 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
pageNum | Integer | 是 | 当前页码 |
pageSize | Integer | 是 | 每页数量 |
pages | Integer | 是 | 总页数 |
total | Long | 是 | 总记录数 |
bizKey | Long | 是 | 业务ID |
outStockId | Long | 是 | 出库单ID |
outStockCode | String | 是 | 出库单号 |
outStockType | Integer | 是 | 出库类型 |
outStockTypeName | String | 是 | 出库类型名称 |
outWarehouseId | Long | 是 | 出库仓库ID |
outStockTotalNum | BigDecimal | 是 | 出库总数量 |
warehouseName | String | 是 | 仓库名称 |
status | Integer | 是 | 状态 |
statusName | String | 是 | 状态名称 |
consignee | String | 是 | 收货人 |
associatedBusinessId | Long | 是 | 关联业务ID |
associatedBusinessCode | String | 是 | 关联业务编号 |
associatedBusinessType | Integer | 是 | 关联业务类型(1:采购单 2:生产订单 3:盘点单 4:退料单 5:销售单 6:调拨单 7:借调出库单 8:发货单) |
associatedBusinessTypeName | String | 是 | 关联业务类型名称 |
customField | List<CustomFieldVO> | 是 | outStockPersonName |
String | 是 | 出库人名称 | outStockDate |
Date | 是 | 出库日期 | createTime |
Date | 是 | 创建时间 | remark |
String | 是 | 备注 | pickOrderSourceType |
Integer | 是 | 领料单来源类型 | pickOrderSourceId |
Long | 是 | 领料单来源ID | pickOrderSourceCode |
String | 是 | 领料单来源编号 | fieldId |
Long | 是 | 自定义字段ID | fieldCode |
String | 是 | 自定义字段编码 | fieldName |
String | 是 | 自定义字段名称 | fieldType |
Integer | 是 | 自定义字段类型 | fieldValue |
String | 是 | 自定义字段值 | fieldOptionValue |
List<String> | 否 | 自定义字段选项值 | {
"pageNum": 1,
"pageSize": 20,
"outStockCode": "OUT202601001",
"outStockTypes": [1],
"outWarehouseIds": [3001],
"status": 1,
"sortList": [
{
"fieldCode": "createTime",
"sortType": 1
}
]
} |
{
"code": "200",
"message": "success",
"data": {
"pageNum": 1,
"pageSize": 20,
"pages": 3,
"total": 50,
"data": [
{
"bizKey": 123456,
"outStockId": 123456,
"outStockCode": "OUT202601001",
"outStockType": 1,
"outStockTypeName": "销售出库",
"outWarehouseId": 3001,
"outStockTotalNum": 500,
"warehouseName": "主仓库",
"status": 2,
"statusName": "已出库",
"consignee": "李四",
"outStockPersonName": "张三",
"outStockDate": "2026-01-15 10:30:00",
"createTime": "2026-01-15 10:00:00",
"customField": []
}
]
}
} | 成功 | - | 请求成功 |
参数错误 | - | 请求参数不合法 | 未授权 |
- | 未登录或token失效 | 禁止访问 | - |
无权限访问该接口 | 服务器错误 | - | 服务器内部错误 |
5. 分页查询库位
方式: POST | 路径: /open/api/saas/erp/warehouse/warehouseLocationPage
分页查询库位列表,支持按库位名称、编号、启用状态、货架、仓库等条件筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
pageNum | Integer | 是 | 当前页码,最小值为1 |
pageSize | Integer | 是 | 每页数量,最大值为1000 |
keyword | String | 否 | 关键字 |
warehouseLocationName | String | 否 | 库位名称 |
warehouseLocationCode | String | 否 | 库位编号 |
enableStatus | Boolean | 否 | 启用状态 |
shelfId | Long | 否 | 货架ID |
warehouseId | Long | 否 | 仓库ID |
warehouseType | Integer | 否 | 仓库类型 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
pageNum | Integer | 是 | 当前页码 |
pageSize | Integer | 是 | 每页数量 |
pages | Integer | 是 | 总页数 |
total | Long | 是 | 总记录数 |
bizKey | Long | 是 | 业务ID |
warehouseLocationCode | String | 是 | 库位编号 |
warehouseLocationName | String | 是 | 库位名称 |
enableStatus | Boolean | 是 | 启用状态 |
enableStatusName | String | 是 | 启用状态名称 |
remark | String | 是 | 备注 |
createBy | Long | 是 | 创建人 |
createByName | String | 是 | 创建人名称 |
createTime | Date | 是 | 创建时间 |
shelfId | Long | 是 | 货架ID |
shelfCode | String | 是 | 货架编码 |
shelfName | String | 是 | 货架名称 |
warehouseId | Long | 是 | 仓库ID |
warehouseName | String | 是 | 仓库名称 |
warehouseCode | String | 是 | 仓库编码 |
defaultFlag | Boolean | 是 | 是否默认 |
defaultFlagName | String | 是 | 是否默认名称 |
{
"pageNum": 1,
"pageSize": 20,
"warehouseId": 3001,
"enableStatus": true
} | {
"code": "200",
"message": "success",
"data": {
"pageNum": 1,
"pageSize": 20,
"pages": 1,
"total": 5,
"data": [
{
"bizKey": 123456,
"warehouseLocationCode": "A-01-01",
"warehouseLocationName": "A区01排01位",
"enableStatus": true,
"enableStatusName": "启用",
"remark": "常用库位",
"createByName": "张三",
"createTime": "2026-01-15 10:30:00",
"shelfId": 4001,
"shelfCode": "SHELF001",
"shelfName": "A区货架",
"warehouseId": 3001,
"warehouseName": "主仓库",
"warehouseCode": "WH001",
"defaultFlag": false,
"defaultFlagName": "否"
}
]
}
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |
6. 分页查询成品
方式: POST | 路径: /open/api/saas/erp/goods/page
根据多种条件分页查询成品信息,支持按成品名称、编号、规格、分类、仓库等多维度筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
pageNum | Integer | 是 | 当前页码,最小值为1 |
pageSize | Integer | 是 | 每页数量,最大值为1000 |
keyword | String | 否 | 关键字 |
goodsCodeList | List<String> | 否 | 成品编号列表 |
goodsName | String | 否 | 成品名称 |
spec | String | 否 | 规格 |
remark | String | 否 | 备注 |
enableStatus | Integer | 否 | 启用状态 |
warehouseId | Long | 否 | 仓库ID |
productType | Integer | 否 | 产品类型 |
createTimeStart | Date | 否 | 创建时间开始 |
createTimeEnd | Date | 否 | 创建时间结束 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
pageNum | Integer | 是 | 当前页码 |
pageSize | Integer | 是 | 每页数量 |
pages | Integer | 是 | 总页数 |
total | Long | 是 | 总记录数 |
bizKey | Long | 是 | 业务ID |
goodsId | Long | 是 | 成品ID |
goodsCode | String | 是 | 成品编号 |
goodsName | String | 是 | 成品名称 |
productType | Integer | 是 | 产品类型 |
unitName | String | 是 | 单位名称 |
unitValue | String | 是 | 单位值 |
categoryName | String | 是 | 分类名称 |
categoryValue | String | 是 | 分类值 |
spec | String | 是 | 规格 |
brand | String | 是 | 品牌 |
unitPrice | BigDecimal | 是 | 单价 |
unitPriceWithTax | BigDecimal | 是 | 含税单价 |
stockNum | BigDecimal | 是 | 库存数量 |
occupancyStockNum | BigDecimal | 是 | 占用库存数量 |
availableStockNum | BigDecimal | 是 | 可用库存数量 |
enableStatus | Integer | 是 | 启用状态 |
enableStatusName | String | 是 | 启用状态名称 |
customField | List<CustomFieldVO> | 是 | warehouseId |
Long | 是 | 仓库ID | warehouseCode |
String | 是 | 仓库编号 | warehouseName |
String | 是 | 仓库名称 | belongShelfId |
Long | 是 | 货架ID | belongShelf |
String | 是 | 货架 | warehouseLocationId |
Long | 是 | 库位ID | warehouseLocationCode |
String | 是 | 库位编号 | warehouseLocationName |
String | 是 | 库位名称 | locationNumList |
List<GoodsStockLocationNumVO> | 是 | stockAlarmNum | BigDecimal |
是 | 库存预警数 | firstUrl | String |
是 | 首图URL | createByName | String |
是 | 创建人名称 | createTime | Date |
是 | 创建时间 | bomInfoBOList | List<BomSimpleInfoVO> |
是 | remark | String | 是 |
备注 | taxRate | BigDecimal | 是 |
税率 | fieldId | Long | 是 |
自定义字段ID | fieldCode | String | 是 |
自定义字段编码 | fieldName | String | 是 |
自定义字段名称 | fieldType | Integer | 是 |
自定义字段类型 | fieldValue | String | 是 |
自定义字段值 | fieldOptionValue | List<String> | 否 |
自定义字段选项值 | goodsId | Long | 是 |
成品ID | warehouseId | Long | 是 |
仓库ID | warehouseCode | String | 是 |
仓库编码 | warehouseName | String | 是 |
仓库名称 | belongShelfId | Long | 是 |
所属货架ID | belongShelf | String | 是 |
所属货架 | warehouseLocationId | Long | 是 |
库位ID | warehouseLocationCode | String | 是 |
库位编码 | warehouseLocationName | String | 是 |
库位名称 | stockNum | BigDecimal | 是 |
库存数量 | borrowNum | BigDecimal | 是 |
借调数量 | bomId | Long | 是 |
bomId | bomCode | String | 是 |
bom编号 | bomName | String | 是 |
bom名称 | productionTechnologyId | Long | 是 |
工艺路线ID | productionTechnologyCode | String | 是 |
工艺路线编号 | productionTechnologyName | String | 是 |
工艺路线名称 | defaultFlag | Boolean | 是 |
是否默认 | {
"pageNum": 1,
"pageSize": 20,
"goodsName": "成品A",
"spec": "规格A",
"enableStatus": 1,
"productType": 1,
"sortList": [
{
"fieldCode": "createTime",
"sortType": 1
}
]
} | {
"code": "200",
"message": "success",
"data": {
"pageNum": 1,
"pageSize": 20,
"pages": 5,
"total": 100,
"data": [
{
"bizKey": 123456,
"goodsId": 123456,
"goodsCode": "GOODS202601001",
"goodsName": "成品A",
"productType": 1,
"unitName": "个",
"unitValue": "pcs",
"categoryName": "电子产品",
"spec": "规格A",
"brand": "品牌A",
"unitPrice": 100.00,
"stockNum": 500,
"occupancyStockNum": 100,
"availableStockNum": 400,
"enableStatus": 1,
"enableStatusName": "启用",
"warehouseName": "主仓库",
"createByName": "张三",
"createTime": "2026-01-15 10:30:00",
"locationNumList": [
{
"goodsId": 123456,
"warehouseId": 3001,
"warehouseName": "主仓库",
"warehouseLocationName": "A-01-01",
"stockNum": 300
}
],
"bomInfoBOList": [
{
"bomId": 6001,
"bomCode": "BOM001",
"bomName": "成品A BOM",
"defaultFlag": true
}
],
"customField": []
}
]
}
} | 成功 |
- | 请求成功 | 参数错误 | - |
请求参数不合法 | 未授权 | - | 未登录或token失效 |
禁止访问 | - | 无权限访问该接口 | 服务器错误 |
7. 批量新增成品
方式: POST | 路径: /open/api/saas/erp/goods/batchAdd
通过Excel文件批量导入成品,按固定模板解析。请求Content-Type为multipart/form-data
请求参数
| 参数名 | 类型 | 必填 | 说明 |
file | MultipartFile | 是 | 成品导入Excel文件,按固定模板格式 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
是 | 成功数量 | failCount | Integer |
是 | 失败数量 | failList | List<BatchAddGoodsFailItemData> |
是 | rowSortIndex | Integer | 是 |
失败所在行号 | result | String | 是 |
失败原因 | Content-Type: multipart/form-data
file: 成品导入模板.xlsx | {
"code": "200",
"message": "success",
"data": {
"successCount": 10,
"failCount": 1,
"failList": [
{
"rowSortIndex": 5,
"result": "成品编号重复"
}
]
}
} | 成功 |
- | 请求成功 | 参数错误 | - |
请求参数不合法 | 未授权 | - | 未登录或token失效 |
禁止访问 | - | 无权限访问该接口 | 服务器错误 |
8. 批量新增物料
方式: POST | 路径: /open/api/saas/erp/inventory/material/batchAdd
通过Excel文件批量导入物料,按固定模板解析。请求Content-Type为multipart/form-data
请求参数
| 参数名 | 类型 | 必填 | 说明 |
file | MultipartFile | 是 | 物料导入Excel文件,按固定模板格式 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
是 | 成功数量 | failCount | Integer |
是 | 失败数量 | failList | List<BatchAddMaterialFailItemData> |
是 | rowSortIndex | Integer | 是 |
失败所在行号 | result | String | 是 |
失败原因 | Content-Type: multipart/form-data
file: 物料导入模板.xlsx | {
"code": "200",
"message": "success",
"data": {
"successCount": 8,
"failCount": 2,
"failList": [
{
"rowSortIndex": 3,
"result": "物料编号重复"
},
{
"rowSortIndex": 7,
"result": "物料分类不存在"
}
]
}
} | 成功 |
- | 请求成功 | 参数错误 | - |
请求参数不合法 | 未授权 | - | 未登录或token失效 |
禁止访问 | - | 无权限访问该接口 | 服务器错误 |
9. 新增入库单
方式: POST | 路径: /open/api/saas/erp/inventory/inStock/add
创建入库单,支持物料入库和成品入库,可关联采购订单等业务单据
请求参数
| 参数名 | 类型 | 必填 | 说明 |
inStockCode | String | 否 | 入库单号 |
inStockType | Integer | 否 | 入库类型(1:采购单入库 2:生产完工入库 3:成品盘盈 4:原料盘盈 5:退料单入库 6:成品其他入库 7:物料其他入库 8:调拨单入库 9:借调入库 10:直接调整库存入库 11:成品销售退货 12:发货单退货) |
inWarehouseId | Long | 否 | 入库仓库ID |
inStockDate | String | 否 | 入库日期 |
remark | String | 否 | 备注 |
materialInStockDetailList | List<MaterialInStockDetailVO> | 否 | 物料入库明细列表,详见MaterialInStockDetailVO对象 |
goodsInStockDetailList | List<GoodsInStockDetailVO> | 否 | 成品入库明细列表,详见GoodsInStockDetailVO对象 |
inStockFlag | Boolean | 否 | 入库标识 |
materialId | Long | 否 | 物料ID |
materialCode | String | 否 | 物料编号 |
materialName | String | 否 | 物料名称 |
materialCategoryId | Long | 否 | 物料分类ID |
materialCategoryName | String | 否 | 物料分类名称 |
warehouseLocationId | Long | 否 | 库位ID |
warehouseId | Long | 否 | 仓库ID |
belongShelfId | Long | 否 | 货架ID |
inStockNum | BigDecimal | 否 | 入库数量 |
unitValue | String | 否 | 单位值 |
unitName | String | 否 | 单位名称 |
unitPrice | BigDecimal | 否 | 单价 |
unitPriceWithTax | BigDecimal | 否 | 含税单价 |
inStockPrice | BigDecimal | 否 | 入库单价 |
inStockPriceWithTax | BigDecimal | 否 | 含税入库单价 |
specification | String | 否 | 规格 |
brand | String | 否 | 品牌 |
supplierId | Long | 否 | 供应商ID |
supplierName | String | 否 | 供应商名称 |
sortNumber | Integer | 否 | 排序号 |
goodsId | Long | 否 | 成品ID |
goodsCode | String | 否 | 成品编号 |
goodsName | String | 否 | 成品名称 |
warehouseLocationId | Long | 否 | 库位ID |
warehouseId | Long | 否 | 仓库ID |
belongShelfId | Long | 否 | 货架ID |
inStockNum | BigDecimal | 否 | 入库数量 |
unitValue | String | 否 | 单位值 |
unitName | String | 否 | 单位名称 |
unitPrice | BigDecimal | 否 | 单价 |
unitPriceWithTax | BigDecimal | 否 | 含税单价 |
inStockPrice | BigDecimal | 否 | 入库单价 |
inStockPriceWithTax | BigDecimal | 否 | 含税入库单价 |
categoryName | String | 否 | 分类名称 |
spec | String | 否 | 规格 |
brand | String | 否 | 品牌 |
supplierId | Long | 否 | 供应商ID |
supplierName | String | 否 | 供应商名称 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
{
"inStockCode": "IN202601001",
"inStockType": 1,
"inWarehouseId": 3001,
"inStockDate": "2026-01-15",
"associatedBusinessId": 5001,
"associatedBusinessCode": "PO202601001",
"associatedBusinessType": 1,
"totalPrice": 10000.00,
"remark": "采购入库",
"inStockFlag": true,
"materialInStockDetailList": [
{
"materialId": 8001,
"materialCode": "MAT001",
"materialName": "贴片电阻",
"warehouseLocationId": 4001,
"warehouseId": 3001,
"inStockNum": 1000,
"unitValue": "pcs",
"unitName": "个",
"unitPrice": 0.01,
"inStockPrice": 0.01,
"specification": "0402",
"brand": "国巨",
"sortNumber": 1
}
],
"goodsInStockDetailList": [],
"fileList": [
{
"fileAccessId": "file123456",
"fileName": "入库凭证.pdf",
"fileExtension": "pdf"
}
],
"templateTagIdList": [],
"customField": []
} | {
"code": "200",
"message": "success",
"data": 123456
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |
10. 新增出库单
方式: POST | 路径: /open/api/saas/erp/inventory/outStock/add
创建出库单,支持物料出库和成品出库,可关联销售订单等业务单据
请求参数
| 参数名 | 类型 | 必填 | 说明 |
outStockCode | String | 否 | 出库单号 |
outStockType | Integer | 否 | 出库类型 |
outWarehouseId | Long | 否 | 出库仓库ID |
consignee | String | 否 | 收货人 |
outStockDate | String | 否 | 出库日期 |
associatedBusinessId | Long | 否 | 关联业务ID |
associatedBusinessCode | String | 否 | 关联业务编号 |
associatedBusinessType | Integer | 否 | 关联业务类型(1:采购单 2:生产订单 3:盘点单 4:退料单 5:销售单 6:调拨单 7:借调出库单 8:发货单) |
customField | List<CustomFieldVO> | 否 | 自定义字段,详见CustomFieldVO对象 |
remark | String | 否 | 备注 |
materialOutStockDetailList | List<MaterialOutStockDetailVO> | 否 | 物料出库明细列表,详见MaterialOutStockDetailVO对象 |
goodsOutStockDetailList | List<GoodsOutStockDetailVO> | 否 | 成品出库明细列表,详见GoodsOutStockDetailVO对象 |
fileList | List<FileCommonVO> | 否 | 文件列表,详见FileCommonVO对象 |
templateTagIdList | List<Long> | 否 | 模板标签ID列表 |
fieldId | Long | 是 | 自定义字段ID |
fieldCode | String | 否 | 自定义字段编码 |
fieldName | String | 否 | 自定义字段名称 |
fieldType | Integer | 是 | 自定义字段类型 |
fieldValue | String | 否 | 自定义字段值 |
materialId | Long | 否 | 物料ID |
materialCode | String | 否 | 物料编号 |
materialName | String | 否 | 物料名称 |
materialCategoryId | Long | 否 | 物料分类ID |
materialCategoryName | String | 否 | 物料分类名称 |
warehouseLocationId | Long | 否 | 库位ID |
warehouseId | Long | 否 | 仓库ID |
belongShelfId | Long | 否 | 货架ID |
outStockNum | BigDecimal | 否 | 出库数量 |
stockNum | BigDecimal | 否 | 库存数量 |
unitValue | String | 否 | 单位值 |
unitName | String | 否 | 单位名称 |
specification | String | 否 | 规格 |
brand | String | 否 | 品牌 |
supplierId | Long | 否 | 供应商ID |
supplierName | String | 否 | 供应商名称 |
sortNumber | Integer | 否 | 排序号 |
goodsId | Long | 否 | 成品ID |
goodsCode | String | 否 | 成品编号 |
goodsName | String | 否 | 成品名称 |
warehouseLocationId | Long | 否 | 库位ID |
warehouseId | Long | 否 | 仓库ID |
belongShelfId | Long | 否 | 货架ID |
outStockNum | BigDecimal | 否 | 出库数量 |
stockNum | BigDecimal | 否 | 库存数量 |
unitValue | String | 否 | 单位值 |
unitName | String | 否 | 单位名称 |
categoryName | String | 否 | 分类名称 |
spec | String | 否 | 规格 |
brand | String | 否 | 品牌 |
fileAccessId | String | 否 | 文件访问ID |
fileName | String | 否 | 文件名 |
fileExtension | String | 否 | 文件扩展名 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
{
"outStockCode": "OUT202601001",
"outStockType": 1,
"outWarehouseId": 3001,
"consignee": "李四",
"outStockDate": "2026-01-15",
"associatedBusinessId": 5001,
"associatedBusinessCode": "SO202601001",
"associatedBusinessType": 1,
"remark": "销售出库",
"materialOutStockDetailList": [],
"goodsOutStockDetailList": [
{
"goodsId": 9001,
"goodsCode": "GOODS001",
"goodsName": "成品A",
"warehouseLocationId": 4001,
"warehouseId": 3001,
"outStockNum": 100,
"stockNum": 500,
"unitValue": "pcs",
"unitName": "个",
"spec": "规格A",
"brand": "品牌A"
}
],
"fileList": [],
"templateTagIdList": [],
"customField": []
} | {
"code": "200",
"message": "success",
"data": 123456
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |
11. 分页查询物料
方式: POST | 路径: /open/api/saas/erp/inventory/material/page
根据多种条件分页查询物料信息,支持按物料编号、名称、规格、分类、仓库等多维度筛选
请求参数
| 参数名 | 类型 | 必填 | 说明 |
pageNum | Integer | 是 | 当前页码,最小值为1 |
pageSize | Integer | 是 | 每页数量,最大值为1000 |
materialId | Long | 否 | 物料ID |
keywordSearch | String | 否 | 关键字搜索 |
materialCode | String | 否 | 物料编号 |
mallNumber | String | 否 | 商城编号 |
materialName | String | 否 | 物料名称 |
specification | String | 否 | 规格 |
materialType | Integer | 否 | 物料类型 |
materialTypeList | List<Integer> | 否 | 物料类型列表 |
enableStatus | Integer | 否 | 启用状态 |
encapsulation | String | 否 | 封装 |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
pageNum | Integer | 是 | 当前页码 |
pageSize | Integer | 是 | 每页数量 |
pages | Integer | 是 | 总页数 |
total | Long | 是 | 总记录数 |
bizKey | Long | 是 | 业务ID |
materialId | Long | 是 | 物料ID |
materialCode | String | 是 | 物料编号 |
materialName | String | 是 | 物料名称 |
unitPrice | BigDecimal | 是 | 单价 |
unitPriceWithTax | BigDecimal | 是 | 含税单价 |
movingWeightedAvgPrice | BigDecimal | 是 | 移动加权平均价 |
withTaxAvgPrice | BigDecimal | 是 | 含税平均价 |
materialCategoryId | Long | 是 | 物料分类ID |
materialCategoryName | String | 是 | 物料分类名称 |
materialType | Integer | 是 | 物料类型 |
hasBom | Boolean | 是 | 是否有BOM |
materialTypeName | String | 是 | 物料类型名称 |
unitValue | String | 是 | 单位值 |
unitName | String | 是 | 单位名称 |
stockUnitValue | String | 是 | 库存单位值 |
stockUnitName | String | 是 | 库存单位名称 |
conversionCoefficient | BigDecimal | 是 | 转换系数 |
brand | String | 是 | 品牌 |
factoryModel | String | 是 | 工厂型号 |
specification | String | 是 | 规格 |
mallNumber | String | 是 | 商城编号 |
encapsulation | String | 是 | 封装 |
stitch | String | 是 | 针脚 |
supplierId | Long | 是 | 供应商ID |
supplierName | String | 是 | 供应商名称 |
supplierSimpleName | String | 是 | 供应商简称 |
stockNum | BigDecimal | 是 | 库存数量 |
needNum | BigDecimal | 是 | 需求数量 |
enableStatus | Integer | 是 | 启用状态 |
enableStatusName | String | 是 | 启用状态名称 |
inventoryWarning | BigDecimal | 是 | 库存预警 |
warehouseId | Long | 是 | 仓库ID |
warehouseCode | String | 是 | 仓库编号 |
warehouseName | String | 是 | 仓库名称 |
belongShelfId | Long | 是 | 所属货架ID |
belongShelf | String | 是 | 所属货架 |
warehouseLocationId | Long | 是 | 库位ID |
warehouseLocationCode | String | 是 | 库位编号 |
warehouseLocationName | String | 是 | 库位名称 |
initStockNum | BigDecimal | 是 | 初始库存数 |
createBy | Long | 是 | 创建人 |
createByName | String | 是 | 创建人名称 |
createTime | Date | 是 | 创建时间 |
hasUsed | Boolean | 是 | 是否已使用 |
remark | String | 是 | 备注 |
goodsId | Long | 是 | 成品ID |
needProduction | Boolean | 是 | 是否需要生产 |
{
"pageNum": 1,
"pageSize": 20,
"materialCode": "MAT202601001",
"materialName": "贴片电阻",
"specification": "0402",
"materialType": 1,
"enableStatus": 1,
"warehouseId": 3001,
"sortList": [
{
"fieldCode": "createTime",
"sortType": 1
}
]
} | {
"code": "200",
"message": "success",
"data": {
"pageNum": 1,
"pageSize": 20,
"pages": 5,
"total": 100,
"data": [
{
"bizKey": 123456,
"materialId": 123456,
"materialCode": "MAT202601001",
"materialName": "贴片电阻",
"unitPrice": 0.01,
"unitPriceWithTax": 0.0113,
"materialCategoryId": 2001,
"materialCategoryName": "电阻",
"materialType": 1,
"materialTypeName": "电子料",
"specification": "0402",
"brand": "国巨",
"stockNum": 10000,
"enableStatus": 1,
"enableStatusName": "启用",
"warehouseId": 3001,
"warehouseName": "主仓库",
"createTime": "2026-01-15 10:30:00"
}
]
}
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |
12. 确认入库
方式: POST | 路径: /open/api/saas/erp/inventory/inStock/inbound
确认入库单入库操作,将待入库状态的入库单变更为已入库状态
请求参数
| 参数名 | 类型 | 必填 | 说明 |
inStockId | Long | 是 | 入库单ID |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
{
"inStockId": 123456
} | {
"code": "200",
"message": "success",
"data": null
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |
13. 确认出库
方式: POST | 路径: /open/api/saas/erp/inventory/outStock/outbound
确认出库单出库操作,将待出库状态的出库单变更为已出库状态
请求参数
| 参数名 | 类型 | 必填 | 说明 |
outStockId | Long | 是 | 出库单ID |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
code | String | 是 | 响应码 |
message | String | 是 | 响应消息 |
{
"outStockId": 123456
} | {
"code": "200",
"message": "success",
"data": null
} | 成功 | - |
请求成功 | 参数错误 | - | 请求参数不合法 |
未授权 | - | 未登录或token失效 | 禁止访问 |
- | 无权限访问该接口 | 服务器错误 | - |