采购任务
采购任务
purchase/task/create
接口描述: 手动创建采购任务,可以进行批量新建,使用同步方式新建
请求方法: POST
请求参数:
tasks M list<dict>
[
{
spec_id M str 采购规格
plan_purchase_amount M float 采购量(基本单位)
setttle_supplier_id M str 供应商id
purchaser_id O int 采购员id(该供应商无默认采购员时可以不传)
time_config_id O str 报价单id
cycle_start_time O datetime 收货时间(如:2019-09-09 13:30:00)
}
。。。
]
响应: ok
示例:
request:
https://station.guanmai.cn/purchase/task/create
POST请求参数:
tasks: [
{"spec_id": "D14393659",
"plan_purchase_amount": 22,
"setttle_supplier_id": "T3455",
"purchaser_id": 33,
"time_config_id": "ST4292",
"cycle_start_time": 2019-09-09 13:30:00
},
{"spec_id": "D14392239",
"plan_purchase_amount": 33.33,
"setttle_supplier_id": "T1125",
},
]
response:
code: 0
data: null
msg: "ok"
逻辑:
校验该sku是否存在
创建采购任务
特殊逻辑:
用户选择商品之后,可以选择任意供应商,即使选择的供应商无法供应该商品,
但是会将可供应和不可供应的供应商区分开来
purchase/task/get_create_source 新建任务获取采购规格
接口描述: 传入spu id返回对应的采购规格和相关信息
请求方法: GET
请求参数:
spu_id M str spu id
响应:
【
{
spec_id M str 采购规格id
ratio M float 采购ratio
unit_name M str 采购单位
std_unit_name M str 基本单位
}
】
示例:
request:
http://station.guanmai.cn/purchase/task/get_create_source?spu_id=C1968040
response:
{
data: [
{
std_unit_name: "KG",
ratio: 1,
unit_name: "KG",
spec_id: "D12042547"
}
],
msg: "ok",
code: 0
}
逻辑:
拉取采购规格,放开了供应商的限制,既采购规格不与供应商是否可以供应绑定
purchase/task/suppliers 采购任务获取供应商
接口描述: 传入spec id返回可采购该规格的供应商以及不可采购的供应商以及他们的默认采购员
请求方法: GET
请求参数:
spec_id M str 采购规格
响应:
【
supply M list<dict> 可供应供应商
[
{
settle_supplier_id M str 供应商id
supplier_name M str 供应商名称
default_purchaser_id O int 该供应商默认采购员id(没有时返回null)
default_purchaser_name O str 该供应商默认采购员名称(没有时返回null)
}
]
cant_supply M list<dict> 不可供应供应商
[
{
settle_supplier_id M str 供应商id
supplier_name M str 供应商名称
default_purchaser_id O int 该供应商默认采购员id(没有时返回null)
default_purchaser_name O str 该供应商默认采购员名称(没有时返回null)
}
]
】
示例:
request:
http://station.env-zzq.dev.k8s.guanmai.cn/purchase/task/suppliers?spec_id=D12042547
response:
{
data:{
cant_supply:[
{
supplier_name:"水果33供应商",
default_purchaser_id:200568,
default_purchaser_name:"asdfasdgedfg",
settle_supplier_id:"T8524"
},
],
supply:[
{
supplier_name:"t",
default_purchaser_id:200565,
default_purchaser_name:"status",
settle_supplier_id:"T32760"
},
]
},
msg:"ok",
code:0
}
purchase/task/print 采购任务打印
接口描述: 采购任务打印
请求方法: GET
请求参数:
q_type C int 查询类型,1:按下单时间,2:按运营周期,3:按收货时间
q O str 搜索字段,支持订单号和商品名称搜索
address_id O str 需要过滤的站点(一乙定制功能)
category1_ids O list 一级分类
category2_ids O list 二级分类
pinlei_ids O list 品类
settle_supplier_id O string 供应商ID
time_config_id O string 时间配置ID
status O int 任务状态
order_status O int 订单状态
purchaser_id O int 筛选的采购员id
route_id O int 线路id
weight_status O int 分拣状态,1:已完成,2:未完成
has_created_sheet O bool 是否生成采购单,0:未生成,1:已生成
begin_time C datetime 开始时间(格式:2019-07-18 00:00:00)
end_time C datetime 结束时间(格式:2019-07-18 00:00:00)
响应:
【
{
customer_id M str 商户名称
settle_supplier_id M str 供应商id
settle_supplier_name M str 供应商名称
station_name M str 站点名称
tasks M list<dict>
[
{
pinlei_name M str 品类
sku_name M str 采购规格名称
suggest_purchase_num M float 建议采购
address_count M int
price M float
sale_unit_name M str 采购单位
addresses M list<str> 地址
sale_ratio M float 采购ratio(命名由于历史原因未改)
category1_name M str 一级分类
category2_name M str 二级分类
std_unit_name M str 基本单位
stock M float 库存
description M str 采购描述
}
]
settle_suppliers M list<dict>
[
{
id
name
default_purchaser_id(新增) M int 该供应商默认采购员id(没有时返回null)
default_purchaser_name(新增) M str 该供应商默认采购员名称(没有时返回null)
}
]
}
】
示例:
request:
http://station.purchase.devhost.guanmai.cn/purchase/task/print?begin_time=2019-09-17+00%3A00%3A00&
end_time=2019-09-17+00%3A00%3A00&print_what=task&q_type=1&is_print=1
response:
{
code: 0,
msg: "ok",
data: [
{
purchaser: [
{
purchaser_name: "liming",
purchaser_id: 1
}
],
station_name: "总仓-李铭",
customer_id: "332",
purchaser_phone_num: "14533432345",
settle_supplier_id: "T33194",
supplier_phone_num: "15989513401!@#¥字符",
settle_supplier_name: "名字很长",
tasks: [
{
pinlei_name: "空心菜",
sku_name: "大白菜【斤】",
suggest_purchase_num: -30,
address_count: 1,
price: 300,
sale_unit_name: "斤",
addresses: [
{
res_name: "",
remark: "",
sale_unit_name: "斤",
sale_ratio: 1,
sort_id: "",
address_id: "",
plan_purchase_amount: 3
}
],
sale_ratio: 1,
category1_name: "蔬菜",
category2_name: "叶菜类",
std_unit_name: "斤",
stock: 33
}
]
},
]
}
逻辑:
打印接口无参数检查校验、可以同时传采购员和供应商进行打印,分享接口做了限制
purchase/task/print_no_login 采购任务分享
接口描述:参考上方的采购任务打印接口,两者用的同一个类
逻辑:
分享接口校验了采购员和供应商,只能二者选一
purchase/task/export 采购任务导出
接口描述: 采购单据导出
请求方法: GET
请求参数:
type M int 导出类型,1:汇总,2:二维表导出,3:按供应商
q_type C int 查询类型,1:按下单时间,2:按运营周期,3:按收货时间
category1_ids O list<str> 一级分类
category2_ids O list<str> 二级分类
pinlei_ids O list<str> 品类
address_id O str 需要过滤的站点(一乙定制功能)
settle_supplier_id O str 筛选的供应商id
status O int 采购任务状态,1:未发布任务,2:已发布任务,3:已完成任务
time_config_id O str 运营时间id
begin_time C datetime 开始时间(格式:2019-07-18 00:00:00)
end_time C datetime 结束时间(格式:2019-07-18 00:00:00)
purchaser_id O int 筛选的采购员id
route_id O int 线路id
weight_status O int 分拣状态,1:已完成,2:未完成
has_created_sheet O bool 是否生成采购单,0:未生成,1:已生成
响应:
excel文件
示例:
request:
https://station.guanmai.cn/purchase/task/export?q_type=1&q=&
category1_ids=&category2_ids=&pinlei_ids=&status=&order_status=
&settle_supplier_id=&route_id=&purchaser_id=&
begin_time=2019-09-03%2000%3A00%3A00&end_time=2019-09-23%2000%3A00%3A00&type=1
response:
excel文件
}
purchase/task/search 采购任务搜索
接口描述: 采购任务搜索
请求方法: GET
请求参数:
category1_ids O list<str> 一级分类
category2_ids O list<str> 二级分类
pinlei_ids O list<str> 品类
settle_supplier_id O str 筛选的供应商id
status O int 采购任务状态,1:未发布任务,2:已发布任务,3:已完成任务
begin_time C datetime 开始时间(格式:2019-07-18 00:00:00)
end_time C datetime 结束时间(格式:2019-07-18 00:00:00)
purchaser_id O int 筛选的采购员id
spec_id M str 采购规格id
q O str 搜索订单号或者商品名称
address_id O str 需要过滤的站点(一乙定制功能)
has_created_sheet O bool 是否生成采购单,0:未生成,1:已生成
weight_status O int 分拣状态,1:已完成,2:未完成
route_id O int 线路id
order_status O list<int> 1为等待分拣, 5为分拣中, 10为配送中, 15为已签收
q_type C int 查询类型,1:按下单时间,2:按运营周期,3:按收货时间
time_config_id O str 运营时间ID
响应:
{
code:0,
msg:"ok",
data: [
{
already_purchase_amount float 已采购数
category1_name
category2_name
editable: true bool 是否可编辑
generated_purchase_sheet bool 是否已生成采购单
latest_in_stock_price
latest_purchase_price
latest_quote_from_supplier bool 最近询价来自供应商
latest_quote_price
name
pinlei_name
plan_purchase_amount float 计划采购数
purchaser_id int 采购员ID
purchaser_name str 采购员名称
release_id int 发布ID
release_time date 发布时间
sale_ratio float 销售比例
sale_unit_name
settle_supplier_id str 供应商ID
settle_supplier_name
spec_id str 采购规格
status int 状态
std_unit_name
stock float 已有库存数
stock_avg_price
suggest_purchase_num float 建议采购数
tasks: [ list 包含的任务详情
{
editable bool 是否可编辑
id int 任务ID
order_id str 订单号
order_status int 订单状态
plan_purchase_amount float 计划采购数
purchaser_name
remark str 订单备注
res_name str 商户名称
route_name str 线路名称
sale_ratio
sale_unit_name
settle_supplier_id
settle_supplier_name
std_unit_name
}
]
}
]
}
示例:
request:
http://station.supplier_assistant.devhost.guanmai.cn/purchase/task/search?q_type=1&q=&begin_time=2019-09-23+00%3A00%3A00&end_time=2019-09-23+00%3A00%3A00&limit=10
response:
{
code:0,
msg:"ok",
data: [
{
already_purchase_amount: 0
category1_name: "水果"
category2_name: "进口水果"
editable: true
generated_purchase_sheet: true
latest_in_stock_price: null
latest_purchase_price: null
latest_quote_from_supplier: false
latest_quote_price: null
name: "新西兰车厘子|13斤/斤"
pinlei_name: "进口车厘子"
plan_purchase_amount: 55
purchaser_id: 1
purchaser_name: "sdfsdfhsdf"
release_id: 119
release_time: "2019-09-23T17:30:48"
sale_ratio: 13
sale_unit_name: "斤"
settle_supplier_id: "T8523"
settle_supplier_name: "蔬菜供应商"
spec_id: "D11862270"
status: 2
std_unit_name: "斤"
stock: 34
stock_avg_price: 500
suggest_purchase_num: 21
task:[
{
editable: true
id: 119
order_id: "PL6141953"
order_status: 5
plan_purchase_amount: 55
purchaser_name: "sdfsdfhsdf"
remark: ""
res_name: "。。"
route_name: "无线路"
sale_ratio: 1
sale_unit_name: "斤"
settle_supplier_id: "T8523"
settle_supplier_name: "蔬菜供应商"
std_unit_name: "斤"
}
]
}
]
}
}