采购单据
采购单据
stock/purchase_sheet/create
接口描述: 后台新建时保存草稿、保存并新建两个按钮请求的接口
请求方法: POST
请求参数:
settle_supplier_id M str 供应商id
purchaser_id C int 采购员id,保存并提交时采购员字段必填
submit M bool 是否提交 0:不提交、保存草稿,1:保存并提交
sheet_remark O str 单据备注(不能超过50个字)
details
[
{
purchase_price M float 采购单价(单位:分)
spec_id M str 采购规格id
purchase_amount M float 采购数量(基本单位)
goods_remark O str 商品备注(不能超过50个字)
}
。。。
]
响应:
purchase_sheet_id M str 采购单据号
示例:
request:
http://station.guanmai.cn/stock/purchase_sheet/create
params:
settle_supplier_id: T28533
purchaser_id: 200565
submit: 1
details: [{"purchase_price":"300","spec_id":"D3152388","purchase_amount":33,"goods_remark":""}]
sheet_remark: d
response:
purchase_sheet_id: "T4969-CGD-2019-09-17-00004"
stock/settle_supplier/supply_sku 拉取按供应商分类的采购规格
接口描述: 采购单据增加条目,返回当前供应商和其他供应商的采购规格,
请求方法: GET
请求参数:
settle_supplier_id M str 供应商id
name M str 搜索关键词
响应:
{
target_supplier M list<dict> 当前供应商数据
[
{
'settle_supplier_name': M str 供应商名称
'sale_ratio': M float 采购ratio
'spec_name': M str 采购规格名称
'spu_name': M str spu名称
'spec_id': M str 采购规格id
'sale_unit_name': M str 采购单位
'std_unit_name': M str 基本单位
'station_id': M str 站点id
'settle_supplier_id': M str 供应商id
'purchase_price_limit': M float
'category_id_1': M str 一级分类
'category_id_1_name': M str
'category_id_2': M str二级分类
'category_id_2_name': M str,
'price': M float 当前供应商的最近询价
'plan_amount': None
'stock':M float 库存
'description':M float 采购描述
'last_in_stock_price': M float 供应商最近入库价
'last_purchase_price': M float 供应商最近采购价
'last_quote_price': M float 供应商最近询价
'latest_in_stock_price': M float 最近入库价
'latest_purchase_price': M float 最近采购价
'latest_quote_price': M float 最近询价
'stock_avg_price': M float 库存均价
}
]
other_supplier M list<dict> 其他供应商数据
[
{
'settle_supplier_name': M str 供应商名称
'sale_ratio': M float 采购ratio
'spec_name': M str 采购规格名称
'spu_name': M str spu名称
'spec_id': M str 采购规格id
'sale_unit_name': M str 采购单位
'std_unit_name': M str 基本单位
'station_id': M str 站点id
'settle_supplier_id': M str 供应商id
'purchase_price_limit': M float
'category_id_1': M str 一级分类
'category_id_1_name': M str
'category_id_2': M str二级分类
'category_id_2_name': M str,
'price': M float 当前供应商的最近询价
'plan_amount': None
'stock':M float 库存
'description':M float 采购描述
'last_in_stock_price': M float 供应商最近入库价
'last_purchase_price': M float 供应商最近采购价
'last_quote_price': M float 供应商最近询价
'latest_in_stock_price': M float 最近入库价
'latest_purchase_price': M float 最近采购价
'latest_quote_price': M float 最近询价
'stock_avg_price': M float 库存均价
}
]
}
示例:
requeset:
https://station.guanmai.cn/stock/settle_supplier/supply_sku?settle_supplier_id=T13384&name=d
response:
{
code: 0,
msg: "ok",
data: {
target_supplier: [
{
spec_id: "D11289041",
station_id: "T7936",
category_id_1: "A6834",
spu_name: "本地西瓜",
sale_ratio: 3,
std_unit_name: "斤",
category_id_2: "B33358",
plan_amount: null,
spec_name: "本地西瓜|3斤/斤",
purchase_price_limit: null,
price: 100,
category_id_1_name: "水果",
sale_unit_name: "斤",
category_id_2_name: "瓜果",
settle_supplier_id: "T13384"
},
]
other_supplier: [
{
spec_id: "D11289041",
station_id: "T7936",
category_id_1: "A6834",
spu_name: "本地西瓜",
sale_ratio: 3,
std_unit_name: "斤",
category_id_2: "B33358",
plan_amount: null,
spec_name: "本地西瓜|3斤/斤",
purchase_price_limit: null,
price: 100,
category_id_1_name: "水果",
sale_unit_name: "斤",
category_id_2_name: "瓜果",
settle_supplier_id: "T13384"
},
]
}
逻辑:
采购单据新增条目时如果当前供应商无该商品时,采购员可以从其他供应商那里拿货,
但是该商品的预警价格还是希望用当前供应商的,所以在other_supplier里面返回了
当前供应商的id用于查询。
stock/purchase_sheet/details 采购单据打印
接口描述: 采购单据打印
请求方法: GET
请求参数:
sheet_no M str 采购单据号
响应:
{
in_stock_sheet_id O str 入库单据号
tasks M list<dict>
[
{
supplier_purchase_avg_price M float 供应商采购均价
spec_name M str 采购规格名称
suggest_purchase_num M float 建议采购数
purchase_amount M float 采购数量
category_name_1 M str 一级分类名称
category_name_2 M str 二级分类名称
plan_amount M float 计划采购数
release_id O int 发布id
ratio M float ratio比例
purchase_price M float 采购价
pinlei_name M str 品类名称
already_purchased_amount M float 已采购数
release_time O datetime 发布时间
spec_id M str 采购规格id
std_unit_name M str 基本单位
address M list<dict> 地址
last_purchase_price O float 最后一次采购价
ref_price M float 参考价
status M int 采购单据状态
purchase_unit_name M str 采购单位
spu_status M int spu状态
stock M float 库存
goods_remark M str 采购商品备注,没有时为空字符串
description M str 采购描述,没有时为空字符串
}
]
purchase_sheet M list<dict>
[
{
create_time M datetime 创建时间
station_name M str 站点名称
purchase_sheet_id M str 采购单据号id
purchaser_phone_num M str 采购员电话
customer_id M str 商户名称
operator M str 操作人
status M int 采购单据状态:-1:已删除 2:已提交 3:未提交
submit_time O datetime 提交时间
require_goods_sheet_status M int 要货单状态: 1:未发送 2:未提交 3:已提交 4:已删除
supplier_name M str 供应商名称
settle_supplier_id M str 供应商id
supplier_phone_num O str 供应商电话
sheet_remark M str 单据备注
source M int 来源 0:业务平台 1:采购APP 2:后台建单
purchaser_id M int 采购员id,只有后台建单的才会返回,可能为空
purchaser_name M str 采购员名称,只有后台建单的才会返回,可能为空
}
]
}
示例:
request:
http://station.guanmai.cn/stock/purchase_sheet/details?sheet_no=T4969-CGD-2019-09-17-00004
response:
{
code:0,
msg:"ok",
data:{
purchase_sheet:{
create_time:"2019-09-17T12:00:34.343",
supplier_name:"【总仓】蔬菜供应商",
station_name:"总仓-李铭",
purchaser_phone_num:"14533432345",
customer_id:"SC",
operator:"liming",
status:3,
submit_time:null,
require_goods_sheet_status:1,
settle_supplier_id:"T4971",
supplier_phone_num:"15896369856"
},
in_stock_sheet_id:"",
tasks:[
{
supplier_purchase_avg_price:"44.0",
id:"5d805a62ec568261c14eae02",
spec_name:"大白菜【斤】",
suggest_purchase_num:-30,
purchase_amount:3,
category_name_2:"叶菜类",
plan_amount:3,
release_id:91,
ratio:1,
purchase_price:"300",
category_name_1:"蔬菜",
pinlei_name:"空心菜",
already_purchased_amount:0,
release_time:"2019-09-17T12:00:26",
spec_id:"D2191489",
std_unit_name:"斤",
address:[
{
res_name:"",
remark:"",
sort_id:"",
plan_amount:3,
suggest_purchase_num:0,
address_id:null
}
],
last_purchase_price:44,
ref_price:300,
status:2,
purchase_unit_name:"斤",
spu_status:1,
stock:33
}
]
}
}
stock/purchase_sheet/details_no_login 采购单据分享
接口描述: 采购单据分享、同采购单据打印,请求参数稍有不同
请求方法: GET
请求参数:
sheet_no M str 采购单据号
station_id M str 站点id
token M str token
响应:
{
in_stock_sheet_id O str 入库单据号
tasks M list<dict>
[
{
supplier_purchase_avg_price M float 供应商采购均价
spec_name M str 采购规格名称
suggest_purchase_num M float 建议采购数
purchase_amount M float 采购数量
category_name_1 M str 一级分类名称
category_name_2 M str 二级分类名称
plan_amount M float 计划采购数
release_id O int 发布id
ratio M float ratio比例
purchase_price M float 采购价
pinlei_name M str 品类名称
already_purchased_amount M float 已采购数
release_time O datetime 发布时间
spec_id M str 采购规格id
std_unit_name M str 基本单位
address M list<dict> 地址
last_purchase_price O float 最后一次采购价
ref_price M float 参考价
status M int 采购单据状态
purchase_unit_name M str 采购单位
spu_status M int spu状态
stock M float 库存
goods_remark M str 采购商品备注,没有时为空字符串
description M str 采购描述,没有时为空字符串
}
]
purchase_sheet M list<dict>
[
{
create_time M datetime 创建时间
station_name M str 站点名称
purchase_sheet_id M str 采购单据号id
purchaser_phone_num M str 采购员电话
customer_id M str 商户名称
operator M str 操作人
status M int 采购单据状态:-1:已删除 2:已提交 3:未提交
submit_time O datetime 提交时间
require_goods_sheet_status M int 要货单状态: 1:未发送 2:未提交 3:已提交 4:已删除
supplier_name M str 供应商名称
settle_supplier_id M str 供应商id
supplier_phone_num O str 供应商电话
sheet_remark M str 单据备注
source M int 来源 0:业务平台 1:采购APP 2:后台建单
purchaser_id M int 采购员id,只有后台建单的才会返回,可能为空
purchaser_name M str 采购员名称,只有后台建单的才会返回,可能为空
}
]
}
示例:
request:
http://station.purchase.devhost.guanmai.cn/stock/purchase_sheet/details?sheet_no=T4969-CGD-2019-09-17-00004
response:
{
code:0,
msg:"ok",
data:{
purchase_sheet:{
create_time:"2019-09-17T12:00:34.343",
supplier_name:"【总仓】蔬菜供应商",
station_name:"总仓-李铭",
purchaser_phone_num:"14533432345",
customer_id:"SC",
operator:"liming",
status:3,
submit_time:null,
require_goods_sheet_status:1,
settle_supplier_id:"T4971",
supplier_phone_num:"15896369856"
},
in_stock_sheet_id:"",
tasks:[
{
supplier_purchase_avg_price:"44.0",
id:"5d805a62ec568261c14eae02",
spec_name:"大白菜【斤】",
suggest_purchase_num:-30,
purchase_amount:3,
category_name_2:"叶菜类",
plan_amount:3,
release_id:91,
ratio:1,
purchase_price:"300",
category_name_1:"蔬菜",
pinlei_name:"空心菜",
already_purchased_amount:0,
release_time:"2019-09-17T12:00:26",
spec_id:"D2191489",
std_unit_name:"斤",
address:[
{
res_name:"",
remark:"",
sort_id:"",
plan_amount:3,
suggest_purchase_num:0,
address_id:null
}
],
last_purchase_price:44,
ref_price:300,
status:2,
purchase_unit_name:"斤",
spu_status:1,
stock:33
}
]
}
}
stock/purchase_sheet/modify 采购单据保存草稿
接口描述: 采购单据保存草稿
请求方法: POST
请求参数:
purchase_sheet_id M str 采购单据号
settle_supplier_id M str 采购员id
sheet_remark O str 单据备注(不能超过50个字)
resend_require_goods_sheet O int 是否再次发送要货申请
details M list<dict> 采购单据详情
[
{
purchase_price M float 采购金额(单位:分)
spec_id M str 采购规格id
purchase_amount M float 采购数量
goods_remark O str 商品备注(不能超过50个字)
}
]
响应:
ok
示例:
request:
http://station.purchase.devhost.guanmai.cn/stock/purchase_sheet/modify
params:
purchase_sheet_id: T7936-CGD-2019-09-20-00001
settle_supplier_id: T34873
sheet_remark: aaaaabbbbbb
details: [{"purchase_price":"1300","spec_id":"D11289041","purchase_amount":"30","goods_remark": "cccccc"},
{"purchase_price":"237","spec_id":"D12521823","id":"5d84391a406de12af5bff204","purchase_amount":"3"}]
resend_require_goods_sheet: 0
response:
{
code:0,
msg:"ok",
data: null
}
}
逻辑:
采购单据保存草稿时访问的接口,如果是修改之后直接点的保存,前端也是需要先请求modify接口再请求submit接口
stock/purchase_sheet/submit 采购单据提交
接口描述: 采购单据提交
请求方法: POST
请求参数:
sheet_no M str 采购单据号
响应:
data M list<dict>
[
{
spec_name M str 采购规格名称
plan_amount M float 计划采购数
release_id O int 发布id
ratio M float ratio比例
purchase_price M float 采购价
already_purchased_amount M float 已采购数
release_time O datetime 发布时间
spec_id M str 采购规格id
std_unit_name M str 基本单位
purchase_unit_name M str 采购单位
supplier_name M str 供应商名称
}
]
示例:
request:
http://station.purchase.devhost.guanmai.cn/stock/purchase_sheet/submit
params:
sheet_no: T7936-CGD-2019-09-20-00001
response:
{
code:0,
msg:"ok",
data: [
{already_purchased_amount: 6
plan_amount: 3
purchase_price: 237
purchase_unit_name: "包"
ratio: 1
release_id: 104372218
release_time: "2019-09-05T11:00:05"
spec_id: "D12521823"
spec_name: "夏威夷果|1包/包"
std_unit_name: "包"
supplier_name: "三只松鼠供应商"
}
]
}
}
逻辑:
采购单据的整单备注会同步带到入库单的整单备注
stock/purchase_sheet/get
接口描述: 获取采购单列表
请求方法: get
请求参数:
start_time M date 开始时间
end_time M date 结束时间
sheet_no O str 采购单据号
settle_supplier_id O str 供应商id
status O int 状态:3:未提交,2:已提交
require_goods_sheet_status O int 要货单状态
export O int 是否导出
page_obj(分页相关)
reverse
limit
count
offset
peek
响应:
id M str 采购单据id
source M int 来源 0:业务平台 1:采购APP 2:后台建单
status M int 采购单据状态:2:已提交,3:未提交
station_id M str 站点id
require_goods_sheet_status M int 要货单状态
purchase_plan_money M float 预采购金额
submit_time M datetime 提交时间
purchaser_id M int 采购员id
purchaser M str 采购员名称
operator_id M int 操作人id
operator M str 操作人名称
create_time M datetime 创建时间
settle_supplier_id M str 供应商id
settle_supplier_name M str 供应商名称
ref_price_type M int
purchase_sku_money M float 采购金额
purchase_sku_num M float 采购数量
示例:
request:
http://station.env-zzq.dev.k8s.guanmai.cn/stock/purchase_sheet/get?
start_time=2019-09-23&end_time=2019-09-29&sheet_no=&settle_supplier_id=&
status=&require_goods_sheet_status=&limit=10&offset=0&peek=60
response:
{
data: [
{
id: "T8521-CGD-2019-09-27-00005",
source: 2,
status: 2,
station_id: "T8521",
require_goods_sheet_status: 1,
purchase_plan_money: 54,
submit_time: "2019-09-27T17:08:22.247",
purchaser_id: 200565,
operator_id: 1910,
create_time: "2019-09-27 15:25:16",
purchaser: "status",
settle_supplier_id: "T12478",
ref_price_type: 1,
settle_supplier_name: "综合供应商",
operator: "zhoumin",
purchase_sku_money: 900,
purchase_sku_num: 1
}
],
pagination: {
more: true,
page_obj: "{"previous": {"_id": "T8521 - CGD - 2019 - 09 - 27 - 00005", "create_time": {"$date
": 159597916889}}, "}
msg: "ok",
code: 0
}
purchase/quote_price/search 询价记录搜索
接口描述: 询价记录搜索
请求方法: GET
请求参数:
category1_ids O
category2_ids O
pinlei_ids O
settle_supplier_id O
begin_time M
end_time M
search_text O str 采购规格名,采购规格ID
source O int 询价来源, 1位采购APP, 2为业务平台, 3为供应商APP
响应:
{
code:0,
msg:"ok",
data: [
{
category1_name
category2_name
create_time date 创建时间
creator str 询价人
customer_id str 供应商ID
origin_place str 生产地
pinlei_name
purchase_price float 询价价格 (采购单位)
purchase_unit_name
ratio
remark str 备注
settle_supplier_name str 供应商名称
source int 询价来源, 1位采购APP, 2为业务平台, 3为供应商APP
spec_id
spec_name
std_unit_name
std_unit_price float 询价价格 (基本单位)
}
]
}
示例:
request:
http://station.supplier_assistant.devhost.guanmai.cn/purchase/quote_price/search?begin_time=2019-09-23&end_time=2019-09-23&count=1&limit=20&offset=0&source=2
response:
{
code:0,
msg:"ok",
data: [
{
category1_name: "水果"
category2_name: "进口水果"
create_time: "2019-09-23T19:33:14"
creator: "zhoumin"
customer_id: "T8523"
origin_place: ""
pinlei_name: "进口香蕉"
purchase_price: 500
purchase_unit_name: "把"
ratio: 3
remark: ""
settle_supplier_name: "蔬菜供应商"
source: 2
spec_id: "D3152358"
spec_name: "巴西香蕉|3斤/把"
std_unit_name: "斤"
std_unit_price: 167
}
]
}
}