stock
可视化货位
数据库变动(增加表)
表名:shelf_spu_details
字段 类型 备注
shelf_id int 货位id
shelf_name str 货位名称
spu_id str 商品id
spu_name str 商品名称
positive_batch_set list 正库存批次集合
positive_remain Double 正库存数
positive_remain_money Double 正库存货值
negative_batch_set list 负库存批次集合
negative_remain Double 负库存数
negative_remain_money Double 负库存货值
station_id string 站点id
group_id string group id
create_time date 创建时间
update_time date 更新时间
表名:remove_shelf_id:
字段:
shelf_id int 删除货位的id
station_id string 站点id
group_id string group id
create_time date 创建时间
按货位搜索统计(实时接口)
/station/stock/in_stock_sheet/material/modify 提交入库
接口
/station/stock/in_stock_sheet/material/modify
Method
post
逻辑:
当提交入库单据时,按 station_id + shelf_id + spu_id 增量更新落表
/station/stock/in_stock_sheet/material/cancel 入库冲销
接口
/station/stock/in_stock_sheet/material/cancel
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/station/stock/in_stock_sheet/material/review 入库审核不通过
接口
/station/stock/in_stock_sheet/material/review
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/out_stock_sheet/modify 出库修改
接口
/stock/out_stock_sheet/modify
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/out_stock_sheet/cancel 出库冲销
接口
/stock/out_stock_sheet/cancel
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/return_stock_sheet/modify 采购退货
接口
/stock/return_stock_sheet/modify
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/return_stock_sheet/cancel 采购退货的冲销
接口
/stock/return_stock_sheet/cancel
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/return_stock_sheet/review 采购退货的审核不通过
接口
/stock/return_stock_sheet/review
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/station/stock/inner_transfer_sheet/create 仓内移库
接口
/station/stock/inner_transfer_sheet/create
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/station/stock/inner_transfer_sheet/update 仓内移库确认移库更新
接口
/station/stock/inner_transfer_sheet/update
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/station/refund/edit 商品退货入库
接口
/station/refund/edit
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/out_stock_sheet/submit/batch 批量销售出库
接口
/stock/out_stock_sheet/submit/batch
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/in_stock_adjust_sheet/modify 调整单
接口
/stock/in_stock_adjust_sheet/modify
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
/stock/check/batch_edit 盘点
接口
/stock/check/batch_edit
Method
post
逻辑:
当入库单被冲销时,按station_id + shelf_id + spu_id 增量更新落表
页面接口
/stock/shelf/get 获取货位信息(修改老接口,去掉了层级的概念)
接口
/stock/shelf/get
Method
get
请求参数:
无
响应:
code : 0
msg : "ok"
data: [
{
level M int 级别
shelf M list 货位信息
}
......
]
其中shelf的内容具体如下:
shelf:[
{
name M str 货位名称
parent_id M str 父id
shelf_id M int 货位id
}
......
]
/stock/shelf/spu/summary 按货位/按商品 搜索统计信息 (新接口)
接口
/stock/shelf/spu/summary
Method
get
请求参数:
shelf_id O int 货位id(未分配:-1)
spu_id O str 商品id
响应:
code : 0
msg : "ok"
若传过来参数为:shelf_id,则返回:
data:
{
spu_sum M int 商品总数
stock_sum M double 库存总数
stock_sum_money M double 库存总货值
}
若传过来参数为:spu_id,则返回:
data:
{
shelf_sum M int 商品总数
stock_sum M double 库存总数
stock_sum_money M double 库存总货值
}
/stock/shelf/spu/list 按货位搜索查询库存大于0的商品列表(包括对搜索结果进行按商品名或id的二次查询)
接口
/stock/shelf/spu/list
Method
get
请求参数:
shelf_id O int 货位id
q O str 商品id/商品名
page_obj O string 起始页(不包含),默认第0页
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
code : 0
msg : "ok"
data:
[
{
spu_id M str 商品id
spu_name M str 商品名称
image M str 商品图片(spu主图)
batch_count M int 该商品的批次数
stock_num M double 该商品的库存数
stock_money M double 该商品的库存货值
}
......
]
pagination:
{
more M bool 是否有更多数据
page_obj M string
}
/stock/shelf/spu_negative/list 按货位搜索查询负库存列表
接口
/stock/shelf/spu_negative/list
Method
get
请求参数:
shelf_id M int 货位id
page_obj O string 起始页(不包含),默认第0页
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
code : 0
msg : "ok"
data:[
{
spu_id M str 商品id
spu_name M str 商品名称
image M str 商品图片(spu主图)
batch_count M int 该商品的批次数
stock_num M double 该商品的库存数
stock_money M double 该商品的库存货值
}
......
]
pagination:
{
more M bool 是否有更多数据
page_obj M string
}
/stock/list 获取商品列表(复用老接口)
接口:
/stock/list
Method
get
请求参数:
category1_ids O list 一级分类
category2_ids O list 二级分类
text O str 商品名称或id
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
具体看页面
/stock/shelf/list 按商品搜索查询货位列表(包括对搜索结果进行按货位名的二次查询)
/stock/shelf/list
Method
get
请求参数:
spu_id O str 商品id
shelf_name O str 货位name
page_obj O string 起始页(不包含),默认第0页
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
code : 0
msg : "ok"
data:
[
{
shelf_root_name M str 总货位目录的名称
shelf_list M list 总货位目录下自货位详情
}
......
]
shelf_list的内容格式如下:
shelf_list:[
{
shelf_name M str 货位名称
is_distribution M bool 是否是未分配区域(未分配:false, 分配:true)
batch_count M int 批次数
stock_num M double 库存数
stock_money M double 库存货值
}
......
]
pagination:
{
more M bool 是否有更多数据
page_obj M string
}
/stock/check/batch_number/list(修改老接口) 按货位搜索后的移库列表/盘点列表/按商品搜索后的盘点列表/以及页面内按存放货位或其他搜索条件的二次搜索
接口
/stock/check/batch_number/list
Method
get
请求参数:
spu_id O str 商品id
shelf_id M int 货位id
view_shelf O int 1:表明是按货位查询时调用的
remain_positive O int 1:表明是拉取正库存列表批次
remain_negative O int 1:表明是拉取负库存列表批次
batch_edit O int 1: 表明是盘点正库存那里,需拉取库存>=0的批次
q O str 过滤条件(供应商或批次)
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
peek O int 页码
响应:
code : 0
msg : "ok"
data:[
{
batch_number O str 批次号
create_time O date 创建时间
life_time O date 保质期
production_time O date 生产日期
remain O double 剩余库存(抄盘数)
settle_supplier_id O str 供应商id
supplier_name O str 供应商name
shelf_id O int 移出货位id
shelf_name O str 移出货位 名称
batch_avg_price O double 批次库存均价
std_unit_name O str 基本单位
}
......
]
pagination:
{
more M bool 是否有更多数据
page_obj M string
peek M int
}
/station/stock/inner_transfer_sheet/create 提交货位移库 (复用老接口)
接口
/station/stock/inner_transfer_sheet/create
Method
post
请求参数:
status
details: [
{
spu_id M str 商品id
out_batch_num M str 移出批次号
remark M str 备注
in_shelf_id M str 移入货位
out_amount M double 移库数
}
......
]
响应:
code : 0
msg : "ok"
data:{
sheet_no M str 移库单号
}
/stock/check/batch_edit 提交盘点功能(批次盘点复用老接口)
接口
/stock/check/batch_edit
Method
post
请求参数:
batch_number M str 批次号
new_remain M double 实盘数
remark O str 备注
响应:
code : 0
msg : "ok"
data : null
/stock/shelf_location/add 增加货位信息(修改老接口)
接口
/stock/shelf_location/add
Method
post
请求参数:
name M str 货位名称
parent_id O int 上层目录id
响应:
code : 0
msg : "ok"
data:{
id M str 货位id
}
/stock/shelf_location/edit 编辑货位信息(复用老接口)
接口
/stock/shelf_location/edit
Method
post
请求参数:
id M str 货位id
new_name M str 新名称
响应:
code : 0
msg : "ok"
data:null
/stock/shelf_location/delete 删除货位信息(修改老接口)
接口
/stock/shelf_location/delete
Method
post
请求参数:
id M str 货位id
响应:
code : 0
msg : "ok"
data:null
脚本(异步任务和定时脚本添加可视化货位修改部分)
tools/celery_tasks/out_stock_new.py 修改
tools/crontab_tasks/update_out_stock_sku.py 修改
刷数据
1.batch_stock_flow 表刷station_id 信息
包括stock/station/script 工程所有实时往batch_stock_flow插入数据的代码中都加上station_id
2.shelf_spu_details 表根据 batch_stock_flow 的数据记录进行刷数据
开发计划
8月20日 ~ 8月23日
实时更新货位表部分:
/station/stock/in_stock_sheet/material/modify
/station/stock/in_stock_sheet/material/cancel
/station/stock/in_stock_sheet/material/review
/stock/out_stock_sheet/modify
/stock/out_stock_sheet/cancel
/stock/return_stock_sheet/modify
8月26日 ~ 8月30日
/stock/return_stock_sheet/cancel
/stock/return_stock_sheet/review
/station/stock/inner_transfer_sheet/create
/station/stock/inner_transfer_sheet/update
/station/refund/edit
/stock/out_stock_sheet/submit/batch
/stock/check/batch_edit
9月2日 ~ 9月6日, 9月9日 ~ 9月13日
按货位查找顶部统计部分, 按货位查找商品列表及页面内搜索,按商品查找货位列表及页面内搜索
开发接口:
/stock/in_stock_adjust_sheet/modify 增加调整单
/stock/shelf/spu/summary (按货位查询/按商品查询,最顶层商品货位统计部分,未分配商品顶部字段统计部分)
/stock/shelf/spu/list (按货位查询,库存大于0的商品列表部分,包括页面内按商品名或id的搜索)
/stock/shelf/spu_negative/list (按货位查询,库存为负的商品列表部分)
/stock/shelf/list (按商品查询,货位列表部分,包括页面内按货位名搜索部分)
/stock/check/batch_number/list(修改老接口) (按货位搜索后的移库列表/盘点列表/按商品搜索后的盘点列表/以及页面内按存放货位或其他搜索条件的二次搜索部分,需修改,满足这些功能,具有兼容性)
9月17日 ~ 9月20日
脚本:
修改脚本 tools/crontab_tasks/update_out_stock_sku.py以及celery脚本
tools/crontab_tasks/update_out_stock_sku.py 修改
刷数据:
stock/station/script 工程所有实时往batch_stock_flow插入数据的代码中都加上station_id
batch_stock_flow 表刷station_id 信息
shelf_spu_details 表根据 batch_stock_flow 的数据记录进行刷数据
联调:9月16号,9月17号,9月18日
测试:9月23日,9月24日,9月25日,9月26日,9月27日