25个修改点,两人,预计2周 新增接口3个
添加进销存计算方式配置
老逻辑是加权平均计算方式,新增先进先出计算方式 修改方法:
station表中添加stock_method字段
包含:
1, # 加权平均
2, # 先进先出
在新建站点的时候进行添加操作,修改新建站点时交互
新增,修改数据库表结构
新增:批次库存表
station_id str M 站点id * 索引
batch_number str M 批次号 * 索引
remain float M 库存剩余
avg_price int M 批次均价
spu_id str M spu_id
sku_id str M sku_id
create_time datetime M 创建时间
update_time datetime M 修改时间
联合索引:
station_id, batch_number
修改:进销存个log表
1.in_stock_log 入库记录表
2.out_stock_log 出库记录表
3.stock_increase_log 报溢
4.stock_loss_log 报损
新增字段:
old_total_stock_num float M 原总库存
old_batch_stock_num float M 原批次库存
加权平均方式接口修改
入库
station/stock/in_stock_sheet/modify 修改入库单
修改内容:
1.提交的时候在生成入库log处添加新字段
2.提交的时候生成入库log添加批次库存
出库
station/stock/out_stock_sheet/modify 修改出库单
修改内容:
1.提交出库单生成log处添加新字段 2个 原库存 现库存(加权平均计算方式不关心批次,并且在选择的时候没有批次)
成品退货
station/stock/return_stock_sheet/modify
修改内容:
前端无更改。提交退货单生成log记录时添加新字段 2个 原库存 现库存(不关心批次)
商户退货
station/refund/edit
修改内容: 不生成入库单操作,只生成记录
1.提交退货单时,相当于入库操作,按照新的入库来,生成log处添加新字段 原库存,原批次库存,
批次号根据文档新的规范来,不同于正常入库批次号,生成批次库存
批量出库脚本
update_out_stock_sku
修改内容:
1.在生成log处添加库存变动记录字段 2个 原库存 现库存
盘点
station/stock/edit
修改内容:
1.单个盘点,批量盘点在盘点log(报损报溢)添加新字段 2个 原库存,现库存(没有批次)
2.盘点导出表格根据计算方式进行不同内容导出,差别在于是否有批次字段
先进先出方式接口修改
入库
1.同老接口,新增批次库存,批次记录
station/stock/in_stock_sku 入库列表
修改内容:
1.添加批次展示 batch_number
出库
station/stock/get_batch_out 新增 获取出库批次
Method: get
请求:
sku_id str M 销售sku_id
响应:
code M int 0为成功, 其它为失败
msg M str 提示信息
data M list 批次信息
[{
in_stock_time M 入库时间
life_time M 保质期
supplier_id M 供应商id
supplier_name M 供应商名称
batch_number M 批次id
shelf_location_id M 货位id
remain M 剩余库存
}]
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
batch_number M 批次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/out_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',
'batch_number':'PL00101-00001' M 批次id 新增
}
]
// 折让
discount:[
{
'operate_time': '操作时间',
'reason': 1-运输费用分摊;2-其他费用分摊,
'action': 1-加钱;2-减钱,
'money': 1234,
'remark': '备注',
'operator': '操作人ID',
}
]
station_id: 'T002'
response:
{
'code': 0,
'msg': 'ok',
}
逻辑:
1.在原有接口添加先进先出逻辑判断
2.新增逻辑(先进先出):
a.库存扣减针对批次(两种扣减方法,1.单批次 2.多批次:落到最后一个批次上面)
b.出库成本计算新方法(见文档)
c.出库对库存均价新计算方法(见文档)
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': "斤" # 单位
batch_number: "pl2212-00001" # 批次id
}],
'station_id': 'k10admin',
}
}
station/stock/out_stock_sheet/cancel 出库冲销
修改内容:前端无改动。
(有疑问,冲销后的库存均价如何计算,没法用批次计算了)
成品退货
station/stock/get_batch_return 新增 获取退货批次
Method: get
请求:
sku_id str M 采购sku_id
响应:
code M int 0为成功, 其它为失败
msg M str 提示信息
data M list 批次信息
[{
in_stock_time M 入库时间
life_time M 保质期
supplier_id M 供应商id
supplier_name M 供应商名称
batch_number M 批次id
shelf_location_id M 货位id
remain M 剩余库存
}]
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
batch_number M 批次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/return_stock_sheet/modify
修改内容:
detail 里面新增batch_number 表明指定退哪个批次
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',
'batch_number': '批次号',
'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',
}
逻辑:
进销存出库退货修改
1.在原有接口添加先进先出逻辑判断
2.新增逻辑(先进先出):
a.库存增加针对批次(1.单批次)
b.出库成本计算新方法(见文档)
c.出库对库存均价新计算方法(见文档)
station/stock/return_stock_sheet/cancel
修改内容:前端不改
station/stock/return_stock_sheet/detail
修改内容:添加批次显示
Method:GET
请求参数:
id M string 退货单号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': {
'creator':'liyiming'
'date_time':'2017-11-06T11:29:02.663'
'delta_money':0,
id:"T5110-JHTHD-2017-11-06-00001",
settle_supplier_id:"T5166",
sku_money:"12.00",
station_id:"T5110",
status:1,
submit_time:"2017-11-06",
supplier_name:"【一分仓】蔬菜供应商",
type:2,
'details': [{
'name': '白菜', # 商品名
'category': '叶菜类', # 商品分类
'money':12.00,
'quantity': 12, # 退货数
'unit_price': 1.00, # 退货单价
'operator': 'k10admin',
'std_unit': "斤", # 单位
'batch_number': "pl2212-00001", # 批次id
'spu_id':"C706300",
'desc':"-"
}],
'discpunt':[]
}
}
商户退货
station/refund/edit 商户退货修改
修改内容:
新增字段:
shelf_name 货位名称
shelf
refunds:
[
{
"refund_id":11717,
"sku_name":"草鱼|斤",
"solution":"161",
"driver_id":1478,
"in_stock_price":607,
"disabled_in_stock_price":true,
"real_amount":1,
"store_amount":"1",
"request_amount":1,
"description":"",
"shelft_id": "",
"batch_id": "",
"shelf_name":"冷冻仓一楼B",
"shelf_id":71,
"batch_number":"T7442-JHD-2017-11-03-00003-00001"
}
]
1.添加批次的生成批次,添加货位支持
2.添加对库存影新逻辑
station/refund/search 商户退货搜索
修改内容:
1.添加批次支持
成品管理
station/stock/check/batch_edit 新接口 盘点批次修改库存
Method: post
请求:
batch_number str M 批次号
new_remain float M 修改库存
remark str M 备注
响应:
code M int 0为成功, 其它为失败
msg M str 提示信息
data O null
station/stock/check/template 导出模板接口
修改内容:
修改导出模板内容,添加批次信息
station/stock/check/upload 导入模板接口
修改内容:
1.添加计算方式逻辑判断,加权平均还有老的逻辑,先进先出写新的方法
2.根据批次修改(excle里面没有批次的直接略过)
station/stock/check/batch_log 新接口 批次记录信息
Method: get
请求:
start_time datetime M 开始时间
end_time datetime M 结束时间
batch_number str M 批次号
响应:
code M int 0为成功, 其它为失败
msg M str 提示信息
data M list 批次信息
{
sku_id str M 商品id
sku_name str M 商品名称
sale_ratio float M 销售比
std_unit_name str M 标准单位
purchase_unit_name str M 采购单位
batch_number M 批次号
data_list: [{
operate_time datetime M 操作时间
old_stock_number float M 变动前库存
now_stock_number float M 变动后库存
stock_detail str M operator + 动作
}]
}
逻辑:
从各个log表读取批次记录,然后进行汇总
station/stock/increase 报溢记录
修改内容:
1.添加批次展示
station/stock/loss 报损记录
修改内容:
1.添加批次展示
station/stock/refund_stock_sku 商户退货记录
修改内容:
1.添加批次展示