进销存
进销存
入库单
/station/stock/in_stock_sheet/create POST 创建入库单
接口名: /station/stock/in_stock_sheet/create
Method: POST
请求:
settle_supplier_id M string 供应商ID
supplier_name M string 供应商名称
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M dict 返回创建的出库单信息
{
id M string 入库单ID
supplier_name M string 供应商名称
status M int 入库单状态
creator M string 创建者
submit_time M '-' 入库时间
}
逻辑:
生成入库单ID
在入库单表中插入记录
/station/stock/in_stock_sheet/list GET 获取入库单列表
接口名: /station/stock/in_stock_sheet/list
Method: GET
请求:
type M int 查询类型(1:入库时间;2:建单时间)
start M string 开始时间('YYYY-mm-dd')
end M string 结束时间('YYYY-mm-dd')
status M int 单据状态(-1:已删除;1:待提交;2:待审核;3:审核通过;0:审核不通过;4:已结款;5:全部状态)
search_text O string 搜索内容(入库单ID或者供应商名称)
export O int 是否导出(1:导出;0:不导出 默认0)
offset O int 偏移量(默认0)
limit O int 返回数量(默认10)
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M dict 返回搜索到的入库单数据
{
in_query M bool 查询结果是否在条件范围内
in_stock_list M list 入库单列表
[{
id M string 入库单ID
settle_supplier_id M string 供应商ID
supplier_customer_id M string 供应商自定义id
supplier_name M string 供应商名称
status M int 入库单状态
date_time M string 建单日期
submit_time M string 入库日期
sku_money M float 入库商品金额(元)
delta_money M float 折帐金额
total_money M float 总金额
}]
}
逻辑:
根据条件拉取入库单列表
/station/stock/in_stock_sheet/new_detail GET 获取入库单详情
接口名: /station/stock/in_stock_sheet/new_detail
Method: GET
请求:
id M string 入库单ID
export O int 是否导出(1:导出;0:不导出 默认0)
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M dict 返回入库单数据
{
id M string 入库单ID
station_id M string 站点ID
settle_supplier_id M string 供应商ID
supplier_customer_id M string 供应商自定义id
supplier_name M string 供应商名称
status M int 入库单状态
date_time M string 建单日期
submit_time M string 入库日期
sku_money M float 入库商品金额(元)
delta_money M float 折帐金额
creator M string 建单人
discount M list 折让信息
[{
action M int 折让类型(1:加钱;2:扣钱)
money M float 折让金额
reason M int 折让原因
remark M string 备注
create_time M string 操作时间
operator M string 操作人
}]
share M list 分摊信息
[{
action M int 分摊类型(1:加钱;2:扣钱)
money M float 分摊金额
reason M int 分摊原因
remark M string 备注
method M int 分摊方式(1:金额分摊;2:数量分摊)
in_sku_logs M list 分摊商品列表
create_time M string 操作时间
operator M string 操作人
}]
type M int 单据类型(1:入库单)
details M list 商品信息
[{
id M string 商品ID
name M string 商品名
desc M string 商品描述
quantity M float 入库数量
unit_price M float 入库单价
std_unit M string 单位
category M string 分类
money M float 金额
operator M string 操作人
spu_id M string spu id
ratio M float 规格转换率
batch_number M string 批次号
life_time M date 保质期
purchase_unit M string 采购单位
shelf_id M int 货位id
shelf_name M string 货位名称(全路径拼成)
}]
}
逻辑:
拉取入库单详情
/station/stock/in_stock_sheet/modify POST 修改入库单
接口名: /station/stock/in_stock_sheet/modify
Method: POST
请求:
id M string 入库单ID
submit_time M string 入库日期
is_submit M int 是否提交(2:提交;1:不提交)
details M list 商品详情
[{
id M string 商品ID
name M string 商品名称
quantity M float 入库数量
unit_price M float 入库单价
std_unit M string 库存基本单位
category M string 分类
ratio M float 规格转换率
batch_number M string 批次号
life_time M date 保质期
purchase_unit M string 采购单位
shelf_id M int 货位id
}]
discount M list 折让信息
[{
action M int 折让类型(1:加钱;2:扣钱)
money M float 折让金额
reason M int 折让原因
remark M string 备注
}]
share M list 分摊信息
[{
action M int 分摊类型(1:加钱;2:扣钱)
money M float 分摊金额
reason M int 分摊原因
remark M string 备注
method M int 分摊方式(1:金额分摊;2:数量分摊)
in_sku_logs M list 分摊商品列表
}]
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M None
逻辑:
获取入库商品信息
计算折让和分摊金额
保存入库单信息
如果是提交入库单
修改入库状态和时间
更新入库记录
增加库存
/station/stock/out_stock_sheet/submit/batch GET 获取要批量出库的出库单数量
接口名: /station/stock/out_stock_sheet/submit/batch
Method: GET
请求:
type M int 查询类型(1:出库时间;2:建单时间;3:运营周期)
start O string 开始时间('YYYY-mm-dd')
end O string 结束时间('YYYY-mm-dd')
time_config_id O string 时间配置
cycle_start_time O string 结束时间('YYYY-mm-dd HH:MM')
cycle_end_time O string 结束时间('YYYY-mm-dd HH:MM')
search_text O string 搜索内容
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M int 返回搜索到的出库单数量
/station/stock/out_stock_sheet/submit/batch POST 批量出库
接口名: /station/stock/out_stock_sheet/submit/batch
Method: POST
请求:
type M int 查询类型(1:出库时间;2:建单时间;3:运营周期)
start O string 开始时间('YYYY-mm-dd')
end O string 结束时间('YYYY-mm-dd')
time_config_id O string 时间配置
cycle_start_time O string 结束时间('YYYY-mm-dd HH:MM')
cycle_end_time O string 结束时间('YYYY-mm-dd HH:MM')
search_text O string 搜索内容
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M dict 返回出库的
{
'success' M list 成功的出库单ID列表
'failed' M list 失败的出库单ID列表
}
逻辑改动
- 拉取库存逻辑兼容新的库存类型(bshop和station)
- 订单生成出库单,订单更新与出库单同步
- 称重同步更新出库记录中库存数量
- 下单更新销售库存,兼容新的库存类型
库存盘点
/station/stock/get 获取库存信息
接口名: /station/stock/get
Method: GET
请求:
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的库存信息
[{
spu_id M string 商品ID
name M string 商品名
station_id M string 站点ID
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 单位
remain M float 剩余库存
avg_price M float 均价
}]
/station/stock/check/template 获取库存模板
接口名: /station/stock/check/template
Method: GET
请求:
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
响应:
excel文件
/station/stock/check/upload 上传库存修改Excel
接口名: /station/stock/check/upload
Method: POST
请求:
file M excel 库存文件
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的库存信息
[{
spu_id M string 商品ID
name M string 商品名
category_name_1 M string 一级分类名称
category_name_2 M string 二级分类名称
std_unit_name M string 单位
old_stock M float 现有库存
new_stock M float 新库存
avg_price M float 均价
}]
/station/stock/check/batch 批量修改库存
接口名: /station/stock/check/batch
Method: POST
请求:
stock_details list M 库存信息
[{
spu_id M string 商品ID
new_stock M float 库存值
remark O string 备注信息
}]
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
/station/stock/edit 编辑库存
接口名: /station/stock/edit
Method: POST
请求:
spu_id M string 商品ID
new_stock M float 库存值
remark O string 备注信息
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
/station/stock/check/batch_number 按照批次盘点
接口名: /station/stock/check/batch_number
Method: GET
请求:
text M str 批次号或者商品名称
offset M int 页数
limit M int 每页数据条数
export O int 1表示导出
响应:
code M int 0为成功,其它为失败
msg M str 提示信息
data M list 新建成功返回数据
data:[
{
batch_number M str 批次号
sku_id M str 入库规格id
sku_name M str 入库规格名
remain M int 库存数
std_unit M str 基本单位
ratio M int 入库规格
purchase_unit M str 采购单位
settle_supplier_id M str 供应商id
supplier_name M str 供应商名称
supplier_customer_id M str 供应商自定义id
shelf_name M str 货位名称
life_time M date 保质期
},
...
]
pagination M obj 分页信息
pagination:{
offset M int 页数
limit M int 每页数据条数
count M int 总数据条数
}
逻辑:
按照批次号盘点库存信息(批次号完整匹配, sku模糊匹配)或者导出库存信息
/station/stock/check/shelf 按照货位盘点
接口名: /station/stock/check/shelf
Method: GET
请求:
text M str 货位号或者商品名称
offset M int 页数
limit M int 每页数据条数
export O int 1表示导出
响应:
code M int 0为成功,其它为失败
msg M str 提示信息
data M list 新建成功返回数据
data:[
{
shelf_name M list 货位号名称
sku_count M int 商品存放数
shelf_details:[
{
sku_id M str 入库规格id
sku_name M str 入库规格名
remain M int 库存数
std_unit M str 基本单位
ratio M int 入库规格
purchase_unit M str 采购单位
},
...
]
},
...
]
pagination M obj 分页信息
pagination:{
offset M int 页数
limit M int 每页数据条数
count M int 总数据条数
}
逻辑:
按照货位号盘点库存信息(货位号模糊匹配并显示全路径货位名称, sku模糊匹配)或者导出库存信息
库存变动记录
/station/stock/in_stock_sku 获取入库记录
接口名: /station/stock/in_stock_sku
Method: GET
请求:
begin M string 开始时间(YYYY-MM-DD)
end M string 结束时间(YYYY-MM-DD)
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的入库信息
[{
sku_id M string 商品ID
spu_id M string 商品ID
name M string 商品名
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 单位
sheet_no M string 入库单号
in_stock_amount M float 入库数
price M float 入库单价(分)
type M int 入库类型(1:'正常入库', 2:'补货入库')
submit_time M string 入库时间
operator M string 操作人
}]
/station/stock/out_stock_sku 获取出库记录
接口名: /station/stock/out_stock_sku
Method: GET
请求:
begin M string 开始时间(YYYY-MM-DD)
end M string 结束时间(YYYY-MM-DD)
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的出库信息
[{
sku_id M string 商品ID
spu_id M string 商品ID
name M string 商品名
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 基本单位
sale_unit_name M string 售卖单位
out_stock_base M float 出库数基本单位
out_stock_sale M float 出库数销售单位
price M float 入库单价(分)
type M int 入库类型(1:'正常出库', 2:'补货出库')
order_id M string 出库单号
create_time M string 出库时间
operator M string 操作人
outer_id M string 自定义编码
}]
/station/stock/return_supply_sku 获取退货记录
接口名: /station/stock/return_supply_sku
Method: GET
请求:
begin M string 开始时间(YYYY-MM-DD)
end M string 结束时间(YYYY-MM-DD)
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的入库信息
[{
sku_id M string 商品ID
spu_id M string 商品ID
name M string 商品名
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 单位
sheet_no M string 入库单号
in_stock_amount M float 入库数
price M float 入库单价(分)
type M int 入库类型(1:'正常入库', 2:'补货入库')
submit_time M string 入库时间
operator M string 操作人
}]
/station/stock/increase 获取报溢信息
接口名: /station/stock/increase
Method: GET
请求:
begin M string 开始时间(YYYY-MM-DD)
end M string 结束时间(YYYY-MM-DD)
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的报溢信息
[{
spu_id M string 商品ID
name M string 商品名
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 单位
increase_amount M float 报溢数
price M float 报溢单价
old_stock M float 抄盘数
operator M string 操作人
create_time M string 时间
remark M string 备注
}]
/station/stock/loss 获取报损信息
接口名: /station/stock/loss
Method: GET
请求:
begin M string 开始时间(YYYY-MM-DD)
end M string 结束时间(YYYY-MM-DD)
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的报损信息
[{
spu_id M string 商品ID
name M string 商品名
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 单位
loss_amount M float 报损数
price M float 报损单价
old_stock M float 抄盘数
operator M string 操作人
create_time M string 时间
remark M string 备注
}]
/station/stock/refund_stock_sku 获取退货入库信息
接口名: /station/stock/refund_stock_sku
Method: GET
请求:
begin M string 开始时间(YYYY-MM-DD)
end M string 结束时间(YYYY-MM-DD)
category_id_1 O string 一级分类ID
category_id_2 O string 二级分类ID
text O string 商品名或者商品ID
offset O int 偏移量 默认0
limit O int 限制数量 默认10
export O int 是否导出(1:导出;2:不导出) 默认0
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的退货入库信息
[{
spu_id M string 商品ID
name M string 商品名
category_id_1 M string 一级分类ID
category_name_1 M string 一级分类名称
category_id_2 M string 二级分类ID
category_name_2 M string 二级分类名称
std_unit_name M string 单位
in_stock_amount M float 入库数
price M float 入库单价
order_id M string 订单ID
operator M string 操作人
create_time M string 时间
accept_std_count M float 销售数量
std_sale_price M float 销售价格
}]
出库表
{ "_id" : "T002-CKD-2016-12-05-00011", # 出库单id "update_time" : ISODate("2016-12-05T14:37:46.742Z"), # 更新时间 "creator" : 2, # 创建人 "out_stock_target" : "111111", # 出库对象 "money" : 15840.0, # 出库金额 "create_time" : ISODate("2016-12-05T14:37:46.742Z"), # 创建时间 "status" : 3, # 出库单状态 "details" : [ { "unit_price" : 720, # 单价 "std_unit" : "斤", # 单位 "id" : "D601830", # id "quantity" : "20", # 数量 "name" : "鲜白云耳", # 名称 "category" : "食用菌菇" # 分类 } ], "out_stock_time" : ISODate("2016-12-05T00:00:00.000Z") # 出库时间 }
出库订单id检测
接口名:station/stock/out_stock_sheet/test_id
Method:GET
请求参数:
id:出库单id
1.拉取出库单列表(需要)ok
接口名:station/stock/out_stock_sheet/list
Method:GET
请求参数:
type M int 时间类型:1-按出库时间搜索;2-按建单时间搜索;
start M date 开始日期
end M date 截止日期
status O int 状态:0-全部单据状态;1-待出库;2-已出库 3-已删除 4-冲销
search_text O string 搜索文本
export O int 是否导出:0-不导出,默认;1-导出;
offset O int 分页offset
limit O int 分页limit
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
data M list 返回json数据,结构看示例
示例:
request:
GET http://teststation.guanmai.cn/station/out_stock_sheet/out?type=1&start_date=2016-10-25&end_date=2016-10-26
response:
{
'code': 0,
'data': [
{
'id':11112, # 出库单ID
'out_stock_target': '商户信息', # 商户信息
'out_stock_time': '2016-10-24', # 出库时间
'money': 1111, # 出库金额
'status': 2, # 状态 }
],
'msg': 'ok',
}
逻辑:
参数校验
接受传入参数
根据传入参数进行查询操作
返回数据
2.拉取出库单详情(需要)
接口名:station/stock/out_stock_sheet/detail/
Method:GET
请求参数:
out_stock_id M int 出库单ID
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
data M json 出库单信息
示例:
request:
GET http://teststation.guanmai.cn/out_stock_sheet/detail?out_stock_id=
response:
{
'code': 0,
'msg': 'ok',
'data': {
'id': '出库单ID',
'stock_target': '商户信息'
'creator': '建单人',
'out_stock_time': '出库时间',
'total_price': 123434,
'status': 1-待出库;2-已出库;3-已删除
'details': [{
'name': '白菜', # 商品名
'category': '叶菜类', # 商品分类
'quantity': 33, # 出库数
'unit_price': 100, # 出库单价
'total_money': 1000 , # 出库金额
'operator': 'k10admin',
'std_unit': "斤" # 单位
}],
'station_id': 'k10admin',
}
}
逻辑:
接受参数
根据参数查询信息
返回数据
3.新建出库单(需要)
接口名:/station/stock/out_stock_sheet/create/
Method:POST
请求参数:
out_stock_target O string 出库对象文本
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
data M json 新建的出库单信息
示例:
request:
POST http://teststation.guanmai.cnstation/out_stock_sheet/create/
POST参数:
out_stock_target: "站点信息"
response:
{
'data': {
'id': '出库单id',
'out_stock_id': '商户id',
'out_stock_target': '商户信息',
'status': 1,
'creator': '建单人',
'out_stock_time': '出库时间',
'total_price': 0
}
'code': 0,
'msg': 'ok',
}
逻辑:
接受新建参数
生成出库单号
返回单号
4.修改出库单(需要)
接口名:/station/stock/out_stock_sheet/modify/
Method:POST
请求参数:
id M int 出库单ID
is_submit M int 1-不提交,2-提交
details M json 商品信息,结构见示例
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
示例:
request:
POST http://teststation.guanmai.cn/station/out_stock_sheet/modify/13133
POST参数:
id: 13133
is_submit: True,
out_stock_time: 2016-11-27 00:00:00
'details': [{
'name': '白菜', # 商品名
'id': 'D00001', # sku_id
'category': '叶菜类', # 商品分类
'quantity': 33, # 出库数
'unit_price': 100, # 出库单价
}]
response:
{
'code': 0,
'msg': 'ok',
}
逻辑:
接受所有参数
校验所有参数是否正确
修改出库单,分摊,折让列表,三个都是整体替换修改
5.出库单冲销(需要)
接口名:/station/stock/out_stock_sheet/cancel/
Method:POST
请求参数:
id M int 出库单ID
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
示例:
request:
GET http://teststation.guanmai.cn/station/out_stock_sheet/cancel?id=
response:
{
'code': 0,
'msg': 'ok',
}
逻辑:
接受参数
逻辑删除出库单
退货表
{ "_id" : "T002-JHTHD-2016-12-09-00002", # id "details" : [ { "name" : "西生菜|块状", # 名字 "creator" : "k10admin", # 创建人 "id" : "D1723443", # sku_id "unit_price" : 681, # 单价 "category" : "甘蓝类", # 分类 "quantity" : "22", # 数量 "std_unit" : "斤" # 单位 } ], "status" : 5, # 状态 "_lock" : false, # 锁 "stock_type" : 2, # 出库类型1-自动 2-补货 "update_time" : ISODate("2016-12-09T19:08:01.379Z"), # 更新时间 "station_id" : "T002", # 站点id "discount" : [ { "remark" : "12", # 备注 "creator" : "k10admin", # 创建人 "money" : "12", # 折让金额 "operate_time" : "2016-12-09", # 操作时间 "action" : "1", # 动作 "reason" : "1" # 原因 } ], "create_time" : ISODate("2016-12-09T19:08:01.379Z"), # 创建时间 "supplier_id" : "T2384", # 供应商id "supplier_name" : "现金自采(钟家平)", # 供应商名字 "creator" : "k10admin", #出库单创建人 "sku_money" : 14982.0, # 总出库金额 "submit_time" : ISODate("2016-12-09T00:00:00.000Z") # 提交时间 }
6.拉取退货供应商列表(需要)
接口名:/station/stock/return_stock_sheet/supplier_list/
Method:GET
请求参数:
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
data M json 返回数据
示例:
request:
GET http://teststation.guanmai.cn/station/return_stock_sheet/get_return_supplier
response:
{
'code': 0,
'msg': 'ok',
'data': [{
'supplier_id': '供应商id',
'supplier_name': '供应商名字'
}]
}
逻辑:
查询所有站点供应商信息
返回信息列表
7.拉取退货单列表(需要)
接口名:/station/stock/return_stock_sheet/list
Method:GET
请求参数:
type M int 时间类型:1-按退货时间搜索;2-按建单时间搜索;
start M date 开始时间
end M date 截止时间
status O int 状态 0-全部,1-待提交,2-已提交待审核,3-审核通过待付款,4-已结款,5-审核不通过,6-已删除
search_text O string 搜索文本
export O int 是否导出:0-不导出,默认;1-导出;
offset O int 分页offset
limit O int 分页limit
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
data M list 返回json数据,结构看示例
示例:
request:
GET http://teststation.guanmai.cn/station/return_stock_sheet/return?type=1&start_date=2016-10-25&end_date=2016-10-26
response:
{
'code': 0,
'data': [
{
'id':11112, # 退货单ID
'return_stock_time': '2016-10-24', # 退货时间
'supplier_id': 'T131', # 供应商ID
‘supplier_name': '阿米巴13', # 供应商名称
'money': 1111, # 退货金额
'status': 2, # 状态 }
],
'msg': 'ok',
}
逻辑:
接受参数
按条件查询退货单列表
返回列表信息
8.拉取退货单详情(需要)
接口名:/station/stock/return_stock_sheet/detail
Method:GET
请求参数:
id M int 退货单ID
export O int 0-不导出,1-导出
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
data M json 退货单单信息
示例:
request:
GET http://teststation.guanmai.cn/station/return_stock_sheet/detail?id?=
response:
{
'code': 0,
'msg': 'ok',
'data': {
'id': 'T002-YLTHD-2016-09-04-00008',
'submit_time': '退货时间',
'creator': '建单人',
'supplier_id': '供应商ID',
'supplier_name': '供应商名字'
'total_price': 12000,
'status': 1-已退货;2-未退货;3-已冲销,
'details': [
{
'id': '商品ID',
'name': '商品ID',
'category': '商品分类'
'quantity': 20, # 退货数
'unit_price': 240, # 退货单价
'total_item_price': 20 x 240, # 退货金额
'operator': 'username',
}
],
// 折让
'discount':[
{
'operate_time': '操作时间',
'reason': 1-运输费用分摊;2-其他费用分摊,
'action': 1-加钱;2-减钱,
'money': 1234,
'remark': '备注',
'operator': '操作人ID',
}
],
'station_id': 'T002',
}
}
逻辑:
接受参数
根据单号查询详细信息
返回详细信息
9.新建退货单(需要)
接口名:/station/stock/return_stock_sheet/create
Method:POST
请求参数:
user M user django用户信息
supplier_id M string 供应商ID
supplier_name M stirng 供应商名称
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
示例:
request:
POST http://teststation.guanmai.cn/station/return_stock_sheet/create
POST参数:
supplier_id:'T131'
supplier_name: '小农女'
response:
{
'code': 0,
'msg': 'ok',
'data': {
'id': 134343, # 退货单id
},
}
逻辑:
接受新建参数
校验参数合法性
新建退货单号
返回退货单号
10.编辑退货单(需要)
接口名:/station/stock/return_stock_sheet/modify
Method:POST
请求参数:
id M int 退货单ID
return_stock_time M date 退货时间
is_submit M 1-保存草稿,2-提交
details M json 原料信息,结构见示例
discount O json 折让信息,结构见示例
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
示例:
request:
POST http://teststation.guanmai.cn/station/return_stock_sheet/update
POST参数:
return_stock_id: 13133
return_stock_time: '2015-02-02 10:00'
supplier_id: '供应商id'
supplier_name: '供应商名字'
is_submit: False
details: [
{
'id': '商品ID',
'name': '商品ID',
'category': '商品分类'
'quantity': 20, # 退货数
'price': 240, # 退货单价
'total_item_price': 20 x 240, # 退货金额
'operator': 'username',
}
]
// 折让
discount:[
{
'operate_time': '操作时间',
'reason': 1-运输费用分摊;2-其他费用分摊,
'action': 1-加钱;2-减钱,
'money': 1234,
'remark': '备注',
'operator': '操作人ID',
}
]
station_id: 'T002'
response:
{
'code': 0,
'msg': 'ok',
}
逻辑:
接受修改参数
校验参数合法性
替换details,分摊,折让列表信息
11.审核退货单(需要)
接口名:/station/stock/return_stock_sheet/review
Method:POST
请求参数:
id M int 出库单ID
is_pass M int 状态1-通过 2-不通过
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
示例:
request:
POST http://teststation.guanmai.cn/station/return_stock_sheet/modify_status
POST参数
id: '退货单id'
status: '状态码'
response:
{
'code': 0,
'msg': 'ok',
}
逻辑:
接受参数
校验当前退货单状态:
已提交:
可修改状态
其他:
不通过
12.退货单冲销(需要)
接口名:/station/stock/return_stock_sheet/cancel
Method:GET
请求参数:
id M int 出库单ID
响应:
code M int 返回码,0表示成功,其他表示错误
msg M string 返回信息
示例:
request:
GET http://teststation.guanmai.cn/station/return_stock_sheet/cancel?id=
response:
{
'code': 0,
'msg': 'ok',
}
逻辑:
接受参数
校验退货单是否能冲销
待提交,已提交:
可冲销
其他:
不可冲销
退货单只有折让没有分摊
退货单折让沿用老接口
添加分摊之后,商品明细不能修改
库存台账
1、库存变动搜索接口station/stock/change_log/list
这个接口用于库存变动搜索
请求:GET
begin M datetime 搜索的开始时间
end M datetime 搜索的结束时间
category_id_1 O list 一级分类
category_id_2 O list 二级分类
change_type O int 库存变动的操作类型,不传的话搜索全部的变动类型
q O string 根据单据号、操作人搜索或商品信息搜索
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认20。传0表示返回所有数据。
offset O int 查询起点偏移条数,默认 0 [注1]
peek O int 是否需要 peek,默认不需要 peek。peek 必须大于 limit。
count O bool 是否需要 count,默认不需要 count。(部分接口可能不实现本功能, 因为如果数据量极大,count 会很耗时)
响应:
code:0
msg:ok
data:{
[
spu_name M string
spu_id M string 商品ID
category1_name M list 一级分类名
category2_name M list 二级分类名
pinlei_name M list 品类名
create_time M datetime 创建时间
sheet_number M string 单据号
change_type M string 库存变动类型
old_stock M float 旧库存
amount M float 库存变动(正数为库存增加,负数为库存减少)
stock M float 变动后库存
old_stock_value M float 变动前货值
stock_value M float 变动后货值
stock_value_change M float 库存货值变动
old_avg_price M float 变动前库存均价
avg_price M float 变动后库存均价
operator M string 操作人
]
}
pagination: { M dict
peek: 100, O int 前端传 peek 的话,后端就会返回这个字段
more: true, M bool 是否有更多数据
page_obj: "gtyuhbgyhbvgyhgvgy", M string
count: 2000 O int 前端传 count 的话,后端就会返回这个字段
}
2、库存变动导出接口station/stock/change_log/export
这个接口用于库存变动搜索
请求:GET
begin M datetime 搜索的开始时间
end M datetime 搜索的结束时间
category_id_1 O list 一级分类
category_id_2 O list 二级分类
change_type O int 库存变动的操作类型,不传的话搜索全部的变动类型
q O string 根据单据号、操作人搜索或商品信息搜索
响应:
code:0
msg:ok
data:{
'task_url': '/task/get/task_id=XXXX'
}
对应的脚本位置 gm_service/tools/celery_tasks/stock_change_log_export.py