purchase - 采购单接口
- api/stock/purchase/get GET 根据id获取
- api/stock/purchase/getlist GET 获取列表
- api/stock/purchase/getdetailgrouplistbymainids GET 根据采购单获取明细汇总列表
- api/stock/purchase/getstatuslist GET 获取所有状态
- api/stock/purchase/create POST 新增
- api/stock/purchase/update POST 修改
- api/stock/purchase/delete POST 删除
- api/stock/purchase/check POST 审核
- api/stock/purchase/checkall POST 批量审核
- api/stock/purchase/cancelcheck POST 撤销审核
- api/stock/purchase/invalid POST 作废
- api/stock/purchase/savepurchaseid POST 保存采购单与采购入库单关系
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| id | integer |
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| code | string | 单号 |
| createTime | date | 创建时间 |
| date | date | 单据日期 |
| details | [...] | 采购单明细 |
| ┆- boxQty | decimal number | 箱数 |
| ┆- boxSpec | decimal number | 箱规格 |
| ┆- id | integer | id |
| images | [...] | 图片 |
| ┆- money | decimal number | 金额 |
| ┆- price | decimal number | 单价 |
| ┆- productClass | string | 商品分类 |
| ┆- productCode | string | 商品货号 |
| ┆- productId | integer | 商品Id |
| ┆- productName | string | 商品名称 |
| ┆- productUnit | string | 商品单位 |
| ┆- qty | decimal number | 数量 |
| ┆- sort | integer | 排序 |
| ┆- stockProductId | integer | 库存商品Id |
| ┆- stockProductName | string | 库存商品名称 |
| ┆- stockProductUnit | string | 库存商品单位 |
| ┆- stockPurchaseId | integer | 采购单Id |
| ┆- stockRelQty | decimal number | 库存商品关系数量 |
| ┆- tenantId | integer | 租户id |
| id | integer | id |
| log | string | 日志 |
| money | decimal number | 单据金额 |
| plusOrMinus | boolean | 进货或退货 |
| purchaserId | integer | 采购员Id |
| purchaserName | string | 采购员名称 |
| qty | decimal number | 单据数量 |
| remark | string | 备注 |
| shopId | integer | 门店Id |
| shopName | string | 门店名称 |
| status | string | 0:未审核; 1:已完成; 2:已作废 |
| statusName | string | 状态名称 |
| stockPurchaseCheckId | integer | 采购入库单Id |
| supplierId | integer | 供应商Id |
| supplierName | string | 供应商名称 |
| userId | integer | 创建人Id |
| userName | string | 创建人名称 |
响应示例
application/json, text/json
{
"shopId": 1,
"shopName": "",
"code": "",
"date": "2026-01-15 10:11:12",
"purchaserId": 5,
"purchaserName": "",
"plusOrMinus": true,
"money": 8.0,
"qty": 9.0,
"supplierId": 10,
"supplierName": "",
"status": 0,
"statusName": "",
"remark": "",
"log": "",
"userId": 15,
"userName": "",
"createTime": "2026-01-15 10:11:12",
"stockPurchaseCheckId": 18,
"details": [
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
},
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
}
],
"id": 19
}
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| code | string | |
| endDate | date | |
| isImport | boolean | |
| order | boolean | |
| pageIndex | integer | |
| pageSize | integer | |
| plusOrMinus | integer | |
| shopId | integer | |
| sort | string | |
| startDate | date | |
| status | integer | |
| supplierId | integer |
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| data | [...] | |
| ┆- code | string | 单号 |
| ┆- createTime | date | 创建时间 |
| ┆- date | date | 单据日期 |
| details | [...] | 采购单明细 |
| ┆- boxQty | decimal number | 箱数 |
| ┆- boxSpec | decimal number | 箱规格 |
| ┆- id | integer | id |
| images | [...] | 图片 |
| ┆- money | decimal number | 金额 |
| ┆- price | decimal number | 单价 |
| ┆- productClass | string | 商品分类 |
| ┆- productCode | string | 商品货号 |
| ┆- productId | integer | 商品Id |
| ┆- productName | string | 商品名称 |
| ┆- productUnit | string | 商品单位 |
| ┆- qty | decimal number | 数量 |
| ┆- sort | integer | 排序 |
| ┆- stockProductId | integer | 库存商品Id |
| ┆- stockProductName | string | 库存商品名称 |
| ┆- stockProductUnit | string | 库存商品单位 |
| ┆- stockPurchaseId | integer | 采购单Id |
| ┆- stockRelQty | decimal number | 库存商品关系数量 |
| ┆- tenantId | integer | 租户id |
| ┆- id | integer | id |
| ┆- log | string | 日志 |
| ┆- money | decimal number | 单据金额 |
| ┆- plusOrMinus | boolean | 进货或退货 |
| ┆- purchaserId | integer | 采购员Id |
| ┆- purchaserName | string | 采购员名称 |
| ┆- qty | decimal number | 单据数量 |
| ┆- remark | string | 备注 |
| ┆- shopId | integer | 门店Id |
| ┆- shopName | string | 门店名称 |
| ┆- status | string | 0:未审核; 1:已完成; 2:已作废 |
| ┆- statusName | string | 状态名称 |
| ┆- stockPurchaseCheckId | integer | 采购入库单Id |
| ┆- supplierId | integer | 供应商Id |
| ┆- supplierName | string | 供应商名称 |
| ┆- userId | integer | 创建人Id |
| ┆- userName | string | 创建人名称 |
| pageIndex | integer | |
| pageSize | integer | |
| sumData | {...} | |
| ┆- code | string | 单号 |
| ┆- createTime | date | 创建时间 |
| ┆- date | date | 单据日期 |
| details | [...] | 采购单明细 |
| ┆- boxQty | decimal number | 箱数 |
| ┆- boxSpec | decimal number | 箱规格 |
| ┆- id | integer | id |
| images | [...] | 图片 |
| ┆- money | decimal number | 金额 |
| ┆- price | decimal number | 单价 |
| ┆- productClass | string | 商品分类 |
| ┆- productCode | string | 商品货号 |
| ┆- productId | integer | 商品Id |
| ┆- productName | string | 商品名称 |
| ┆- productUnit | string | 商品单位 |
| ┆- qty | decimal number | 数量 |
| ┆- sort | integer | 排序 |
| ┆- stockProductId | integer | 库存商品Id |
| ┆- stockProductName | string | 库存商品名称 |
| ┆- stockProductUnit | string | 库存商品单位 |
| ┆- stockPurchaseId | integer | 采购单Id |
| ┆- stockRelQty | decimal number | 库存商品关系数量 |
| ┆- tenantId | integer | 租户id |
| ┆- id | integer | id |
| ┆- log | string | 日志 |
| ┆- money | decimal number | 单据金额 |
| ┆- plusOrMinus | boolean | 进货或退货 |
| ┆- purchaserId | integer | 采购员Id |
| ┆- purchaserName | string | 采购员名称 |
| ┆- qty | decimal number | 单据数量 |
| ┆- remark | string | 备注 |
| ┆- shopId | integer | 门店Id |
| ┆- shopName | string | 门店名称 |
| ┆- status | string | 0:未审核; 1:已完成; 2:已作废 |
| ┆- statusName | string | 状态名称 |
| ┆- stockPurchaseCheckId | integer | 采购入库单Id |
| ┆- supplierId | integer | 供应商Id |
| ┆- supplierName | string | 供应商名称 |
| ┆- userId | integer | 创建人Id |
| ┆- userName | string | 创建人名称 |
| totalCount | integer |
响应示例
application/json, text/json
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mainIds | string |
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| boxQty | decimal number | 箱数 |
| boxSpec | decimal number | 箱规格 |
| id | integer | id |
| images | [...] | 图片 |
| money | decimal number | 金额 |
| price | decimal number | 单价 |
| productClass | string | 商品分类 |
| productCode | string | 商品货号 |
| productId | integer | 商品Id |
| productName | string | 商品名称 |
| productUnit | string | 商品单位 |
| qty | decimal number | 数量 |
| sort | integer | 排序 |
| stockProductId | integer | 库存商品Id |
| stockProductName | string | 库存商品名称 |
| stockProductUnit | string | 库存商品单位 |
| stockPurchaseId | integer | 采购单Id |
| stockRelQty | decimal number | 库存商品关系数量 |
| tenantId | integer | 租户id |
响应示例
application/json, text/json
[
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
},
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
}
]
请求参数
无.
响应参数
响应示例
application/json, text/json
[
{
"key": 1,
"value": ""
},
{
"key": 1,
"value": ""
}
]
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| code | string | 单号 |
| createTime | date | 创建时间 |
| date | date | 单据日期 |
| details | [...] | 采购单明细 |
| ┆- boxQty | decimal number | 箱数 |
| ┆- boxSpec | decimal number | 箱规格 |
| ┆- id | integer | id |
| images | [...] | 图片 |
| ┆- money | decimal number | 金额 |
| ┆- price | decimal number | 单价 |
| ┆- productClass | string | 商品分类 |
| ┆- productCode | string | 商品货号 |
| ┆- productId | integer | 商品Id |
| ┆- productName | string | 商品名称 |
| ┆- productUnit | string | 商品单位 |
| ┆- qty | decimal number | 数量 |
| ┆- sort | integer | 排序 |
| ┆- stockProductId | integer | 库存商品Id |
| ┆- stockProductName | string | 库存商品名称 |
| ┆- stockProductUnit | string | 库存商品单位 |
| ┆- stockPurchaseId | integer | 采购单Id |
| ┆- stockRelQty | decimal number | 库存商品关系数量 |
| ┆- tenantId | integer | 租户id |
| id | integer | id |
| log | string | 日志 |
| money | decimal number | 单据金额 |
| plusOrMinus | boolean | 进货或退货 |
| purchaserId | integer | 采购员Id |
| purchaserName | string | 采购员名称 |
| qty | decimal number | 单据数量 |
| remark | string | 备注 |
| shopId | integer | 门店Id |
| shopName | string | 门店名称 |
| status | string | 0:未审核; 1:已完成; 2:已作废 |
| statusName | string | 状态名称 |
| stockPurchaseCheckId | integer | 采购入库单Id |
| supplierId | integer | 供应商Id |
| supplierName | string | 供应商名称 |
| userId | integer | 创建人Id |
| userName | string | 创建人名称 |
请求示例
application/json, text/json
{
"shopId": 1,
"shopName": "",
"code": "",
"date": "2026-01-15 10:11:22",
"purchaserId": 5,
"purchaserName": "",
"plusOrMinus": true,
"money": 8.0,
"qty": 9.0,
"supplierId": 10,
"supplierName": "",
"status": 0,
"statusName": "",
"remark": "",
"log": "",
"userId": 15,
"userName": "",
"createTime": "2026-01-15 10:11:22",
"stockPurchaseCheckId": 18,
"details": [
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
},
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
}
],
"id": 19
}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| data | integer | |
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"data": 1,
"status": 200,
"message": ""
}
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| code | string | 单号 |
| createTime | date | 创建时间 |
| date | date | 单据日期 |
| details | [...] | 采购单明细 |
| ┆- boxQty | decimal number | 箱数 |
| ┆- boxSpec | decimal number | 箱规格 |
| ┆- id | integer | id |
| images | [...] | 图片 |
| ┆- money | decimal number | 金额 |
| ┆- price | decimal number | 单价 |
| ┆- productClass | string | 商品分类 |
| ┆- productCode | string | 商品货号 |
| ┆- productId | integer | 商品Id |
| ┆- productName | string | 商品名称 |
| ┆- productUnit | string | 商品单位 |
| ┆- qty | decimal number | 数量 |
| ┆- sort | integer | 排序 |
| ┆- stockProductId | integer | 库存商品Id |
| ┆- stockProductName | string | 库存商品名称 |
| ┆- stockProductUnit | string | 库存商品单位 |
| ┆- stockPurchaseId | integer | 采购单Id |
| ┆- stockRelQty | decimal number | 库存商品关系数量 |
| ┆- tenantId | integer | 租户id |
| id | integer | id |
| log | string | 日志 |
| money | decimal number | 单据金额 |
| plusOrMinus | boolean | 进货或退货 |
| purchaserId | integer | 采购员Id |
| purchaserName | string | 采购员名称 |
| qty | decimal number | 单据数量 |
| remark | string | 备注 |
| shopId | integer | 门店Id |
| shopName | string | 门店名称 |
| status | string | 0:未审核; 1:已完成; 2:已作废 |
| statusName | string | 状态名称 |
| stockPurchaseCheckId | integer | 采购入库单Id |
| supplierId | integer | 供应商Id |
| supplierName | string | 供应商名称 |
| userId | integer | 创建人Id |
| userName | string | 创建人名称 |
请求示例
application/json, text/json
{
"shopId": 1,
"shopName": "",
"code": "",
"date": "2026-01-15 10:11:22",
"purchaserId": 5,
"purchaserName": "",
"plusOrMinus": true,
"money": 8.0,
"qty": 9.0,
"supplierId": 10,
"supplierName": "",
"status": 0,
"statusName": "",
"remark": "",
"log": "",
"userId": 15,
"userName": "",
"createTime": "2026-01-15 10:11:22",
"stockPurchaseCheckId": 18,
"details": [
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
},
{
"stockPurchaseId": 1,
"productId": 2,
"productCode": "",
"productName": "",
"productClass": "",
"productUnit": "",
"stockProductId": 7,
"stockProductName": "",
"stockProductUnit": "",
"stockRelQty": 10.0,
"price": 11.0,
"qty": 12.0,
"money": 13.0,
"boxQty": 14.0,
"boxSpec": 15.0,
"sort": 16,
"tenantId": 17,
"images": [
"",
""
],
"id": 18
}
],
"id": 19
}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}
请求参数
| 无 |
|---|
请求示例
application/json, text/json
{}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| log | string | 备注 |
| mainId | integer | 主单据id |
请求示例
application/json, text/json
{
"mainId": 1,
"log": ""
}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}
请求参数
请求示例
application/json, text/json
[ 1, 2 ]
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| log | string | 备注 |
| mainId | integer | 主单据id |
请求示例
application/json, text/json
{
"mainId": 1,
"log": ""
}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| log | string | 备注 |
| mainId | integer | 主单据id |
请求示例
application/json, text/json
{
"mainId": 1,
"log": ""
}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}
请求参数
| 名称 | 类型 | 描述 |
|---|---|---|
| purchaseCheckId | integer | 采购入库单Id |
| purchaseIds | string | 采购单Id |
请求示例
application/json, text/json
{
"purchaseIds": "",
"purchaseCheckId": 2
}
响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | string | 附加信息 |
| status | string | 200:成功; 500:内部错误; 601:卡不可用; 602:卡不存在; 603:卡挂失; 604:卡作废; 605:卡余额不足; 606:卡付款码超时; 607:积分不足; 608:礼品不可用; 701:支付成功; 702:支付确认失败; 703:支付状态未知; 704:付款码超时; 801:流水号重复; 901:未日结; 902:日结进行中; 903:日结中断; 904:日结完成; 905:日结金额发生变化; 1001:无法购买; 1002:已售罄; 1003:支付超时 |
响应示例
application/json, text/json
{
"status": 200,
"message": ""
}