Skip to content

多供应商采购

多供应商采购

  • Author: zhaofei
  • Status: update
  • Type: Standards
  • Created: 2018-10-22

数据库相关

mysql/数据库xnn_core_product_2

CREATE TABLE `tbl_supply_limit`
(
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
    `station_id` varchar(11) NOT NULL COMMENT '站点ID',
    `spec_id` varchar(20) NOT NULL COMMENT "规格",
    `supplier_id` varchar(20) NOT NULL COMMENT "供应商",
    `limit_count` DECIMAL(13,4) NOT NULL  COMMENT '限制数量',
    `create_time` datetime NOT NULL COMMENT '创建时间',
    `update_time` datetime NOT NULL COMMENT '编辑时间',
    `delete_time` datetime NOT NULL DEFAULT "1-1-1 00:00:00" COMMENT '删除时间' ,
    `pstatus` int NOT NULL COMMENT '物理状态' DEFAULT 0,
    `extra1` int NOT NULL default 0 COMMENT '冗余1',
    `extra2` int NOT NULL default 0 COMMENT '冗余2',
    `extra3` int NOT NULL default 0 COMMENT '冗余3',
    `extra4` varchar(128) NOT NULL default '' COMMENT '冗余4',
    `extra5` varchar(128) NOT NULL default '' COMMENT '冗余5',
    `extra6` varchar(128) NOT NULL default '' COMMENT '冗余6',
    `extra7` datetime NOT NULL default "1-1-1 00:00:00" COMMENT '冗余7',
    `extra8` datetime NOT NULL default "1-1-1 00:00:00" COMMENT '冗余8',
    `extra9` datetime NOT NULL default "1-1-1 00:00:00" COMMENT '冗余9',
    `extra10` DECIMAL(15, 4) NOT NULL default 0 COMMENT '冗余10',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uniq_supply_limit` (`spec_id`,`supplier_id`,`delete_time`)
)
权限添加
mysql/数据库xnn_core_product_2

INSERT INTO auth_permission (name,name_en,content_type_id,codename,level2_id) values("编辑供应上限","Edit Supply Limit",22,"edit_supply_limit",21)

/station/task/purchase/search 获取当前采购任务列表

接口描述:  
    获取当前采购任务列表
方法:
    get
请求:
    不变
返回值:
    data    M    dict   任务列表
    [{
        ...
        /*产品文档
        计算方式:
        已分配数=未发布数+已发布数+已完成数;
        已采购数=已发布的已采购数+已完成的采购数;
        剩余可供应数=可供应数-已分配数;
        已选数值=订单A计划采购数+订单B计划采购数+订单C计划采购数;
        */
        tasks   M   diction
        {
            ...
            sale_unit_name  M   str  销售单位// 新增
            // 这两个合起来作为销售规格
            sale_ratio  M   float   销售比例//新增
            ...
        }
        ...
        supply_limit    M    float    单次可供上限制  // 新增加
        last_quote_price    M   dict    最后询问价格  //修改
        {
            earlier   M    list    之前的列表
            [{
              price    float   价钱
              purchase_supplier_id    str   供应商id    
              purchase_supplier_name  str   供应商名字
            }
            ],
            newest    M    dict    最新的
            {
                price   float   价钱
                purchase_supplier_id    str    供应商id
                purchase_supplier_name    str    供应商名字
            }
        }   
        last_purchase_price    M    dict  最后购买价格  //修改
        {
            同last_quote_price
        }
        last_in_stock_price    M    dict  最后入库价格  //修改
        {
            同last_quote_price
        }
            ...  
    }]

/station/task/purchase/change_supply_limit 更改单次上限

接口描述:  
    更改单次上限
方法:
   POST
请求:
    spec_id             M   str 采购规格        
    limit               M   float   上限
    supplier_id         M   str 供应商id
返回值:
    data: NULL
    code: 0
    msg :ok

 }

/station/task/purchase/settle_suppliers_can_change 获取可更换的供货商信息

接口描述:  
    获取可更换的供货商信息
方法:
    GET
请求:
{
    ...
    # 底下三项同task/pruchase/search 参数一样,约束一样,具体可以参考
    q_type  M   str 搜索类型    // 新增
    begin_time M    date    开始时间    // 新增
    end_time M  date    开始时间    // 新增
    time_config_id  M str   时间配置id  // 新增
    ...
}
返回值:
{
    data    M   list
    [
        {
            name    str     供应商名字,
            id  str     供应商号
            supply_remain   float   剩余可供  // 新增
            last_quote_price    float   最近询价  // 新增
            last_purchase_price float   最近购价  // 新增
        }
        {
            ...
        }
    ]
    code: 0
    msg: ok
}

/station/task/purchase/suppliers/summary 总览

接口描述:  
    获取总览
方法:
    GET
请求:
    不变
返回值:
{
    data    M   dict
    {
        purchaser //不变
        suppliers   M   list
        [
            {
                ...
                warning_spec_count  M   int     预警菜品数量 >0  // 新增
                ...
            }
        ]
    }
    code: 0
    msg: ok
}

/station/stock/purchase_sheet/details销售单据-明细列表

接口描述:  
    获取销售单据的明细列表
方法:
    GET
请求:
    不变
返回值:
{
    "code": 0,
    "data": {
        "purchase_sheet": {
            ...
            ...
        },
        "tasks": [{
            "plan_amount": 100.0,
            ...
            sale_ratio  M   float   销售比例    // 新增
            // 这两个合起来作为销售规格
            sale_unit_name  M   str 销售单位    // 新增
            ...
            }]
        },
    "msg": "ok"
}

/station/task/purchase/export 采购任务导出

接口描述:  
    获取销售单据的明细列表
逻辑变动

/station/task/purchase/print 采购任务汇总打印

接口描述:
    打印
方法:
    不变
请求:
    不变
返回值:
    {
        data
        {
            ...
            tasks
            [{
                addresses
                [{
                    res_name
                    ...
                    separate    M   list  // 新增
                    [{
                        plan_purchase_amount    M  float    为合单的数量// 新增
                        remark      M   str  备注     //新增
                    }],  // 新增
                    //
                    第一个值为购买数量,第二个为remark
                    //
                    ]
                    ...
                }]
            }]
            ...
        }
    }

/station/task/purchase/search/supply_limit 获取对应的总采购和计划采购

接口描述:
    获取采购和总采购
方法:
    GET
request
    '''
    参考/station/task/purchase/search
    '''
    {
        q_type  int     M   类型
        begin_time  datetime    M   开始时间
        end_time    datetime    M   结束时间
        supplier_spec   list    M
        [
            {
                "supplier_id"   str M  # 供应商id
                "sku_id"  str   M  # 此处是采购规格id
            }
        ]
        time_config_id  str     O   时间配置
    }
response
    {
        data    list
        [
            {
                "supplier_distribute_amount"    M   float  已经分配数

                "supplier_purchased_amount"     M   float 已经采购
            }
        ]
    }