Skip to content

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.添加批次展示